]> gerrit.simantics Code Review - simantics/interop.git/blob - org.simantics.interop/src/org/simantics/interop/test/ResourceComparator.java
ResourceComparator initialization method
[simantics/interop.git] / org.simantics.interop / src / org / simantics / interop / test / ResourceComparator.java
1 package org.simantics.interop.test;
2
3 import org.simantics.db.ReadGraph;
4 import org.simantics.db.Resource;
5 import org.simantics.db.exception.DatabaseException;
6
7 /**
8  * 
9  * @author Marko Luukkainen <marko.luukkainen@vtt.fi>
10  *
11  */
12 public abstract class ResourceComparator {
13         
14         private GraphComparator comparator;
15         
16         void setComparator(GraphComparator comparator) {
17                 this.comparator = comparator;
18         }
19         
20         public GraphComparator getComparator() {
21                 return comparator;
22         }
23         
24         /**
25          * Optional initialization method for overriding implementations.
26          * 
27          * @param g
28      * @param r1 root 1
29      * @param r2 root 2
30          */
31         public void initialize(ReadGraph g, Resource r1, Resource r2) throws DatabaseException {
32             
33         }
34         
35         /**
36          * Compares two resources and returns numeric value of differences, minimum value is 1. 
37          * 
38          * Special values:
39          * Integer.MAX_VALUE: Objects are not comparable.
40          * 0 (zero): Object comparison is not reliable. 
41          * 
42          * Result is same as compare(g, o1, o2, true);
43          * 
44          */
45         public abstract int compare(ReadGraph g, Resource o1, Resource o2) throws DatabaseException;
46         
47         /**
48          * Compares two resources and returns numeric value of differences, minimum value is 1. 
49          * 
50          * Special values:
51          * Integer.MAX_VALUE: Objects are not comparable.
52          * 0 (zero): Object comparison is not reliable. 
53          * 
54          * @param g
55          * @param o1
56          * @param o2
57          * @param local: if true, comparison must not utilise information stored into comparator. 
58          * @return
59          * @throws DatabaseException
60          */
61         public abstract int compare(ReadGraph g, Resource o1, Resource o2, boolean local) throws DatabaseException;
62
63 }