]> gerrit.simantics Code Review - simantics/platform.git/blob - bundles/org.simantics.modeling/src/org/simantics/modeling/PropertyVariables.java
Sync git svn branch with SVN repository r33366.
[simantics/platform.git] / bundles / org.simantics.modeling / src / org / simantics / modeling / PropertyVariables.java
1 package org.simantics.modeling;\r
2 \r
3 import org.simantics.db.ReadGraph;\r
4 import org.simantics.db.exception.DatabaseException;\r
5 import org.simantics.db.layer0.variable.Variable;\r
6 import org.simantics.utils.datastructures.hints.IHintContext;\r
7 \r
8 /**\r
9  * TODO: the IHintContext is just a nasty vimpautus to provide data to the\r
10  * monitor drop participant\r
11  * \r
12  * A property variable must have at least a visualized part,\r
13  * {@link #getModificationVariable()} may return null.\r
14  */\r
15 public interface PropertyVariables extends IHintContext {\r
16 \r
17     /**\r
18      * @return the container of the property\r
19      */\r
20     Variable getContainer();\r
21 \r
22     /**\r
23      * @return the configuration space variable for the property\r
24      */\r
25     Variable getConfiguration();\r
26 \r
27     /**\r
28      * @return the variable to read labeling/other visualisation information\r
29      *         from\r
30      */\r
31     Variable getVisualVariable();\r
32 \r
33     /**\r
34      * @return the variable into which to write modifications to this property\r
35      */\r
36     Variable getModificationVariable();\r
37 \r
38     /**\r
39      * @return\r
40      */\r
41     String getSuffix();\r
42 \r
43     /**\r
44      * To support indexing.\r
45      * \r
46      * @param suffix\r
47      * @return\r
48      */\r
49     PropertyVariables withSuffix(String suffix);\r
50 \r
51     /**\r
52      * @return a new instance where {@link #getVisualVariable()} and\r
53      *         {@link #getModificationVariable()} are both browsed with a suffix\r
54      *         attached to this property variable. {@link #getContainer()}\r
55      *         returns the same value. If this instance has no suffix, this will\r
56      *         be returned.\r
57      */\r
58     PropertyVariables resolved(ReadGraph graph) throws DatabaseException;\r
59 \r
60 }\r