Nuxeo ECM Projects 5.4.3-SNAPSHOT

org.nuxeo.ecm.core.api.model.impl
Class MapProperty

java.lang.Object
  extended by org.nuxeo.ecm.core.api.model.impl.AbstractProperty
      extended by org.nuxeo.ecm.core.api.model.impl.ComplexProperty
          extended by org.nuxeo.ecm.core.api.model.impl.MapProperty
All Implemented Interfaces:
Serializable, Cloneable, Iterable<Property>, Map<String,Property>, Property
Direct Known Subclasses:
ComplexMemberProperty, ExternalBlobProperty

public class MapProperty
extends ComplexProperty

Phantom properties are not stored as children objects.

Author:
Bogdan Stefanescu
See Also:
Serialized Form

Nested Class Summary
 
Nested classes/interfaces inherited from interface java.util.Map
Map.Entry<K,V>
 
Field Summary
 
Fields inherited from class org.nuxeo.ecm.core.api.model.impl.AbstractProperty
IS_READONLY, IS_VALIDATING, KEYED_DATA
 
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
MapProperty(Property parent, Field field)
           
MapProperty(Property parent, Field field, int flags)
           
 
Method Summary
 void accept(PropertyVisitor visitor, Object arg)
          Method that implement the visitor pattern.
 Object clone()
           
 Field getField()
          Gets the field corresponding to this property.
 String getName()
          Gets the property name.
 ComplexType getType()
          Get the type of the field corresponding to this property.
 void internalSetValue(Serializable value)
          Sets the given normalized value.
 boolean isContainer()
          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, containsKey, containsValue, entrySet, get, get, get, getChild, getChildren, getDirtyChildren, getNonPhantomChild, getNonPhantomChildren, getValueForWrite, init, internalGetValue, isEmpty, isNormalized, isSameAs, keySet, normalize, put, putAll, remove, setValue, values, visitChildren
 
Methods inherited from class org.nuxeo.ecm.core.api.model.impl.AbstractProperty
areFlagsSet, clearDirtyFlags, clearFlags, convertTo, getData, getData, getDirtyFlags, getParent, getPath, getRoot, getSchema, getValue, getValue, getValue, getValue, isComplex, isDirty, isList, isModified, isMoved, isNew, isPhantom, isReadOnly, isRemoved, isScalar, isValidating, iterator, moveTo, newInstance, remove, removePhantomFlag, resolvePath, resolvePath, setData, setData, setFlags, setIsModified, setReadOnly, setValidating, setValue, setValue, size, toString, validate, validateType
 
Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, wait, wait, wait
 
Methods inherited from interface java.util.Map
equals, hashCode, size
 

Constructor Detail

MapProperty

public MapProperty(Property parent,
                   Field field)

MapProperty

public MapProperty(Property parent,
                   Field field,
                   int flags)
Method Detail

internalSetValue

public void internalSetValue(Serializable value)
                      throws PropertyException
Description copied from class: AbstractProperty
Sets 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:
internalSetValue in class AbstractProperty
Throws:
PropertyException

isContainer

public boolean isContainer()
Description copied from interface: Property
Whether 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 getValue methods - by collecting the values of the child properties.

Returns:
true if scalar false otherwise

getName

public String getName()
Description copied from interface: Property
Gets the property name.

Returns:
the property name

getType

public ComplexType getType()
Description copied from interface: Property
Get the type of the field corresponding to this property.

Specified by:
getType in interface Property
Specified by:
getType in class ComplexProperty
Returns:
the property type

getField

public Field getField()
Description copied from interface: Property
Gets 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

Returns:

clone

public Object clone()
             throws CloneNotSupportedException
Overrides:
clone in class Object
Throws:
CloneNotSupportedException

accept

public void accept(PropertyVisitor visitor,
                   Object arg)
            throws PropertyException
Description copied from interface: Property
Method 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 accept
arg - an argument passed to the visitor. This should be used by the visitor to carry on the visiting context.
Throws:
PropertyException

Nuxeo ECM Projects 5.4.3-SNAPSHOT

Copyright © 2011 Nuxeo SAS. All Rights Reserved.