Package wt.occurrence
Interface UsesOccurrence
- All Superinterfaces:
wt.fc._NetFactor,wt.fc._ObjectMappable,_Occurrence,wt.fc._Persistable,_UsesOccurrence,NetFactor,ObjectMappable,Occurrence,Persistable,Serializable
- All Known Implementing Classes:
_PartUsesOccurrence,PartUsesOccurrence
@GenAsPersistable(interfaces=Occurrence.class,extendable=true,properties={@GeneratedProperty(name="usesOccurrenceDataIdentifier",type=long.class,javaDoc="This identifier is used to improve efficiency so that many {@link UsesOccurrenceData} objects can have the same foreign key link to this <code>UsesOccurrence</code> and several <code>UsesOccurrence</code> objects can also share this same identifier, but <em>only if all of their associated UsesOccurrenceData objects are the same</em>. If several <code>UsesOccurrence</code>s share the same <code>UsesOccurrenceData</code> objects and one wants to change it (without affecting the others), then it must get a new identifier for itself and make copies of all of its <code>OccurrenceData</code> objects and link to those new copies by putting its new identifier into them as a foreign key. Finally it can change this new set of data as desired without affecting other <code>UsesOccurrence</code>s. Because of the complex management of this attribute it is necessary to call one of the {@link OccurrenceService#saveUsesOccurrenceAndData} methods when saving a {@link UsesOccurrence} (and optionally its associated {@link UsesOccurenceData}.",columnProperties=@ColumnProperties(index=true)),@GeneratedProperty(name="usesOccurrenceIdentifier",type=long.class,supportedAPI=PUBLIC,javaDoc="This identifier is shared by many {@link OccurrenceableLink} objects, all of which represent the same link, except maybe for different iterations or versions of objects being linked. In other words, when the <code>OccurrenceableLink</code> is <em>copied forward</em> this identifier is copied without changing its value.",columnProperties=@ColumnProperties(index=true)),@GeneratedProperty(name="usesOccurrenceGlobalId",type=java.lang.String.class,supportedAPI=PUBLIC,javaDoc="This identifier is similar to usesOccurrenceIdentifier but is globally unique. It is not quaranteed to be populated in old systems.",columnProperties=@ColumnProperties(index=true)),@GeneratedProperty(name="pathOccurrence",type=PathOccurrence.class,javaDoc="This non-persistent {@link PathOccurrence} can be populated to hold the value that applies in a particular situation.",accessors=@PropertyAccessors(setExceptions={}),columnProperties=@ColumnProperties(persistent=false))},foreignKeys={@GeneratedForeignKey(myRoleIsRoleA=false,foreignKeyRole=@ForeignKeyRole(name="link",type=OccurrenceableLink.class,constraints=@PropertyConstraints(required=true),columnProperties=@ColumnProperties(unique=true)),myRole=@MyRole(name="usesOccurrence")),@GeneratedForeignKey(myRoleIsRoleA=false,foreignKeyRole=@ForeignKeyRole(name="context",type=UsesOccurrenceContext.class,constraints=@PropertyConstraints(required=true)),myRole=@MyRole(name="theUsesOccurrence"))},derivedProperties=@DerivedProperty(name="usesName",derivedFrom="name",supportedAPI=PUBLIC),tableProperties=@TableProperties(compositeIndex1="+linkReference.key.id",compositeUnique1="+contextReference.key.id + NVL( name, idA2A2 )"))
public interface UsesOccurrence
extends _UsesOccurrence
This
UsesOccurrence identifies a unique instance of an OccurrenceableLink in order to deal with:
- the ambiguity inherent when links have quantity greater than 1
- the need to hang
UsesOccurrenceDataoff of links - the need to be a part of the path of
UsesOccurrencesthat define aPathOccurrence
The usesOccurrenceIdentifier is used to link to the PathOccurrence;
the usesOccurrenceIdentifier is generated when a brand new
UsesOccurrence is created and then it is preserved when
new copies are made in response to an OccurrenceableLink
being copied forward.
You must use one of the OccurrenceService.saveUsesOccurrenceAndData(wt.occurrence.UsesOccurrence, java.util.Vector)
methods when saving a UsesOccurrence because of a special
optimization that allows UsesOccurrenceData to be managed more
efficiently.
Supported API: true
Extendable: true
-
Field Summary
Fields inherited from interface wt.occurrence._Occurrence
NAME, OCCURRENCE_DATA_VECTORFields inherited from interface wt.occurrence._UsesOccurrence
USES_NAME, USES_OCCURRENCE_GLOBAL_ID, USES_OCCURRENCE_IDENTIFIER -
Method Summary
Modifier and TypeMethodDescriptionbooleanReturns true if theUsesOccurrenceis only used to complete aPathOccurrenceand has no other useful information associated with it.Methods inherited from interface wt.occurrence._Occurrence
getName, getOccurrenceDataVector, setName, setOccurrenceDataVectorMethods inherited from interface wt.occurrence._UsesOccurrence
getUsesName, getUsesOccurrenceGlobalId, getUsesOccurrenceIdentifier, setUsesName, setUsesOccurrenceGlobalId, setUsesOccurrenceIdentifierMethods inherited from interface wt.fc.NetFactor
getClassInfo, getConceptualClassnameMethods inherited from interface wt.fc.ObjectMappable
readExternal, writeExternalMethods inherited from interface wt.fc.Persistable
checkAttributes
-
Method Details
-
isPlaceholder
boolean isPlaceholder()Returns true if theUsesOccurrenceis only used to complete aPathOccurrenceand has no other useful information associated with it.
Supported API: true- Returns:
- boolean
-