Interface PropertyDescriptor

All Known Subinterfaces:
ArcProperty, AttributeProperty, Property, ToManyMapProperty, ToManyProperty, ToOneProperty
All Known Implementing Classes:
BaseArcProperty, BaseProperty, BaseToManyProperty, BaseToOneProperty, SimpleAttributeProperty

public interface PropertyDescriptor
Defines bean property API used by Cayenne to access object data, do faulting and graph maintenance tasks.
Since:
4.0
  • Method Summary

    Modifier and Type Method Description
    String getName()
    Returns property name.
    void injectValueHolder​(Object object)
    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.
    Object readProperty​(Object object)
    Returns a property value, inflating unresolved object if need.
    Object readPropertyDirectly​(Object object)
    Returns a property value of an object without disturbing the object fault status.
    boolean visit​(PropertyVisitor visitor)
    A visitor accept method.
    void writeProperty​(Object object, Object oldValue, Object newValue)
    Sets a property value, inflating unresolved object if need.
    void writePropertyDirectly​(Object object, Object oldValue, Object newValue)
    Sets a property value of an object without disturbing the object fault status.
  • Method Details

    • getName

      String getName()
      Returns property name.
    • readPropertyDirectly

      Object readPropertyDirectly​(Object object) throws PropertyException
      Returns a property value of an object without disturbing the object fault status.
      Throws:
      PropertyException
    • readProperty

      Object readProperty​(Object object) throws PropertyException
      Returns a property value, inflating unresolved object if need.
      Throws:
      PropertyException
    • 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