Package com.sas.metadata.remote
Interface KeyAssociation
- All Superinterfaces:
CMetadata,MdObjectBase,MdObjectBaseUtil,MdObjectBaseXML,Remote,Root,SecondaryType
Represents the relationship between two columns in a foreign key, unique key relationship. For example, if table a has a unique key of columns a1 and a2, and table b has a foreign key, of columns b1 and b2, into table a, there is a keyassociation between the columns that relate to each other, for ex. b1 to a1 and b2 to a2.
Example: create a KeyAssociation with name "KeyAssociation_Object", in repository "AAAAAAAA".
Attributes of KeyAssociation are:
Associations of KeyAssociation are:
Usage
To create an instance of this KeyAssociation, use thefactory
create methods. Example: create a KeyAssociation with name "KeyAssociation_Object", in repository "AAAAAAAA".
// create a store to contain your objects for this change. If you do not have an existing object // or store to use. You may obtain the store from another object by using Object.getObjectStore(). MdFactory factory; //where "factory" is a valid MdFactory instance MdObjectStore objectStore = factory.createObjectStore(); KeyAssociation myObject = (KeyAssociation) factory.createComplexMetadataObject(objectStore, "KeyAssociation_Object", MetadataObjects.KEYASSOCIATION, "AAAAAAAA"); myObject.updateMetadataAll(); // Write object to server objectStore.dispose(); // dispose of the object store if it is no longer needed
Behavior
- Attributes and associations for this object can be retrieved by using the methods in
MdOMIUtil. - When changes are made to the object, either by setting an attribute or adding objects to a particular association,
they can be persisted to the metadata server with the
updateMetadataAllmethod. - If an object needs to be deleted, the
deletemethod can be used. This will flag the object as being deleted on the client, and will require an update call to persist the change to the server.
Dependencies
This class depends on objects being contained in an MdObjectStore. Object stores should be disposed of when they are no longer needed as this will help clean up memory. Disposing an object store will dispose of all objects contained within that store.- Since:
- 9.0
-
Field Summary
FieldsModifier and TypeFieldDescriptionstatic final StringConstant used for the name of the ForeignKeyColumn association.static final StringConstant used for the name of the OwningForeignKey association.static final StringConstant used for the name of the UniqueKeyColumn association.Fields inherited from interface com.sas.metadata.remote.MdObjectBase
ATTRIBUTE_DESC_NAME, ATTRIBUTE_ID_NAME, ATTRIBUTE_METADATACREATED_NAME, ATTRIBUTE_METADATAUPDATED_NAME, ATTRIBUTE_NAME_NAMEFields inherited from interface com.sas.metadata.remote.Root
ASSOCIATION_ACCESSCONTROLS_NAME, ASSOCIATION_CHANGES_NAME, ASSOCIATION_CUSTOMASSOCIATIONS_NAME, ASSOCIATION_DOCUMENTS_NAME, ASSOCIATION_EXTENSIONS_NAME, ASSOCIATION_EXTERNALIDENTITIES_NAME, ASSOCIATION_GROUPS_NAME, ASSOCIATION_IMPLEMENTORS_NAME, ASSOCIATION_KEYWORDS_NAME, ASSOCIATION_LOCALIZEDATTRIBUTES_NAME, ASSOCIATION_NOTES_NAME, ASSOCIATION_PRIMARYPROPERTYGROUP_NAME, ASSOCIATION_PROMPTS_NAME, ASSOCIATION_PROPERTIES_NAME, ASSOCIATION_PROPERTYSETS_NAME, ASSOCIATION_REFERENCEDOBJECTS_NAME, ASSOCIATION_RESPONSIBLEPARTIES_NAME, ASSOCIATION_SOURCETRANSFORMATIONS_NAME, ASSOCIATION_SPECSOURCETRANSFORMATIONS_NAME, ASSOCIATION_SPECTARGETTRANSFORMATIONS_NAME, ASSOCIATION_TARGETTRANSFORMATIONS_NAME, ASSOCIATION_TIMESTAMPS_NAME, ASSOCIATION_TREES_NAME, ASSOCIATION_TSOBJECTNAMESPACE_NAME, ASSOCIATION_USEDBYPROTOTYPES_NAME, ASSOCIATION_USINGPROTOTYPE_NAME, ASSOCIATION_VARIABLES_NAME, ATTRIBUTE_CHANGESTATE_NAME, ATTRIBUTE_LOCKEDBY_NAME, ATTRIBUTE_USAGEVERSION_NAME -
Method Summary
Modifier and TypeMethodDescriptionGets theColumnforForeignKeyColumnGets the AssociationList ofForeignKeyColumnsgetForeignKeyColumns(boolean fGoToServer) Gets the Associationlist ofForeignKeyColumnsGets theForeignKeyforOwningForeignKeyGets the Association list ofOwningForeignKeysgetOwningForeignKeys(boolean fGoToServer) Gets the Associationlist ofOwningForeignKeysGets theColumnforUniqueKeyColumnGets the AssociationList ofUniqueKeyColumnsgetUniqueKeyColumns(boolean fGoToServer) Gets the Associationlist ofUniqueKeyColumnsvoid(S) Adds the Associated objects to the predObjects which are:
ForeignKeyColumn
UniqueKeyColumnvoid(S) This initializes the Required Objects(Roles) which are:
OwningForeignKeyvoidsetForeignKeyColumn(Column inObject) Sets theForeignKeyColumnslist 0th element to beinObject.voidSets theForeignKeyColumnslist to belist.voidsetForeignKeyColumns(AssociationList list, int state) Sets theForeignKeyColumnslist to belist.voidsetOwningForeignKey(ForeignKey inObject) Sets theOwningForeignKeyslist 0th element to beinObject.voidSets theOwningForeignKeyslist to belist.voidsetOwningForeignKeys(AssociationList list, int state) Sets theOwningForeignKeyslist to belist.voidsetUniqueKeyColumn(Column inObject) Sets theUniqueKeyColumnslist 0th element to beinObject.voidSets theUniqueKeyColumnslist to belist.voidsetUniqueKeyColumns(AssociationList list, int state) Sets theUniqueKeyColumnslist to belist.Methods inherited from interface com.sas.metadata.remote.MdObjectBase
addElementToChangeList, clearChangeList, getChangeList, getCMetadataType, getDesc, getDescMaxLength, getDescState, getFQID, getId, getIdState, getMetadataCreated, getMetadataCreatedState, getMetadataUpdated, getMetadataUpdatedState, getName, getNameMaxLength, getNameState, getObjectStore, getPredAssociations, getRepositoryID, getRequiredAssociations, getState, isAssociationRequired, isNewObject, isPredAssociation, removeElementFromChangeList, resetObject, resetState, resetStates, setCMetadataType, setDesc, setDesc, setDescState, setFQID, setFQID, setId, setId, setIdState, setMetadataCreated, setMetadataCreated, setMetadataCreatedState, setMetadataUpdated, setMetadataUpdated, setMetadataUpdatedState, setName, setName, setNameState, setObjectStore, setStateMethods inherited from interface com.sas.metadata.remote.MdObjectBaseUtil
addMdObjectListener, delete, dispose, fireMdObjectModified, getAssociatedObjects, getAssociatedObjects, getAssociatedObjects, getAssociationNames, getAssocs, getAssocsWA, getAttributeNames, getAttrs, getAttrsStates, getAuthorizationUtil, getChangeManagementState, getChgMgtExternalIdentityImportType, getClientSideOnlyObject, getMdObjectAssociation, getPopulatedAssocs, getUpdatedAttrs, getViewList, isCheckedOut, isLocked, objectModified, removeMdObjectListener, setAttrs, setChangeManagementTargetRepository, setChgMgtExternalIdentityImportType, setClientSideOnlyObject, setMdObjectAssociation, touch, updateAssnsIdsMethods inherited from interface com.sas.metadata.remote.MdObjectBaseXML
closeUpdateMetadataXML, createEmptyXML, createObjectRefreshXML, createObjectXML, createObjectXML, createUpdateAssociationXML, createUpdateAssociationXML, createUpdateSimpleXML, doCreateUpdateXML, getUpdateSimpleSubstring, updateMetadataAllMethods inherited from interface com.sas.metadata.remote.Root
getAccessControls, getAccessControls, getChanges, getChanges, getChangeState, getChangeStateMaxLength, getChangeStateState, getCustomAssociations, getCustomAssociations, getDocuments, getDocuments, getExtensions, getExtensions, getExternalIdentities, getExternalIdentities, getGroups, getGroups, getImplementors, getImplementors, getKeywords, getKeywords, getLocalizedAttributes, getLocalizedAttributes, getLockedBy, getLockedByMaxLength, getLockedByState, getNotes, getNotes, getPrimaryPropertyGroup, getPrimaryPropertyGroups, getPrimaryPropertyGroups, getPrompts, getPrompts, getProperties, getProperties, getPropertySets, getPropertySets, getReferencedObjects, getReferencedObjects, getResponsibleParties, getResponsibleParties, getSourceTransformations, getSourceTransformations, getSpecSourceTransformations, getSpecSourceTransformations, getSpecTargetTransformations, getSpecTargetTransformations, getTargetTransformations, getTargetTransformations, getTimestamps, getTimestamps, getTrees, getTrees, getTSObjectNamespace, getTSObjectNamespaces, getTSObjectNamespaces, getUsageVersion, getUsageVersionState, getUsedByPrototypes, getUsedByPrototypes, getUsingPrototype, getUsingPrototypes, getUsingPrototypes, getVariables, getVariables, setAccessControls, setAccessControls, setChanges, setChanges, setChangeState, setChangeState, setChangeStateState, setCustomAssociations, setCustomAssociations, setDocuments, setDocuments, setExtensions, setExtensions, setExternalIdentities, setExternalIdentities, setGroups, setGroups, setImplementors, setImplementors, setKeywords, setKeywords, setLocalizedAttributes, setLocalizedAttributes, setLockedBy, setLockedBy, setLockedByState, setNotes, setNotes, setPrimaryPropertyGroup, setPrimaryPropertyGroups, setPrimaryPropertyGroups, setPrompts, setPrompts, setProperties, setProperties, setPropertySets, setPropertySets, setReferencedObjects, setReferencedObjects, setResponsibleParties, setResponsibleParties, setSourceTransformations, setSourceTransformations, setSpecSourceTransformations, setSpecSourceTransformations, setSpecTargetTransformations, setSpecTargetTransformations, setTargetTransformations, setTargetTransformations, setTimestamps, setTimestamps, setTrees, setTrees, setTSObjectNamespace, setTSObjectNamespaces, setTSObjectNamespaces, setUsageVersion, setUsageVersion, setUsageVersion, setUsageVersion, setUsageVersionState, setUsedByPrototypes, setUsedByPrototypes, setUsingPrototype, setUsingPrototypes, setUsingPrototypes, setVariables, setVariables
-
Field Details
-
ASSOCIATION_FOREIGNKEYCOLUMN_NAME
static final String ASSOCIATION_FOREIGNKEYCOLUMN_NAMEConstant used for the name of the ForeignKeyColumn association.ForeignKeyColumn: The columns that comprise a foreign key. Through this object, the foreign key columns are associated with the columns that comprise a particular unique key.
- See Also:
-
ASSOCIATION_UNIQUEKEYCOLUMN_NAME
static final String ASSOCIATION_UNIQUEKEYCOLUMN_NAMEConstant used for the name of the UniqueKeyColumn association.UniqueKeyColumn: The column that is part of a unique key that is associated through this object with a column that is part of a foreign key.
- See Also:
-
ASSOCIATION_OWNINGFOREIGNKEY_NAME
static final String ASSOCIATION_OWNINGFOREIGNKEY_NAMEConstant used for the name of the OwningForeignKey association.OwningForeignKey: The foreign key associated with this object.
- See Also:
-
-
Method Details
-
initializeRequiredObjects
void initializeRequiredObjects() throws RemoteException(S) This initializes the Required Objects(Roles) which are:
OwningForeignKey- Specified by:
initializeRequiredObjectsin interfaceMdObjectBaseUtil- Specified by:
initializeRequiredObjectsin interfaceRoot- Specified by:
initializeRequiredObjectsin interfaceSecondaryType- Throws:
RemoteException- If error connecting/communicating to/with remote object.
-
initializePredObjects
void initializePredObjects() throws RemoteException(S) Adds the Associated objects to the predObjects which are:
ForeignKeyColumn
UniqueKeyColumn- Specified by:
initializePredObjectsin interfaceMdObjectBase- Specified by:
initializePredObjectsin interfaceRoot- Specified by:
initializePredObjectsin interfaceSecondaryType- Throws:
RemoteException- If error connecting/communicating to/with remote object.
-
getForeignKeyColumns
Gets the AssociationList ofForeignKeyColumns- Returns:
- Returns the AssociationList of
ForeignKeyColumnswhich can be of type:
Column
ColumnRange - Throws:
RemoteException- If error connecting/communicating to/with remote object.MdException
-
getForeignKeyColumn
Gets theColumnforForeignKeyColumn- Returns:
- The
Column(nullif not set) ofForeignKeyColumnwhich can be of type:
Column
ColumnRange - Throws:
RemoteException- If error connecting/communicating to/with remote object.MdException- If error getting/setting part of the object.
-
getUniqueKeyColumns
Gets the AssociationList ofUniqueKeyColumns- Returns:
- Returns the AssociationList of
UniqueKeyColumnswhich can be of type:
Column
ColumnRange - Throws:
RemoteException- If error connecting/communicating to/with remote object.MdException
-
getUniqueKeyColumn
Gets theColumnforUniqueKeyColumn- Returns:
- The
Column(nullif not set) ofUniqueKeyColumnwhich can be of type:
Column
ColumnRange - Throws:
RemoteException- If error connecting/communicating to/with remote object.MdException- If error getting/setting part of the object.
-
getOwningForeignKeys
Gets the Association list ofOwningForeignKeys- Returns:
- The AssociationList of
OwningForeignKeyswhich can be of type:
ForeignKey - Throws:
RemoteException- If error connecting/communicating to/with remote object.MdException- If error getting/setting part of the object.
-
getOwningForeignKey
Gets theForeignKeyforOwningForeignKey- Returns:
- The
ForeignKey(nullif not set ) ofOwningForeignKeywhich can be of type:
ForeignKey - Throws:
RemoteException- If error connecting/communicating to/with remote object.MdException- If error getting/setting part of the object.
-
getForeignKeyColumns
Gets the Associationlist ofForeignKeyColumns- Parameters:
fGoToServer- boolean Get the value from the server.- Returns:
- Returns the AssociationList of
ForeignKeyColumnswhich can be of type:
Column
ColumnRange - Throws:
RemoteException- If error connecting/communicating to/with remote object.MdException- If error getting/setting part of the object.
-
getUniqueKeyColumns
Gets the Associationlist ofUniqueKeyColumns- Parameters:
fGoToServer- boolean Get the value from the server.- Returns:
- Returns the AssociationList of
UniqueKeyColumnswhich can be of type:
Column
ColumnRange - Throws:
RemoteException- If error connecting/communicating to/with remote object.MdException- If error getting/setting part of the object.
-
getOwningForeignKeys
Gets the Associationlist ofOwningForeignKeys- Parameters:
fGoToServer- boolean Get the value from the server.- Returns:
- Returns the
OwningForeignKeyswhich can be of type:
ForeignKey - Throws:
RemoteException- If error connecting/communicating to/with remote object.MdException- If error getting/setting part of the object.
-
setForeignKeyColumns
- Parameters:
list- AssociationList- Throws:
RemoteException- If error communicating with remote object.
-
setForeignKeyColumns
- Parameters:
list- AssociationListstate- int- Throws:
RemoteException- If error communicating with remote object.
-
setForeignKeyColumn
Sets theForeignKeyColumnslist 0th element to beinObject.- Parameters:
inObject- Column- Throws:
RemoteException- If error communicating with remote object.
-
setUniqueKeyColumns
- Parameters:
list- AssociationList- Throws:
RemoteException- If error communicating with remote object.
-
setUniqueKeyColumns
- Parameters:
list- AssociationListstate- int- Throws:
RemoteException- If error communicating with remote object.
-
setUniqueKeyColumn
Sets theUniqueKeyColumnslist 0th element to beinObject.- Parameters:
inObject- Column- Throws:
RemoteException- If error communicating with remote object.
-
setOwningForeignKeys
- Parameters:
list- AssociationList- Throws:
RemoteException- If error communicating with remote object.
-
setOwningForeignKeys
- Parameters:
list- AssociationListstate- int- Throws:
RemoteException- If error communicating with remote object.
-
setOwningForeignKey
Sets theOwningForeignKeyslist 0th element to beinObject.- Parameters:
inObject- ForeignKey- Throws:
RemoteException- If error communicating with remote object.
-