com.sap.tc.mobile.cfs.meta.api
Interface RelationDescriptor

All Superinterfaces:
AbstractDescriptor, StorageTypeDescriptor

public interface RelationDescriptor
extends StorageTypeDescriptor

Relation descriptor. Relation describes a relation between two model classes. These classes don't have to be in the same model.

Author:
d039184

Nested Class Summary
 
Nested classes/interfaces inherited from interface com.sap.tc.mobile.cfs.meta.api.AbstractDescriptor
AbstractDescriptor.Visitor
 
Method Summary
 java.lang.String getAliasName()
          Get relation name.
 AttributeDescriptor getSourceBackingAttribute()
          Get attribute backing this relation in left/source role (for non-virtual relations), to navigate to the target.
 Cardinality getSourceCardinality()
          Get left side cardinality.
 ClassDescriptor getSourceRoleClass()
          Get role class of the left side of the relation.
 java.lang.String getSourceRoleName()
          Get role name of the left side of the relation.
 AttributeDescriptor getTargetBackingAttribute()
          Get attribute backing this relation in right/target role (for non-virtual relations), to navigate back to the source.
 Cardinality getTargetCardinality()
          Get right side cardinality.
 ClassDescriptor getTargetRoleClass()
          Get role class of the right side of the relation.
 java.lang.String getTargetRoleName()
          Get role name of the right side of the relation.
 java.lang.String getTechnicalName()
          Get technical name of the relation.
 boolean isAggregation()
          Get aggregation flag.
 boolean isBidirectional()
          Get bidirectionality flag.
 boolean isVirtual()
          Get virtual relation flag.
 
Methods inherited from interface com.sap.tc.mobile.cfs.meta.api.StorageTypeDescriptor
getStorageType
 
Methods inherited from interface com.sap.tc.mobile.cfs.meta.api.AbstractDescriptor
addUserDescriptor, clearAllUserDescriptors, getUserDescriptor, removeUserDescriptor, visit
 

Method Detail

getTechnicalName

java.lang.String getTechnicalName()
Get technical name of the relation.

Returns:
technical name of the relation.

getAliasName

java.lang.String getAliasName()
Get relation name.

Returns:
relation name.

getSourceRoleName

java.lang.String getSourceRoleName()
Get role name of the left side of the relation.

Returns:
role name of the left side of the relation.

getSourceRoleClass

ClassDescriptor getSourceRoleClass()
Get role class of the left side of the relation.

Returns:
role class of the left side of the relation.

getSourceCardinality

Cardinality getSourceCardinality()
Get left side cardinality.

Returns:
left side cardinality.

getTargetRoleName

java.lang.String getTargetRoleName()
Get role name of the right side of the relation.

Returns:
role name of the right side of the relation.

getTargetRoleClass

ClassDescriptor getTargetRoleClass()
Get role class of the right side of the relation.

Returns:
role class of the right side of the relation.

getTargetCardinality

Cardinality getTargetCardinality()
Get right side cardinality.

Returns:
right side cardinality.

isBidirectional

boolean isBidirectional()
Get bidirectionality flag.

Returns:
true, if the relation is bidirectional (navigable both ways), false if the relation is source to target only.

isAggregation

boolean isAggregation()
Get aggregation flag.

Returns:
true, iff source aggregates instance(s) of target.

getSourceBackingAttribute

AttributeDescriptor getSourceBackingAttribute()
Get attribute backing this relation in left/source role (for non-virtual relations), to navigate to the target.

Returns:
backing attribute in source class.

getTargetBackingAttribute

AttributeDescriptor getTargetBackingAttribute()
Get attribute backing this relation in right/target role (for non-virtual relations), to navigate back to the source.

Returns:

isVirtual

boolean isVirtual()
Get virtual relation flag.

Returns:
true, iff this is a virtual relation (not backed up by attributes in the data store, but by a query).