Interface Property

    • Field Summary

      Fields 
      Modifier and Type Field Description
      static int AGGREGATION_ARRAY
      The array property type
      static int AGGREGATION_COLLECTION
      The collection property type used to aggregate multiple occurrences of a single property
      static int AGGREGATION_MAP
      The map property type used to aggregate multiple occurrences of key/value pairs
      static int COLLECTION
      The collection property type used to create a collection of other properties
      static int COMPLEX
      The bean object property type with simple properties and other bean objects for attributes
      static int MAP
      The map property type
      static int SIMPLE
      The simple property type that cannot hold other properties
    • Field Detail

      • SIMPLE

        static final int SIMPLE
        The simple property type that cannot hold other properties
        See Also:
        Constant Field Values
      • COMPLEX

        static final int COMPLEX
        The bean object property type with simple properties and other bean objects for attributes
        See Also:
        Constant Field Values
      • COLLECTION

        static final int COLLECTION
        The collection property type used to create a collection of other properties
        See Also:
        Constant Field Values
      • AGGREGATION_ARRAY

        static final int AGGREGATION_ARRAY
        The array property type
        See Also:
        Constant Field Values
      • AGGREGATION_COLLECTION

        static final int AGGREGATION_COLLECTION
        The collection property type used to aggregate multiple occurrences of a single property
        See Also:
        Constant Field Values
      • AGGREGATION_MAP

        static final int AGGREGATION_MAP
        The map property type used to aggregate multiple occurrences of key/value pairs
        See Also:
        Constant Field Values
    • Method Detail

      • getName

        java.lang.String getName()
        Returns the property name as configured in the mapping file. The returned property name is used only for error messages and does not necessarily match the attribute name of a parent bean.
        Returns:
        the property name
      • createValue

        java.lang.Object createValue​(ParsingContext context)
        Creates the property value and returns it.
        Parameters:
        context - the ParsingContext
        Returns:
        the property value
      • getValue

        java.lang.Object getValue​(ParsingContext context)
        Returns the value of this property.

        When unmarshalling, this method should return Value.MISSING if the field was not present in the stream. Or if present, but has no value, null should be returned.

        When marshalling, this method should return Value.MISSING for any optional segment bound to a bean object, or null if required. Null field properties should always return Value.MISSING.

        Parameters:
        context - the ParsingContext
        Returns:
        the property value, or Value.MISSING if not present in the stream, or Value.INVALID if the field was invalid
      • setValue

        void setValue​(ParsingContext context,
                      java.lang.Object value)
        Sets the property value (before marshalling).
        Parameters:
        context - the ParsingContext
        value - the property value
      • defines

        boolean defines​(java.lang.Object value)
      • isIdentifier

        boolean isIdentifier()
        Returns whether this property or any of its descendants are used to identify a bean object.
        Returns:
        true if this property identifies a bean
      • setIdentifier

        void setIdentifier​(boolean identifier)
      • getType

        java.lang.Class<?> getType()
      • setType

        void setType​(java.lang.Class<?> type)