Interface PropertyDescriptor

    • Method Detail

      • getName

        String getName()
        Returns property name.
      • writePropertyDirectly

        void writePropertyDirectly​(Object object,
                                   Object oldValue,
                                   Object newValue)
                            throws PropertyException
        Sets a property value of an object without disturbing the object fault status. Old value of the property is specified as a hint and can be ignored by the property implementor.
        Throws:
        PropertyException
      • writeProperty

        void writeProperty​(Object object,
                           Object oldValue,
                           Object newValue)
                    throws PropertyException
        Sets a property value, inflating unresolved object if need. Old value of the property is specified as a hint and can be ignored by the property implementor.
        Throws:
        PropertyException
      • visit

        boolean visit​(PropertyVisitor visitor)
        A visitor accept method.
        Returns:
        a status returned by the corresponding callback method of the visitor. It serves as an indication of whether peer properties processing is still needed.
      • injectValueHolder

        void injectValueHolder​(Object object)
                        throws PropertyException
        If a property is implemented as a ValueHolder, this operation would create an unfaulted value holder and inject it into the object, if an object doesn't have it set yet.
        Throws:
        PropertyException
      • equals

        default boolean equals​(Object value1,
                               Object value2)
        Allows to use special logic to compare values for equality as in rare cases it is not sufficient to use the default equals() method. Default implementation uses Util.nullSafeEquals(Object, Object) method.
        Parameters:
        value1 - to compare
        value2 - to compare
        Returns:
        true if given values are equal
        Since:
        4.2