Interface Property

    • Method Detail

      • getValue

        Object getValue()
        The value or content of the property.

        The class of this object is defined by getType().getBinding().

        This value may be null. In this case getDescriptor().isNillable() would be true.

        Returns:
        The value of the property.
      • setValue

        void setValue​(Object newValue)
        Sets the value or content of the property.

        The class of newValue should be the same as or a subclass of getType().getBinding().

        newValue may be null if getDescriptor().isNillable() is true.

        Parameters:
        newValue - The new value of the property.
      • getType

        PropertyType getType()
        The type of the property.

        The type contains information about the value or content of the property such as its java class.

        This value is also available via getDescriptor().getType().

        Returns:
        The property type.
      • getDescriptor

        PropertyDescriptor getDescriptor()
        The PropertyDscriptor of the property, null if this is a top-level value.

        The descriptor provides information about the property with respect to its containing entity (more often then not a Feature or ComplexAttribute.

        Returns:
        The property descriptor, null if this is a top-level value.
        See Also:
        ComplexAttribute
      • getName

        Name getName()
        The name of the property with respect to its descriptor.

        This method is convenience for getDescriptor().getName().

        Returns:
        name of the property.
      • isNillable

        boolean isNillable()
        Flag indicating if null is an acceptable value for the property.

        This method is convenience for getDescriptor().isNillable().

        Returns:
        true if the value of the property is allowed to be null, otherwise false.
      • getUserData

        Map<Object,​Object> getUserData()
        A map of "user data" which enables applications to store "application-specific" information against a property.

        An example of information that may wish to be stored along with an attribute could be its srs information (in the case of a geometric attribute ).

         
          GeometryAttribute attribute = ...;
        
          //set the crs
          CoordinateReferenceSystem crs = CRS.decode("EPSG:4326");
          attribute.setCRS( crs );
        
          //set the srs
          attribute.getUserData().put( "srs", "EPSG:4326" );
         
         
        Returns:
        A map of user data.
      • hasUserData

        default boolean hasUserData()
        Returns true if the property has a user data map. Can be used to avoid instantiation of Map object in cases where the main code paths won't have any.
        Returns:
        True if there is any user data, false otherwise