org.apache.cayenne.map
Class Relationship

java.lang.Object
  extended by 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.
 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.
 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


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