Class 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:
  • Field Details

    • field

      protected final Field field
      The corresponding field.
  • Constructor Details

    • MapProperty

      public MapProperty(Property parent, Field field)
    • MapProperty

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

    • 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

    • 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