]> gerrit.simantics Code Review - simantics/platform.git/blobdiff - bundles/org.simantics.objmap2/src/org/simantics/objmap/forward/IForwardMappingRule.java
Thread safety changes in objmap2
[simantics/platform.git] / bundles / org.simantics.objmap2 / src / org / simantics / objmap / forward / IForwardMappingRule.java
index d6c707e026b5e5f1086f19599d2d7591d2650a8d..27a1aeb1af216883eb0e686382541abb8bc13025 100644 (file)
@@ -15,6 +15,11 @@ import org.simantics.db.ReadGraph;
 import org.simantics.objmap.exceptions.MappingException;
 
 public interface IForwardMappingRule<Domain, Range> {
+       /**
+        * Check whether a range element needs to be updated due to a change in the range element, without modifying the range element.
+        */
+       boolean checkChanges(ReadGraph graph, IForwardMapping<Domain, Range> mapping, Domain domainElement, Range rangeElement) throws MappingException;
+       
        /**
         * Modifies the range element so that it corresponds to the domain element.
         * @param g read transaction
@@ -24,6 +29,6 @@ public interface IForwardMappingRule<Domain, Range> {
         * @return true if the rule made some modifications
         * @throws MappingException
         */
-       boolean updateRange(ReadGraph graph, IForwardMapping<Domain, Range> mapping, Domain domainElement, Range rangeElement) throws MappingException; 
+       boolean updateRange(ReadGraph graph, IForwardMapping<Domain, Range> mapping, Domain domainElement, Range rangeElement) throws MappingException;
        void createRange(ReadGraph graph, IForwardMapping<Domain, Range> mapping, Domain domainElement, Range rangeElement) throws MappingException;
 }