|
Cool documentation | |||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: INNER | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||
realizes an interface for a row of an Aspect
The data of a ServiceModule is accessible at runtime in form of various Aspects.
Each Aspect contains a collection of AspectRow's, which all have the same structure.
An AspectRow always has a unique Key, where Key, itself is derived from AspectRow.
Likewise the Aspect, it has methods to navigate to related Aspects and AspectRows.
Additionally AspectRow implements ICMIGenericModelClass.
This is necessary to use it as ModelClass from Web Dynpro. Web Dynpro framework only knows this interfaces.
IAspect| Method Summary | |
IAspect |
getAspect()
returns the Aspect this AspectRow belongs to |
IAspectRow |
getAspectRow(java.lang.String aspectName)
returns the AspectRow with the given aspectName to the Key of this AspectRow. |
IAspectRow |
getAspectRow(java.lang.String aspectName,
LockStrategy lockStrategy)
Returns the AspectRow for the given aspectName to the Key of this AspectRow. |
IKey |
getKey()
returns the unique IKey, of this AspectRow |
ILockState |
getLockState()
returns the lock state of this AspectRow |
IMessageList |
getMessages()
Returns the list of messages attached to this AspectRow. |
IAspect |
getRelatedAspect(java.lang.String relationName)
Returns the related Aspect dependent of the Relation with given relationName. |
IAspect |
getRelatedAspect(java.lang.String relationName,
LockStrategy lockStrategy)
Returns the related Aspect dependent of the Relation with given relationName. |
IAspect |
getRelatedAspect(java.lang.String relationName,
LockStrategy lockStrategy,
SortingCriteria sorting)
Returns the related Aspect dependent of the Relation with given relationName. |
IAspect |
getRelatedAspect(java.lang.String relationName,
java.lang.String targetAspectName)
navigates to the Aspect with given targetAspectName according to the relation with given relation name and the given targetAspectName. |
IAspect |
getRelatedAspect(java.lang.String relationName,
java.lang.String targetAspectName,
LockStrategy lockStrategy)
navigates to the Aspect with given targetAspectName according to the relation with given relation name and the given targetAspectName. |
IAspectRow |
getRelatedAspectRow(java.lang.String relationName)
Returns the related AspectRow dependent of the Relation with given relationName or null, if no related AspectRow exists. |
IAspectRow |
getRelatedAspectRow(java.lang.String relationName,
LockStrategy lockStrategy)
Returns the related AspectRow dependent of the Relation with given relationName or null, if no related AspectRow exists. |
IAspectRow |
getRelatedAspectRow(java.lang.String relationName,
java.lang.String targetAspectName)
navigates to the AspectRow with given targetAspectName according to the relation with given relation name and the given targetAspectName. |
IAspectRow |
getRelatedAspectRow(java.lang.String relationName,
java.lang.String targetAspectName,
LockStrategy lockStrategy)
navigates to the AspectRow with given targetAspectName according to the relation with given relation name and the given targetAspectName. |
java.lang.String |
getRelativeKeyUrl()
Returns the key of this row in relative Url format. |
boolean |
isDirty()
Returns true if this AspectRow was changed in the current transaction. |
boolean |
isValid()
Returns true if this AspectRow is valid, otherwise false. |
void |
lock(LockStrategy lockStrategy)
Locks this AspectRow dependent of given parameter lockStrategy and refreshes it after lock is received successfully. |
void |
promoteLock()
Promote a SHARED_PROMOTABLE lock to an EXCLUSIVE lock. |
void |
unlock()
Release any lock previously acquired for this aspect row. |
| Methods inherited from interface com.sap.tc.col.client.generic.api.IStructure |
getAttributeAsString, getAttributeAsString, getAttributeValue, getAttributeValue, getDescriptor, isAttributeInitial, isAttributeInitial, setAttributeValue, setAttributeValue, size, toString |
| Method Detail |
public IKey getKey()
IKey, of this AspectRowKey of this AspectRowpublic IAspect getRelatedAspect(java.lang.String relationName)
Aspect dependent of the Relation with given relationName.
The relationName has to be the name of a relation, starting from this AspectRow or its Key, otherwise
an IllegalArgumentException is thrown.
If this method has been called earlier and if no invalidation occured in the meantime, then
a cached instance of this Aspect will be returned.relationName - the name of the relationnull, if no related aspect existsjava.lang.IllegalArgumentException - relationName is no valid one.
public IAspect getRelatedAspect(java.lang.String relationName,
LockStrategy lockStrategy)
Aspect dependent of the Relation with given relationName.
The relationName has to be the name of a relation, starting from this AspectRow or its Key, otherwise
an IllegalArgumentException is thrown.
if lockStrategy other than nullis set, locking is only possible, if target
Aspect is in state
CLEAN (target Aspect is buffered ) or HOLLOW ( not yet read ). Otherwise it throws an IllegalStateException.
The lock (Shared, SP or Exclusive) resulting from lock strategy is promoted to backend and the Aspect is read or refreshed with this lock.
Cause locking is also possible on AspectRow level, the method checks the consistency of the AspectRows lock states and strategies and
if there are inconsistencies found, an IllegalStateException is thrown.relationName - the name of the relationlockStrategy - indicates which lock strategy is used to lock the target aspect rowsjava.lang.IllegalArgumentException - relationName is no valid Relation for this Aspect or its KeyIllegalStateException - Aspect has no valid state for locking or lock state of the different AspectRows is inconsistent.
public IAspect getRelatedAspect(java.lang.String relationName,
LockStrategy lockStrategy,
SortingCriteria sorting)
Aspect dependent of the Relation with given relationName.
The relationName has to be the name of a relation, starting from this AspectRow or its Key, otherwise
an IllegalArgumentException is thrown.
if lockStrategy other than nullis set, locking is only possible, if target
Aspect is in state
CLEAN (target Aspect is buffered ) or HOLLOW ( not yet read ). Otherwise it throws an IllegalStateException.
The lock (Shared, SP or Exclusive) resulting from lock strategy is promoted to backend and the Aspect is read or refreshed with this lock.
Cause locking is also possible on AspectRow level, the method checks the consistency of the AspectRows lock states and strategies and
if there are inconsistencies found, an IllegalStateException is thrown.
if sorting criteria are set, the target Aspect is sorted (in backend) according to these sorting criteria, but this is only
valid, if the target is not taken from cache. In particular this means, that the sorting parameter only affects the target Aspect, when
the relation is done the first time.relationName - the name of the relationlockMode - indicates how the target aspect rows should be lockedsorting - the sorting criteria for the target Aspectnull, if no related aspect existsjava.lang.IllegalArgumentException - relationName is no valid Relation for this Aspect or its KeyIllegalStateException - Aspect has no valid state for locking or lock state of the different AspectRows is inconsistent.
public IAspect getRelatedAspect(java.lang.String relationName,
java.lang.String targetAspectName)
AspectRow or its Key Aspect, otherwise
an IllegalArgumentException is thrown.
The targetAspect given in method call, may not be the targetAspect of the relation, but could be a sibling Aspect
of this target. Sibling means, that it has the same Key and a 1:1 association.
The method is a convenience method, which replaces the following calls
IAspect targetOfRelation = this.getRelatedAspect(relationName): IAspect targetAspect = targetOfRelation.getAspect(targetAspectName);
relationName - the name of the relationtargetAspectName - the name of the targetAspect to navigate tothrows - IllegalArgumentException, if relationName is no valid one.
public IAspect getRelatedAspect(java.lang.String relationName,
java.lang.String targetAspectName,
LockStrategy lockStrategy)
AspectRow or its Key, otherwise
an IllegalArgumentException is thrown.
The targetAspect given in method call, may not be the targetAspect of the relation, but could be a sibling Aspect
of this target. Sibling means, that it has the same Key and a 1:1 association.
The method is a convenience method, which replaces the following calls
IAspect targetOfRelation = this.getRelatedAspect(relationName): IAspect targetAspect = targetOfRelation.getAspect(targetAspectName);if lockStrategy other than
nullis set, locking is only possible, if target
Aspect is in state
CLEAN (target Aspect is buffered ) or HOLLOW ( not yet read ). Otherwise it throws an IllegalStateException.
The lock (Shared, SP or Exclusive) resulting from lock strategy is promoted to backend and the Aspect is read or refreshed with this lock.
Cause locking is also possible on AspectRow level, the method checks the consistency of the AspectRows lock states and strategies and
if there are inconsistencies found, an IllegalStateException is thrown.relationName - the name of the relationtargetAspectName - the name of the targetAspect to navigate tolockMode - indicates how the target aspect rows should be lockedjava.lang.IllegalArgumentException - relationName is no valid Relation for this Aspect or its KeyIllegalStateException - Aspect has no valid state for locking or lock state of the different AspectRows is inconsistent.public IAspectRow getRelatedAspectRow(java.lang.String relationName)
AspectRow dependent of the Relation with given relationName or null, if no related AspectRow exists.
It throws an IllegalArgumentException, if relationName is no valid one for this AspectRow or Key, or Relation has
cardinality not equal 0..1 or 1.
If this method has been called earlier and if no invalidation occured in the meantime, then
a cached instance of this AspectRow will be returned.
relationName - the name of the relationnull, if nothrows - IllegalArgumentException, if relationName is no valid one.
public IAspectRow getRelatedAspectRow(java.lang.String relationName,
LockStrategy lockStrategy)
AspectRow dependent of the Relation with given relationName or null, if no related AspectRow exists.
It throws an IllegalArgumentException, if relationName is no valid one for this AspectRow or Key, or Relation has
cardinality not equal 0..1 or 1.
if lockStrategy other than
nullis set, locking is only possible, if target
AspectRow is in state
CLEAN (target Aspect is buffered ) or HOLLOW ( not yet read ). Otherwise it throws an IllegalStateException.
The lock (Shared, SP or Exclusive) resulting from lock strategy is promoted to backend and the AspectRow is read or refreshed with this lock.relationName - the name of the relationlockMode - indicates how the target aspect rows should be lockednull, if nojava.lang.IllegalArgumentException - relationName is no valid Relation for this AspectRow or its KeyIllegalStateException - AspectRow has no valid state for locking.
public IAspectRow getRelatedAspectRow(java.lang.String relationName,
java.lang.String targetAspectName)
AspectRow or its Key Aspect, otherwise
an IllegalArgumentException is thrown.
The targetAspect given in method call, may not be the targetAspect of the relation, but could be a sibling Aspect
of this target. Sibling means, that it has the same Key and a 1:1 association.
The method is a convenience method, which replaces the following calls
IAspectRow targetOfRelation = this.getRelatedAspectRow(relationName): IAspectRow targetAspectRow = targetOfRelation.getAspectRow(targetAspectName);
relationName - the name of the relationtargetAspectName - the name of the targetAspect to navigate tothrows - IllegalArgumentException, if relationName is no valid one.
public IAspectRow getRelatedAspectRow(java.lang.String relationName,
java.lang.String targetAspectName,
LockStrategy lockStrategy)
AspectRow or its Key, otherwise
an IllegalArgumentException is thrown.
The targetAspect given in method call, may not be the targetAspect of the relation, but could be a sibling Aspect
of this target. Sibling means, that it has the same Key and a 1:1 association.
The method is a convenience method, which replaces the following calls
IAspectRow targetOfRelation = this.getRelatedAspectRow(relationName): IAspectRow targetAspectRow = targetOfRelation.getAspectRow(targetAspectName);It throws an
IllegalArgumentException, if relationName is no valid one for this AspectRow or Key, or Relation has
cardinality not equal 0..1 or 1.
if lockStrategy other than nullis set, locking is only possible, if target
AspectRow is in state
CLEAN (target Aspect is buffered ) or HOLLOW ( not yet read ). Otherwise it throws an IllegalStateException.
The lock (Shared, SP or Exclusive) resulting from lock strategy is promoted to backend and the AspectRow is read or refreshed with this lock.relationName - the name of the relationtargetAspectName - the name of the targetAspect to navigate tolockMode - indicates how the target aspect rows should be lockedjava.lang.IllegalArgumentException - relationName is no valid Relation for this AspectRow or its KeyIllegalStateException - AspectRow has no valid state for locking.public IAspectRow getAspectRow(java.lang.String aspectName)
AspectRow with the given aspectName to the Key of this AspectRow.If this method has been called earlier and if no invalidation occured in the meantime, then a cached instance of this AspectRow will be returned.
aspectName - the name of the AspectAspectRow in the given Aspect with this Key
public IAspectRow getAspectRow(java.lang.String aspectName,
LockStrategy lockStrategy)
AspectRow for the given aspectName to the Key of this AspectRow.
if lockStrategy other than nullis set, locking is only possible, if target
AspectRow is in state
CLEAN (target Aspect is buffered ) or HOLLOW ( not yet read ). Otherwise it throws an IllegalStateException.
The lock (Shared, SP or Exclusive) resulting from lock strategy is promoted to backend and the AspectRow is read or refreshed with this lock.aspectName - the name of the AspectlockStrategy - indicates, which lock strategy should be used to lock the target aspect rows.AspectRow in the given Aspect with this Keyjava.lang.IllegalArgumentException - relationName is no valid Relation for this AspectRow or its KeyIllegalStateException - AspectRow has no valid state for locking.public IAspect getAspect()
Aspect this AspectRow belongs toAspect this AspectRow belongs topublic IMessageList getMessages()
AspectRow.
To remove these messages explicitly you can call the clear() method of IMessageListAspectRowpublic void promoteLock()
public void lock(LockStrategy lockStrategy)
AspectRow dependent of given parameter lockStrategy and refreshes it after lock is received successfully.lockStrategy - the lock strategy for this AspectRowpublic void unlock()
public ILockState getLockState()
AspectRowAspectRowpublic boolean isValid()
true if this AspectRow is valid, otherwise false. If
this AspectRow is not valid, accessing the AspectRow leads to an IllegalStateException.public boolean isDirty()
true if this AspectRow was changed in the current transaction.considered changes are: update, insert, delete and not readonly Actions, not considered are changes, resulting from side effects.
true, if this AspectRow was changed in the current transaction.public java.lang.String getRelativeKeyUrl()
IAspectDescriptor#getFieldAttributeNames(String,String),
IAspectDescriptor#getFieldAttributeStringValue(String,String,String),
IRelationDescriptor#getAttributeStringValue(String,String)
etc.IllegalStateException - if the key of this row is a local key.
|
Cool documentation | |||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: INNER | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||