Package com.sas.metadata.remote
Interface Join
- All Superinterfaces:
AbstractTransformation,ClassifierMap,CMetadata,MdObjectBase,MdObjectBaseUtil,MdObjectBaseXML,PrimaryType,Remote,Root,Transformation
The output of a Join is limited to one JoinTable. A Join may have at most two inputs. A Join may not exist without a Select.
For nested joins a Join should be documented for each pair of joined tables. For example: Table1 is joined to Table2 that results in JoinTable1. JoinTable1 is then joined with Table3 to create JoinTable2. JoinTable2 now acts as in input into a Select that documents the rows and columns that are to be included in the final output table.
Example: create a Join with name "Join_Object", in repository "AAAAAAAA".
Attributes of Join are:
Associations of Join are:
Usage
To create an instance of this Join, use thefactory
create methods. Example: create a Join with name "Join_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(); Join myObject = (Join) factory.createComplexMetadataObject(objectStore, "Join_Object", MetadataObjects.JOIN, "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 OnForJoin association.static final StringConstant used for the name of the OwningJoinTable association.static final StringConstant used for the name of the JoinType attribute.Fields inherited from interface com.sas.metadata.remote.AbstractTransformation
ASSOCIATION_COMPUTELOCATIONS_NAME, ASSOCIATION_CONDITIONACTIONSETS_NAME, ASSOCIATION_CUSTOMIZERS_NAME, ASSOCIATION_DEPLOYEDCOMPONENTS_NAME, ASSOCIATION_SOURCECODE_NAME, ASSOCIATION_SOURCESPECIFICATIONS_NAME, ASSOCIATION_SUBSTITUTIONVARIABLES_NAME, ASSOCIATION_TARGETSPECIFICATIONS_NAME, ASSOCIATION_TRANSFORMATIONSOURCES_NAME, ASSOCIATION_TRANSFORMATIONTARGETS_NAME, ASSOCIATION_TRIGGEREDEVENTS_NAME, ASSOCIATION_TRIGGERINGEVENTS_NAME, ATTRIBUTE_ISACTIVE_NAME, ATTRIBUTE_ISUSERDEFINED_NAME, ATTRIBUTE_TRANSFORMROLE_NAMEFields inherited from interface com.sas.metadata.remote.ClassifierMap
ASSOCIATION_ASSOCIATEDROWSELECTOR_NAME, ASSOCIATION_CLASSIFIERSOURCES_NAME, ASSOCIATION_CLASSIFIERTARGETS_NAME, ASSOCIATION_FEATUREMAPS_NAMEFields 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.PrimaryType
ASSOCIATION_FAVORITESCONTAINERS_NAME, ATTRIBUTE_ISHIDDEN_NAME, ATTRIBUTE_PUBLICTYPE_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_NAMEFields inherited from interface com.sas.metadata.remote.Transformation
ASSOCIATION_ASSOCIATEDPROMPT_NAME, ASSOCIATION_STEPS_NAME -
Method Summary
Modifier and TypeMethodDescriptionStringGets theStringvalue ofJoinTypeintGets the maximum length ofJoinTypeintGets the Metadata State ofJoinTypeGets theOnClauseforOnForJoinGets the AssociationList ofOnForJoinsgetOnForJoins(boolean fGoToServer) Gets the Associationlist ofOnForJoinsGets theJoinTableforOwningJoinTableGets the AssociationList ofOwningJoinTablesgetOwningJoinTables(boolean fGoToServer) Gets the Associationlist ofOwningJoinTablesvoid(S) Adds the Associated objects to the predObjects which are:
OnForJoin
OwningJoinTablevoid(S) This initializes the Required Objects(Roles) which are:
OwningJoinTablevoidsetJoinType(String inJoinType) Sets theJoinTypevalue and sets the state to MetadataState.LOCAL.voidsetJoinType(String inJoinType, int state) Sets theJoinTypeMetadata State.voidsetJoinTypeState(int state) Sets the Metadata State ofJoinType.voidsetOnForJoin(OnClause inObject) Sets theOnForJoinslist 0th element to beinObject.voidsetOnForJoins(AssociationList list) Sets theOnForJoinslist to belist.voidsetOnForJoins(AssociationList list, int state) Sets theOnForJoinslist to belist.voidsetOwningJoinTable(JoinTable inObject) Sets theOwningJoinTableslist 0th element to beinObject.voidSets theOwningJoinTableslist to belist.voidsetOwningJoinTables(AssociationList list, int state) Sets theOwningJoinTableslist to belist.Methods inherited from interface com.sas.metadata.remote.AbstractTransformation
getComputeLocations, getComputeLocations, getConditionActionSets, getConditionActionSets, getCustomizers, getCustomizers, getDeployedComponents, getDeployedComponents, getIsActive, getIsActiveState, getIsUserDefined, getIsUserDefinedState, getSourceCode, getSourceCodes, getSourceCodes, getSourceSpecifications, getSourceSpecifications, getSubstitutionVariables, getSubstitutionVariables, getTargetSpecifications, getTargetSpecifications, getTransformationSources, getTransformationSources, getTransformationTargets, getTransformationTargets, getTransformRole, getTransformRoleMaxLength, getTransformRoleState, getTriggeredEvents, getTriggeredEvents, getTriggeringEvents, getTriggeringEvents, setComputeLocations, setComputeLocations, setConditionActionSets, setConditionActionSets, setCustomizers, setCustomizers, setDeployedComponents, setDeployedComponents, setIsActive, setIsActive, setIsActive, setIsActive, setIsActiveState, setIsUserDefined, setIsUserDefined, setIsUserDefined, setIsUserDefined, setIsUserDefinedState, setSourceCode, setSourceCodes, setSourceCodes, setSourceSpecifications, setSourceSpecifications, setSubstitutionVariables, setSubstitutionVariables, setTargetSpecifications, setTargetSpecifications, setTransformationSources, setTransformationSources, setTransformationTargets, setTransformationTargets, setTransformRole, setTransformRole, setTransformRoleState, setTriggeredEvents, setTriggeredEvents, setTriggeringEvents, setTriggeringEventsMethods inherited from interface com.sas.metadata.remote.ClassifierMap
getAssociatedRowSelector, getAssociatedRowSelectors, getAssociatedRowSelectors, getClassifierSources, getClassifierSources, getClassifierTargets, getClassifierTargets, getFeatureMaps, getFeatureMaps, setAssociatedRowSelector, setAssociatedRowSelectors, setAssociatedRowSelectors, setClassifierSources, setClassifierSources, setClassifierTargets, setClassifierTargets, setFeatureMaps, setFeatureMapsMethods 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.PrimaryType
getFavoritesContainers, getFavoritesContainers, getIsHidden, getIsHiddenState, getPublicType, getPublicTypeMaxLength, getPublicTypeState, setFavoritesContainers, setFavoritesContainers, setIsHidden, setIsHidden, setIsHidden, setIsHidden, setIsHiddenState, setPublicType, setPublicType, setPublicTypeStateMethods 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, setVariablesMethods inherited from interface com.sas.metadata.remote.Transformation
getAssociatedPrompt, getAssociatedPrompts, getAssociatedPrompts, getSteps, getSteps, setAssociatedPrompt, setAssociatedPrompts, setAssociatedPrompts, setSteps, setSteps
-
Field Details
-
ATTRIBUTE_JOINTYPE_NAME
static final String ATTRIBUTE_JOINTYPE_NAMEConstant used for the name of the JoinType attribute.JoinType: The type of the join (inner, full outer, left outer, right outer).
- See Also:
-
ASSOCIATION_ONFORJOIN_NAME
static final String ASSOCIATION_ONFORJOIN_NAMEConstant used for the name of the OnForJoin association.OnForJoin: The on statement of this join object.
- See Also:
-
ASSOCIATION_OWNINGJOINTABLE_NAME
static final String ASSOCIATION_OWNINGJOINTABLE_NAMEConstant used for the name of the OwningJoinTable association.OwningJoinTable: The result of this join statement.
- See Also:
-
-
Method Details
-
initializeRequiredObjects
void initializeRequiredObjects() throws RemoteException(S) This initializes the Required Objects(Roles) which are:
OwningJoinTable- Specified by:
initializeRequiredObjectsin interfaceAbstractTransformation- Specified by:
initializeRequiredObjectsin interfaceClassifierMap- Specified by:
initializeRequiredObjectsin interfaceMdObjectBaseUtil- Specified by:
initializeRequiredObjectsin interfacePrimaryType- Specified by:
initializeRequiredObjectsin interfaceRoot- Specified by:
initializeRequiredObjectsin interfaceTransformation- 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:
OnForJoin
OwningJoinTable- Specified by:
initializePredObjectsin interfaceAbstractTransformation- Specified by:
initializePredObjectsin interfaceClassifierMap- Specified by:
initializePredObjectsin interfaceMdObjectBase- Specified by:
initializePredObjectsin interfacePrimaryType- Specified by:
initializePredObjectsin interfaceRoot- Specified by:
initializePredObjectsin interfaceTransformation- Throws:
RemoteException- If error connecting/communicating to/with remote object.
-
getJoinType
String getJoinType() throws RemoteExceptionGets theStringvalue ofJoinType- Returns:
- The
JoinType - Throws:
RemoteException- If error connecting/communicating to/with remote object.
-
getJoinTypeState
int getJoinTypeState() throws RemoteExceptionGets the Metadata State ofJoinType- Returns:
- The State.
- Throws:
RemoteException- If error connecting/communicating to/with remote object.
-
getJoinTypeMaxLength
int getJoinTypeMaxLength() throws RemoteExceptionGets the maximum length ofJoinType- Returns:
- The max size
- Throws:
RemoteException- If error connecting/communicating to/with remote object.
-
getOnForJoins
Gets the AssociationList ofOnForJoins- Returns:
- Returns the AssociationList of
OnForJoinswhich can be of type:
OnClause - Throws:
RemoteException- If error connecting/communicating to/with remote object.MdException
-
getOnForJoin
Gets theOnClauseforOnForJoin- Returns:
- The
OnClause(nullif not set) ofOnForJoinwhich can be of type:
OnClause - Throws:
RemoteException- If error connecting/communicating to/with remote object.MdException- If error getting/setting part of the object.
-
getOwningJoinTables
Gets the AssociationList ofOwningJoinTables- Returns:
- Returns the AssociationList of
OwningJoinTableswhich can be of type:
JoinTable - Throws:
RemoteException- If error connecting/communicating to/with remote object.MdException
-
getOwningJoinTable
Gets theJoinTableforOwningJoinTable- Returns:
- The
JoinTable(nullif not set) ofOwningJoinTablewhich can be of type:
JoinTable - Throws:
RemoteException- If error connecting/communicating to/with remote object.MdException- If error getting/setting part of the object.
-
getOnForJoins
Gets the Associationlist ofOnForJoins- Parameters:
fGoToServer- boolean Get the value from the server.- Returns:
- Returns the AssociationList of
OnForJoinswhich can be of type:
OnClause - Throws:
RemoteException- If error connecting/communicating to/with remote object.MdException- If error getting/setting part of the object.
-
getOwningJoinTables
Gets the Associationlist ofOwningJoinTables- Parameters:
fGoToServer- boolean Get the value from the server.- Returns:
- Returns the AssociationList of
OwningJoinTableswhich can be of type:
JoinTable - Throws:
RemoteException- If error connecting/communicating to/with remote object.MdException- If error getting/setting part of the object.
-
setJoinType
void setJoinType(String inJoinType) throws RemoteException Sets theJoinTypevalue and sets the state to MetadataState.LOCAL.- Parameters:
inJoinType- String- Throws:
RemoteException- If error communicating with remote object.
-
setJoinType
void setJoinType(String inJoinType, int state) throws RemoteException Sets theJoinTypeMetadata State.- Parameters:
inJoinType- Stringstate- int- Throws:
RemoteException- If error communicating with remote object.
-
setJoinTypeState
void setJoinTypeState(int state) throws RemoteException Sets the Metadata State ofJoinType.- Parameters:
state- int- Throws:
RemoteException- If error communicating with remote object.
-
setOnForJoins
- Parameters:
list- AssociationList- Throws:
RemoteException- If error communicating with remote object.
-
setOnForJoins
- Parameters:
list- AssociationListstate- int- Throws:
RemoteException- If error communicating with remote object.
-
setOnForJoin
Sets theOnForJoinslist 0th element to beinObject.- Parameters:
inObject- OnClause- Throws:
RemoteException- If error communicating with remote object.
-
setOwningJoinTables
- Parameters:
list- AssociationList- Throws:
RemoteException- If error communicating with remote object.
-
setOwningJoinTables
- Parameters:
list- AssociationListstate- int- Throws:
RemoteException- If error communicating with remote object.
-
setOwningJoinTable
Sets theOwningJoinTableslist 0th element to beinObject.- Parameters:
inObject- JoinTable- Throws:
RemoteException- If error communicating with remote object.
-