Package org.apache.cayenne.reflect

## Interface ArcProperty

- All Superinterfaces:
    `PropertyDescriptor`
  All Known Subinterfaces:
    `ToManyMapProperty`, `ToManyProperty`, `ToOneProperty`
  All Known Implementing Classes:
    `BaseArcProperty`, `BaseToManyProperty`, `BaseToOneProperty`

      public interface ArcProperty
      extends PropertyDescriptor

  A Property that represents an "arc" connecting source node to the target node in the graph.
  Since:
    1.2

- - ### Method Summary

    All Methods Instance Methods Abstract Methods
    Modifier and Type | Method | Description
    --- | --- | ---
    `ArcProperty` | `getComplimentaryReverseArc()` | Returns a complimentary reverse ArcProperty or null if no reverse arc exists.
    `String` | `getComplimentaryReverseDbRelationshipPath()` | Returns a path over reverse DbRelationships for this arc's ObjRelationship.
    `ObjRelationship` | `getRelationship()` | Returns a relationship associated with this arc.
    `ClassDescriptor` | `getTargetDescriptor()` | Returns a ClassDescriptor for the type of graph nodes pointed to by this arc property.
    `void` | `invalidate​(Object object)` | Turns a property of an object into a fault.
    `boolean` | `isFault​(Object source)` | Returns whether a target node connected to a given object is an unresolved fault.

    - ### Methods inherited from interface org.apache.cayenne.reflect.PropertyDescriptor

      `equals, getName, injectValueHolder, readProperty, readPropertyDirectly, visit, writeProperty, writePropertyDirectly`

- - ### Method Detail

    - #### getRelationship

          ObjRelationship getRelationship()

      Returns a relationship associated with this arc.
      Since:
        3.0

    - #### getComplimentaryReverseDbRelationshipPath

          String getComplimentaryReverseDbRelationshipPath()

      Returns a path over reverse DbRelationships for this arc's ObjRelationship.
      Since:
        4.0

    - #### getComplimentaryReverseArc

          ArcProperty getComplimentaryReverseArc()

      Returns a complimentary reverse ArcProperty or null if no reverse arc exists.

    - #### getTargetDescriptor

          ClassDescriptor getTargetDescriptor()

      Returns a ClassDescriptor for the type of graph nodes pointed to by this arc property. Note that considering that a target object may be a subclass of the class handled by the descriptor, users of this method may need to call `ClassDescriptor.getSubclassDescriptor(Class)` before using the descriptor to access objects.

    - #### isFault

          boolean isFault​(Object source)

      Returns whether a target node connected to a given object is an unresolved fault.
      Parameters:
        `source` - an object that is a source object of the relationship.

    - #### invalidate

          void invalidate​(Object object)

      Turns a property of an object into a fault.
      Since:
        3.0