]> gerrit.simantics Code Review - simantics/platform.git/blob - bundles/org.simantics.scl.compiler/src/org/simantics/scl/compiler/elaboration/chr/planning/PrePlanItem.java
Merge "List the unsatisfied dependencies in CanvasContext"
[simantics/platform.git] / bundles / org.simantics.scl.compiler / src / org / simantics / scl / compiler / elaboration / chr / planning / PrePlanItem.java
1 package org.simantics.scl.compiler.elaboration.chr.planning;\r
2 \r
3 public abstract class PrePlanItem {\r
4     int queuePos;\r
5     /* Primary priorities:\r
6      *     0 = check\r
7      *     1 = functional calculation\r
8      *     2 = almost completely bound relation\r
9      *     3 = completely inbound relation\r
10      */\r
11     public double primaryPriority = Double.POSITIVE_INFINITY;\r
12     public int secondaryPriority;\r
13     public long location;\r
14         \r
15     public PrePlanItem(int secondaryPriority) {\r
16         this.secondaryPriority = secondaryPriority;\r
17     }\r
18 \r
19     public int compare(PrePlanItem other) {\r
20         if(primaryPriority < other.primaryPriority)\r
21             return -1;\r
22         if(primaryPriority > other.primaryPriority)\r
23             return 1;\r
24         return Integer.compare(secondaryPriority, other.secondaryPriority);    \r
25     }\r
26 \r
27     public abstract void initializeListeners(QueryPlanningContext context);\r
28     public abstract void variableSolved(QueryPlanningContext context, int variableId);\r
29 \r
30     public abstract void generate(QueryPlanningContext context);\r
31 }\r