Class MapProperty
- java.lang.Object
-
- org.nuxeo.ecm.core.api.model.impl.AbstractProperty
-
- org.nuxeo.ecm.core.api.model.impl.ComplexProperty
-
- org.nuxeo.ecm.core.api.model.impl.MapProperty
-
- All Implemented Interfaces:
Serializable,Cloneable,Iterable<Property>,Map<String,Property>,Property
- Direct Known Subclasses:
BlobProperty,ExternalBlobProperty
public class MapProperty extends ComplexProperty
Phantom properties are not stored as children objects.- Author:
- Bogdan Stefanescu
- See Also:
- Serialized Form
-
-
Field Summary
Fields Modifier and Type Field Description protected FieldfieldThe corresponding field.-
Fields inherited from class org.nuxeo.ecm.core.api.model.impl.ComplexProperty
children
-
Fields inherited from class org.nuxeo.ecm.core.api.model.impl.AbstractProperty
flags, forceDirty, IS_DEPRECATED, IS_READONLY, IS_SECURED, NON_CANON_INDEX, parent
-
Fields inherited from interface org.nuxeo.ecm.core.api.model.Property
DIRTY_MASK, IS_DIRTY, IS_MODIFIED, IS_MOVED, IS_NEW, IS_PHANTOM, IS_REMOVED, NONE
-
-
Constructor Summary
Constructors Constructor Description MapProperty(Property parent, Field field)MapProperty(Property parent, Field field, int flags)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description voidaccept(PropertyVisitor visitor, Object arg)Method that implement the visitor pattern.Objectclone()FieldgetField()Gets the field corresponding to this property.StringgetName()Gets the property name.ComplexTypegetType()Get the type of the field corresponding to this property.voidinternalSetValue(Serializable value)Sets the given normalized value.booleanisContainer()Whether this property is a container - this means the property value is a map or a list.-
Methods inherited from class org.nuxeo.ecm.core.api.model.impl.ComplexProperty
addEmpty, addValue, addValue, clear, clearDirtyFlags, containsKey, containsValue, entrySet, get, get, get, getChild, getChildren, getDefaultValue, getDirtyChildren, getNonPhantomChild, getNonPhantomChildren, getValueForWrite, init, internalGetChild, internalGetValue, isEmpty, isNormalized, isSameAs, keySet, normalize, put, putAll, remove, set, setValue, values, visitChildren
-
Methods inherited from class org.nuxeo.ecm.core.api.model.impl.AbstractProperty
appendDirtyFlags, areFlagsSet, clearFlags, collectPath, computeRemovedProperty, convertTo, getDeprecatedFallback, getDeprecatedParent, getDirtyFlags, getObjectResolver, getParent, getPath, getRoot, getSchema, getValue, getValue, getValue, getValue, getValueDeprecation, getXPath, getXPath, hasDefaultValue, isComplex, isDeprecated, isDirty, isForceDirty, isList, isModified, isMoved, isNew, isPhantom, isReadOnly, isRemoved, isSameValue, isScalar, isSecured, isSecuredForContext, iterator, moveTo, newDeprecatedMessage, newInstance, remove, removePhantomFlag, resolvePath, resolvePath, setDirtyFlags, setFlags, setForceDirty, setIsModified, setIsMoved, setIsNew, setIsRemoved, setReadOnly, setValue, setValue, setValueDeprecation, size, toString, validateType
-
Methods inherited from class java.lang.Object
equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
-
Methods inherited from interface java.lang.Iterable
forEach, spliterator
-
Methods inherited from interface java.util.Map
compute, computeIfAbsent, computeIfPresent, equals, forEach, getOrDefault, hashCode, merge, putIfAbsent, remove, replace, replace, replaceAll, size
-
-
-
-
Field Detail
-
field
protected final Field field
The corresponding field.
-
-
Method Detail
-
internalSetValue
public void internalSetValue(Serializable value) throws PropertyException
Description copied from class:AbstractPropertySets the given normalized value.This applies only for nodes that physically store a value (that means non container nodes). Container nodes does nothing.
- Specified by:
internalSetValuein classAbstractProperty- Throws:
PropertyException
-
isContainer
public boolean isContainer()
Description copied from interface:PropertyWhether this property is a container - this means the property value is a map or a list.Container properties don't have a scalar values. Container values are computed each time they are requested - by calling on of the
getValuemethods - by collecting the values of the child properties.- Returns:
- true if scalar false otherwise
-
getName
public String getName()
Description copied from interface:PropertyGets the property name.- Returns:
- the property name
-
getType
public ComplexType getType()
Description copied from interface:PropertyGet the type of the field corresponding to this property.- Specified by:
getTypein interfaceProperty- Specified by:
getTypein classComplexProperty- Returns:
- the property type
-
getField
public Field getField()
Description copied from interface:PropertyGets the field corresponding to this property.The field is the object defining the property. You can see the field as a java class and the property as a class instance
-
clone
public Object clone() throws CloneNotSupportedException
- Overrides:
clonein classObject- Throws:
CloneNotSupportedException
-
accept
public void accept(PropertyVisitor visitor, Object arg) throws PropertyException
Description copied from interface:PropertyMethod that implement the visitor pattern.The visitor must return null to stop visiting children otherwise a context object that will be passed as the arg argument to children
- Parameters:
visitor- the visitor to acceptarg- an argument passed to the visitor. This should be used by the visitor to carry on the visiting context.- Throws:
PropertyException
-
-