public abstract class ConflictResolutionRule extends java.lang.Object implements StoreConstants
| Modifier and Type | Field and Description | 
|---|---|
static java.lang.String | 
ACTION_DELETE  | 
static java.lang.String | 
ACTION_IGNORE  | 
static java.lang.String | 
ACTION_IGNORE_EMPTY_ITEM  | 
static java.lang.String | 
ACTION_IGNORE_ORDER  | 
static java.lang.String | 
ACTION_MERGE  | 
static java.lang.String | 
ACTION_PREFER_NOT_EMPTY  | 
static java.lang.String | 
ACTION_STORE1  | 
static java.lang.String | 
ACTION_STORE2  | 
static java.lang.String | 
ACTION_UPDATE  | 
ARRAY_FLAG, CLEANING_STATE, COLLECTION_FLAG, CREATE_OP, DELETE_OP, IDLE_STATE, INNER_LOGS, INNER_MILESTONE, INNER_PREFIX, INNER_SYNC, ITEM_ESCAPE_CHAR, ITEM_SEPARATOR, LOADING_STATE, MAP_ASSIGN, MAP_CHARS_TO_ESCAPE, MAP_CLASS_SEPARATOR, MAP_FLAG, NAMESPACE, REVISION, SH_SUFFIX, STORING_STATE, UPDATE_OP| Constructor and Description | 
|---|
ConflictResolutionRule(java.lang.String target)  | 
| Modifier and Type | Method and Description | 
|---|---|
static ConflictResolutionRule | 
buildRule(java.lang.String action,
         java.lang.String target)
Returns a new rule according an action and a target. 
 | 
boolean | 
canResolveAttributeConflict(java.lang.String id,
                           java.lang.String className,
                           java.lang.String attName,
                           java.lang.String value1,
                           java.lang.String value2)
Returns true if the conflict on the given attribute can be resolved by a rule. 
 | 
boolean | 
canResolveCreateCreateConflict(java.lang.String id,
                              java.lang.String className)
Returns true if the Create/Create conflict on the given data can be resolved. 
 | 
boolean | 
canResolveUpdateDeleteConflict(java.lang.String id,
                              java.lang.String className)
Returns true if the Update/Delete conflict on the given data can be resolved. 
 | 
protected java.lang.String[] | 
decodeArray(java.lang.String value)
Returns an String[] from the encoded value. 
 | 
protected java.util.Set<java.lang.String> | 
decodeCollectionOrMapItemSet(java.lang.String value)
Returns a Set from the encoded value. 
 | 
protected java.util.List<java.lang.String> | 
decodeList(java.lang.String value)
Returns a List from the encoded value. 
 | 
java.lang.String | 
getAction()
Returns the name of the action. 
 | 
java.lang.String | 
getResolvedAttributeValue(java.lang.String id,
                         java.lang.String className,
                         java.lang.String attName,
                         java.lang.String value1,
                         java.lang.String value2)
Returns the resolved value for the conflict on the given attribute or null if the conflict must be ignored. 
 | 
protected boolean | 
isArray(java.lang.String value)
Returns true if this value is an array. 
 | 
protected boolean | 
isArrayOrCollectionAttribute(java.lang.String value1,
                            java.lang.String value2)
Returns true if one of the 2 values is an array or a collection. 
 | 
protected boolean | 
isCollection(java.lang.String value)
Returns true if this value is a collection. 
 | 
protected boolean | 
isMap(java.lang.String value)
Returns true if this value is a map. 
 | 
protected boolean | 
isMapAttribute(java.lang.String value1,
              java.lang.String value2)
Returns true if one of the 2 values is a map. 
 | 
protected void | 
parseTarget(java.lang.String target)  | 
java.util.List<StorableLogEntry> | 
resolveCreateCreateConflict(java.util.List<StorableLogEntry> store1OpList,
                           java.util.List<StorableLogEntry> store2OpList)
Returns either store1OpList or store2OpList according the resolution behavior. 
 | 
java.util.List<StorableLogEntry> | 
resolveUpdateDeleteConflict(java.util.List<StorableLogEntry> store1OpList,
                           java.util.List<StorableLogEntry> store2OpList)
Returns either store1OpList or store2OpList according the resolution behavior. 
 | 
protected boolean | 
selectorMatches(java.lang.String id,
               java.lang.String className,
               java.lang.String attName)  | 
java.lang.String | 
toString()  | 
public static final java.lang.String ACTION_IGNORE
public static final java.lang.String ACTION_IGNORE_ORDER
public static final java.lang.String ACTION_IGNORE_EMPTY_ITEM
public static final java.lang.String ACTION_PREFER_NOT_EMPTY
public static final java.lang.String ACTION_MERGE
public static final java.lang.String ACTION_STORE1
public static final java.lang.String ACTION_STORE2
public static final java.lang.String ACTION_UPDATE
public static final java.lang.String ACTION_DELETE
protected void parseTarget(java.lang.String target)
public boolean canResolveAttributeConflict(java.lang.String id,
                                           java.lang.String className,
                                           java.lang.String attName,
                                           java.lang.String value1,
                                           java.lang.String value2)
id - the data idclassName - the data classattName - the name of the attributevalue1 - the value of the attribute in store1value2 - the value of the attribute in store1public java.lang.String getResolvedAttributeValue(java.lang.String id,
                                                  java.lang.String className,
                                                  java.lang.String attName,
                                                  java.lang.String value1,
                                                  java.lang.String value2)
id - the data idclassName - the data classattName - the name of the attributevalue1 - the value of the attribute in store1value2 - the value of the attribute in store1public boolean canResolveCreateCreateConflict(java.lang.String id,
                                              java.lang.String className)
id - the data idclassName - the data classpublic boolean canResolveUpdateDeleteConflict(java.lang.String id,
                                              java.lang.String className)
id - the data idclassName - the data classpublic java.util.List<StorableLogEntry> resolveUpdateDeleteConflict(java.util.List<StorableLogEntry> store1OpList, java.util.List<StorableLogEntry> store2OpList)
store1OpList - the list of operations on the data from store 1store2OpList - the list of operations on the data from store 1public java.util.List<StorableLogEntry> resolveCreateCreateConflict(java.util.List<StorableLogEntry> store1OpList, java.util.List<StorableLogEntry> store2OpList)
store1OpList - the list of operations on the data from store 1store2OpList - the list of operations on the data from store 1protected boolean selectorMatches(java.lang.String id,
                                  java.lang.String className,
                                  java.lang.String attName)
protected boolean isArray(java.lang.String value)
value - the encoded value.protected boolean isCollection(java.lang.String value)
value - the encoded value.protected boolean isMap(java.lang.String value)
value - the encoded value.protected boolean isArrayOrCollectionAttribute(java.lang.String value1,
                                               java.lang.String value2)
value1 - the first valuevalue2 - the second value.protected boolean isMapAttribute(java.lang.String value1,
                                 java.lang.String value2)
value1 - the first valuevalue2 - the second value.protected java.lang.String[] decodeArray(java.lang.String value)
value - the encoded valueprotected java.util.Set<java.lang.String> decodeCollectionOrMapItemSet(java.lang.String value)
value - the encoded valueprotected java.util.List<java.lang.String> decodeList(java.lang.String value)
value - the encoded valuepublic java.lang.String getAction()
public static ConflictResolutionRule buildRule(java.lang.String action, java.lang.String target)
action - the actiontarget - the target.public java.lang.String toString()
toString in class java.lang.ObjectCopyright © 2001-2018 Jalios SA. All Rights Reserved.