Package org.apache.cayenne.map
Class Relationship<E extends Entity<E,A,R>,A extends Attribute<E,A,R>,R extends Relationship<E,A,R>>
java.lang.Object
org.apache.cayenne.map.Relationship<E,A,R>
- All Implemented Interfaces:
Serializable,CayenneMapEntry,XMLSerializable
- Direct Known Subclasses:
DbRelationship,ObjRelationship
public abstract class Relationship<E extends Entity<E,A,R>,A extends Attribute<E,A,R>,R extends Relationship<E,A,R>>
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:
-
Field Summary
Fields -
Constructor Summary
ConstructorsConstructorDescriptionCreates an unnamed relationship.Relationship(String name) Creates a named relationship. -
Method Summary
Modifier and TypeMethodDescriptiongetName()Returns the name property of this object.Returns the parent map.abstract Relationship<E,A, R> Returns a "complimentary" relationship going in the opposite direction.Returns relationship source entity.abstract EReturns a target entity of the relationship.Returns the name of a target entity.abstract booleanReturns if relationship is mandatorybooleanbooleanisToMany()Returns a boolean value that determines relationship multiplicity.voidvoidStores the parent map.voidsetRuntime(boolean synthetic) voidsetSourceEntity(E sourceEntity) Sets relationship source entity.voidsetTargetEntityName(String targetEntityName) Sets the name of relationship target entity.voidsetTargetEntityName(Entity<E, A, R> targetEntity) Sets relationship target entity.toString()Overrides Object.toString() to return informative description.Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, waitMethods inherited from interface org.apache.cayenne.util.XMLSerializable
encodeAsXML
-
Field Details
-
name
-
sourceEntity
-
targetEntityName
-
toMany
protected boolean toMany -
runtime
protected boolean runtimeA flag that specifies whether a Relationship was mapped by the user or added dynamically by Cayenne runtime.- Since:
- 3.0
-
-
Constructor Details
-
Relationship
public Relationship()Creates an unnamed relationship. -
Relationship
Creates a named relationship.
-
-
Method Details
-
getName
Description copied from interface:CayenneMapEntryReturns the name property of this object.- Specified by:
getNamein interfaceCayenneMapEntry- Returns:
- name of this entry.
-
setName
-
getSourceEntity
Returns relationship source entity. -
setSourceEntity
Sets relationship source entity. -
getTargetEntity
Returns a target entity of the relationship. -
setTargetEntityName
Sets relationship target entity. Internally callssetTargetEntityName. -
getTargetEntityName
Returns the name of a target entity. -
setTargetEntityName
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
Description copied from interface:CayenneMapEntryReturns the parent map.- Specified by:
getParentin interfaceCayenneMapEntry
-
setParent
Description copied from interface:CayenneMapEntryStores the parent map.- Specified by:
setParentin interfaceCayenneMapEntry
-
toString
Overrides Object.toString() to return informative description. -
isRuntime
public boolean isRuntime()- Since:
- 3.0
-
setRuntime
public void setRuntime(boolean synthetic) - Since:
- 3.0
-
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
-