Class MongoDBConverter.UpdateBuilder
- java.lang.Object
 - 
- org.nuxeo.ecm.core.storage.mongodb.MongoDBConverter.UpdateBuilder
 
 
- 
- Enclosing class:
 - MongoDBConverter
 
public class MongoDBConverter.UpdateBuilder extends Object
Update list builder to prevent several updates of the same field.This happens if two operations act on two fields where one is a prefix of the other.
Example: Cannot update 'mylist.0.string' and 'mylist' at the same time (error 16837)
- Since:
 - 5.9.5
 
 
- 
- 
Field Summary
Fields Modifier and Type Field Description protected MongoDBConverter.ConditionsAndUpdatesconditionsAndUpdatesprotected org.bson.Documentincprotected Set<String>keysprotected Set<String>prefixKeysprotected org.bson.Documentpullprotected org.bson.Documentpushprotected org.bson.Documentsetprotected org.bson.Documentunsetprotected org.bson.Documentupdate 
- 
Constructor Summary
Constructors Constructor Description UpdateBuilder() 
- 
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description MongoDBConverter.ConditionsAndUpdatesbuild(State.StateDiff diff)protected voidcheckForConflict(String key)Checks if the key conflicts with one of the previous keys.protected booleanconflictKeys(String key, List<String> subkeys)protected List<String>getPrefixKeys(String key)return a list of parents keyprotected voidnewUpdate()protected voidprocessDelta(Delta delta, String prefix)protected voidprocessListDiff(State.ListDiff listDiff, String prefix)protected voidprocessStateDiff(State.StateDiff diff, String prefix)protected voidprocessValue(String name, Serializable value)protected voidupdate(String op, String bsonKey, Object val) 
 - 
 
- 
- 
Field Detail
- 
set
protected final org.bson.Document set
 
- 
unset
protected final org.bson.Document unset
 
- 
push
protected final org.bson.Document push
 
- 
pull
protected final org.bson.Document pull
 
- 
inc
protected final org.bson.Document inc
 
- 
conditionsAndUpdates
protected final MongoDBConverter.ConditionsAndUpdates conditionsAndUpdates
 
- 
update
protected org.bson.Document update
 
 - 
 
- 
Method Detail
- 
build
public MongoDBConverter.ConditionsAndUpdates build(State.StateDiff diff)
 
- 
processStateDiff
protected void processStateDiff(State.StateDiff diff, String prefix)
 
- 
processListDiff
protected void processListDiff(State.ListDiff listDiff, String prefix)
 
- 
processValue
protected void processValue(String name, Serializable value)
 
- 
newUpdate
protected void newUpdate()
 
- 
checkForConflict
protected void checkForConflict(String key)
Checks if the key conflicts with one of the previous keys.A conflict occurs if one key is equals to or is a prefix of the other.
 
 - 
 
 -