Overview | Package | Class | Use | Tree | Deprecated | Index | Help
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

## org.apache.cayenne.map
Class Relationship

    java.lang.Object
      org.apache.cayenne.map.Relationship

All Implemented Interfaces:
  Serializable, CayenneMapEntry, XMLSerializable

Direct Known Subclasses:
  DbRelationship, ObjRelationship

    public abstract class Relationship

extends Object
implements CayenneMapEntry, XMLSerializable, Serializable

Defines a relationship between two entities. In a DataMap graph relationships represent "arcs" connecting entity "nodes". Relationships are directional, i.e. they have a notion of source and target entity. This makes DataMap a "digraph".

See Also:
  Serialized Form

Field Summary
`protected String` | `name`
`protected boolean` | `runtime` A flag that specifies whether a Relationship was mapped by the user or added dynamically by Cayenne runtime.
`protected Entity` | `sourceEntity`
`protected String` | `targetEntityName`
`protected boolean` | `toMany`

Constructor Summary
`Relationship()` Creates an unnamed relationship.
`Relationship(String name)` Creates a named relationship.

Method Summary
`String` | `getName()` Returns the name property of this object.
`Object` | `getParent()` Returns the parent map.
`abstract Relationship` | `getReverseRelationship()` Returns a "complimentary" relationship going in the opposite direction.
`Entity` | `getSourceEntity()` Returns relationship source entity.
`abstract Entity` | `getTargetEntity()` Returns a target entity of the relationship.
`String` | `getTargetEntityName()` Returns the name of a target entity.
`abstract boolean` | `isMandatory()` Returns if relationship is mandatory
`boolean` | `isRuntime()`
`boolean` | `isToMany()` Returns a boolean value that determines relationship multiplicity.
`void` | `setName(String name)`
`void` | `setParent(Object parent)` Stores the parent map.
`void` | `setRuntime(boolean synthetic)`
`void` | `setSourceEntity(Entity sourceEntity)` Sets relationship source entity.
`void` | `setTargetEntity(Entity targetEntity)` Sets relationship target entity.
`void` | `setTargetEntityName(String targetEntityName)` Sets the name of relationship target entity.
`String` | `toString()` Overrides Object.toString() to return informative description.

Methods inherited from class java.lang.Object
`clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait`

Methods inherited from interface org.apache.cayenne.util.XMLSerializable
`encodeAsXML`

Field Detail

### name

    protected String name

### sourceEntity

    protected Entity sourceEntity

### targetEntityName

    protected String targetEntityName

### toMany

    protected boolean toMany

### runtime

    protected boolean runtime

  A flag that specifies whether a Relationship was mapped by the user or added dynamically by Cayenne runtime.

  Since:
    3.0

Constructor Detail

### Relationship

    public Relationship()

  Creates an unnamed relationship.

### Relationship

    public Relationship(String name)

  Creates a named relationship.

Method Detail

### getName

    public String getName()

  Description copied from interface: `CayenneMapEntry`
  Returns the name property of this object.

  Specified by:
    `getName` in interface `CayenneMapEntry`
  Returns:
    name of this entry.

### setName

    public void setName(String name)

### getSourceEntity

    public Entity getSourceEntity()

  Returns relationship source entity.

### setSourceEntity

    public void setSourceEntity(Entity sourceEntity)

  Sets relationship source entity.

### getTargetEntity

    public abstract Entity getTargetEntity()

  Returns a target entity of the relationship.

### setTargetEntity

    public void setTargetEntity(Entity targetEntity)

  Sets relationship target entity. Internally calls `setTargetEntityName`.

### getTargetEntityName

    public String getTargetEntityName()

  Returns the name of a target entity.

### setTargetEntityName

    public void setTargetEntityName(String targetEntityName)

  Sets the name of relationship target entity.

### isToMany

    public boolean isToMany()

  Returns a boolean value that determines relationship multiplicity. This defines semantics of the connection between two nodes described by the source and target entities. E.g. to-many relationship between two Persistent object classes means that a source object would have a collection of target objects. This is a read-only property.

### getParent

    public Object getParent()

  Description copied from interface: `CayenneMapEntry`
  Returns the parent map.

  Specified by:
    `getParent` in interface `CayenneMapEntry`

### setParent

    public void setParent(Object parent)

  Description copied from interface: `CayenneMapEntry`
  Stores the parent map.

  Specified by:
    `setParent` in interface `CayenneMapEntry`

### toString

    public String toString()

  Overrides Object.toString() to return informative description.

  Overrides:
    `toString` in class `Object`

### isRuntime

    public boolean isRuntime()

  Since:
    3.0

### setRuntime

    public void setRuntime(boolean synthetic)

  Since:
    3.0

### getReverseRelationship

    public abstract Relationship getReverseRelationship()

  Returns a "complimentary" relationship going in the opposite direction. Returns null if no such relationship is found.

  Since:
    3.1

### isMandatory

    public abstract boolean isMandatory()

  Returns if relationship is mandatory

  Since:
    3.1

Overview | Package | Class | Use | Tree | Deprecated | Index | Help
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

Copyright © 2001-2013 Apache Cayenne. All Rights Reserved.