Package com.sas.metadata.remote
Interface Prototype
- All Superinterfaces:
CMetadata,MdObjectBase,MdObjectBaseUtil,MdObjectBaseXML,PrimaryType,Remote,Root
Used to create a template for creating other metadata objects or set of metadata objects that represent a concept. Any metadata type may be associated with a prototype. The prototype includes all possible valid options or properties that may be used to describe the metadata object that is represented by the prototype. The prototype may then be used to drive a UI that will aid an end user in the creation of metadata.
The model allows for any metadata type to be considered a prototype, however, there is currently no defined way to specify that the given metadata object is a prototype that does not represent a particular entity. It is recommended that only metadata types that have a role attribute be considered candidates for defining new prototypes. The role attribute is typically used by clients to filter the metadata before displaying to end users.
Example: create a Prototype with name "Prototype_Object", in repository "AAAAAAAA".
Attributes of Prototype are:
Associations of Prototype are:
Usage
To create an instance of this Prototype, use thefactory
create methods. Example: create a Prototype with name "Prototype_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(); Prototype myObject = (Prototype) factory.createComplexMetadataObject(objectStore, "Prototype_Object", MetadataObjects.PROTOTYPE, "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 Associations association.static final StringConstant used for the name of the PrototypeProperties association.static final StringConstant used for the name of the MetadataType attribute.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.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_NAME -
Method Summary
Modifier and TypeMethodDescriptionGets the AssociationList ofAssociationsgetAssociations(boolean fGoToServer) Gets the Associationlist ofAssociationsStringGets theStringvalue ofMetadataTypeintGets the maximum length ofMetadataTypeintGets the Metadata State ofMetadataTypeGets the AssociationList ofPrototypePropertiesgetPrototypeProperties(boolean fGoToServer) Gets the Associationlist ofPrototypePropertiesvoid(S) Adds the Associated objects to the predObjects which are:
Associations
PrototypePropertiesvoid(S) This initializes the Required Objects(Roles) which are:voidSets theAssociationslist to belist.voidsetAssociations(AssociationList inObjects, int state) Sets the entire AssociationList to match the passed in Vector, sets the state of the AssociationListvoidsetMetadataType(String inMetadataType) Sets theMetadataTypevalue and sets the state to MetadataState.LOCAL.voidsetMetadataType(String inMetadataType, int state) Sets theMetadataTypeMetadata State.voidsetMetadataTypeState(int state) Sets the Metadata State ofMetadataType.voidSets thePrototypePropertieslist to belist.voidsetPrototypeProperties(AssociationList inObjects, int state) Sets the entire AssociationList to match the passed in Vector, sets the state of the AssociationListMethods 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, setVariables
-
Field Details
-
ATTRIBUTE_METADATATYPE_NAME
static final String ATTRIBUTE_METADATATYPE_NAMEConstant used for the name of the MetadataType attribute.MetadataType: The metadata type that is described by this prototype. For example, a TCPIPConnection, SoftwareComponent, SASLibrary.
- See Also:
-
ASSOCIATION_ASSOCIATIONS_NAME
static final String ASSOCIATION_ASSOCIATIONS_NAMEConstant used for the name of the Associations association.Associations: The association property objects that are reference this object as the partner in an association.
- See Also:
-
ASSOCIATION_PROTOTYPEPROPERTIES_NAME
static final String ASSOCIATION_PROTOTYPEPROPERTIES_NAMEConstant used for the name of the PrototypeProperties association.PrototypeProperties: The attribute and association properties of this prototype.
- See Also:
-
-
Method Details
-
initializeRequiredObjects
void initializeRequiredObjects() throws RemoteException(S) This initializes the Required Objects(Roles) which are:- Specified by:
initializeRequiredObjectsin interfaceMdObjectBaseUtil- Specified by:
initializeRequiredObjectsin interfacePrimaryType- Specified by:
initializeRequiredObjectsin interfaceRoot- 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:
Associations
PrototypeProperties- Specified by:
initializePredObjectsin interfaceMdObjectBase- Specified by:
initializePredObjectsin interfacePrimaryType- Specified by:
initializePredObjectsin interfaceRoot- Throws:
RemoteException- If error connecting/communicating to/with remote object.
-
getMetadataType
String getMetadataType() throws RemoteExceptionGets theStringvalue ofMetadataType- Returns:
- The
MetadataType - Throws:
RemoteException- If error connecting/communicating to/with remote object.
-
getMetadataTypeState
int getMetadataTypeState() throws RemoteExceptionGets the Metadata State ofMetadataType- Returns:
- The State.
- Throws:
RemoteException- If error connecting/communicating to/with remote object.
-
getMetadataTypeMaxLength
int getMetadataTypeMaxLength() throws RemoteExceptionGets the maximum length ofMetadataType- Returns:
- The max size
- Throws:
RemoteException- If error connecting/communicating to/with remote object.
-
getAssociations
Gets the AssociationList ofAssociations- Returns:
- Returns the AssociationList of
Associationswhich can be of type:
AssociationProperty - Throws:
RemoteException- If error connecting/communicating to/with remote object.MdException- If error getting/setting part of the object.
-
getPrototypeProperties
Gets the AssociationList ofPrototypeProperties- Returns:
- Returns the AssociationList of
PrototypePropertieswhich can be of type:
PrototypeProperty
AttributeProperty
AssociationProperty - Throws:
RemoteException- If error connecting/communicating to/with remote object.MdException- If error getting/setting part of the object.
-
getAssociations
Gets the Associationlist ofAssociations- Parameters:
fGoToServer- boolean Get the value from the server.- Returns:
- Returns the AssociationList of
Associationswhich can be of type:
AssociationProperty - Throws:
RemoteException- If error connecting/communicating to/with remote object.MdException- If error getting/setting part of the object.
-
getPrototypeProperties
Gets the Associationlist ofPrototypeProperties- Parameters:
fGoToServer- boolean Get the value from the server.- Returns:
- Returns the AssociationList of
PrototypePropertieswhich can be of type:
PrototypeProperty
AttributeProperty
AssociationProperty - Throws:
RemoteException- If error connecting/communicating to/with remote object.MdException- If error getting/setting part of the object.
-
setMetadataType
void setMetadataType(String inMetadataType) throws RemoteException Sets theMetadataTypevalue and sets the state to MetadataState.LOCAL.- Parameters:
inMetadataType- String- Throws:
RemoteException- If error communicating with remote object.
-
setMetadataType
void setMetadataType(String inMetadataType, int state) throws RemoteException Sets theMetadataTypeMetadata State.- Parameters:
inMetadataType- Stringstate- int- Throws:
RemoteException- If error communicating with remote object.
-
setMetadataTypeState
void setMetadataTypeState(int state) throws RemoteException Sets the Metadata State ofMetadataType.- Parameters:
state- int- Throws:
RemoteException- If error communicating with remote object.
-
setAssociations
- Parameters:
list- AssociationList- Throws:
RemoteException- If error communicating with remote object.
-
setAssociations
Sets the entire AssociationList to match the passed in Vector, sets the state of the AssociationList- Parameters:
inObjects- AssociationListstate- int- Throws:
RemoteException- If error communicating with remote object.
-
setPrototypeProperties
Sets thePrototypePropertieslist to belist. Objects of which can be of type:
PrototypeProperty
AttributeProperty
AssociationProperty- Parameters:
list- AssociationList- Throws:
RemoteException- If error communicating with remote object.
-
setPrototypeProperties
Sets the entire AssociationList to match the passed in Vector, sets the state of the AssociationList- Parameters:
inObjects- AssociationListstate- int- Throws:
RemoteException- If error communicating with remote object.
-