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
is used to link to the invalid reference
usesOccurrenceIdentifierPathOccurrence;
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.fc._Persistable
PERSIST_INFOFields inherited from interface wt.occurrence._UsesOccurrence
CONTEXT, CONTEXT_REFERENCE, LINK, LINK_REFERENCE, PATH_OCCURRENCE, USES_NAME, USES_OCCURRENCE_DATA_IDENTIFIER, USES_OCCURRENCE_GLOBAL_ID, USES_OCCURRENCE_IDENTIFIERFields inherited from interface wt.fc.Persistable
IDENTITY, TYPE -
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.fc._Persistable
getPersistInfo, setPersistInfoMethods inherited from interface wt.occurrence._UsesOccurrence
getContext, getContextReference, getLink, getLinkReference, getPathOccurrence, getUsesName, getUsesOccurrenceDataIdentifier, getUsesOccurrenceGlobalId, getUsesOccurrenceIdentifier, setContext, setContextReference, setLink, setLinkReference, setPathOccurrence, setUsesName, setUsesOccurrenceDataIdentifier, 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, getIdentity, getType
-
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
-