com.sas.metadata.remote
Interface AccessControlTemplate

All Superinterfaces:
AccessControl, CMetadata, MdObjectBase, MdObjectBaseUtil, MdObjectBaseXML, PrimaryType, java.rmi.Remote, Root

public interface AccessControlTemplate
extends AccessControl

The AccessControlTemplate (ACT) metadata type enables you to define a template of individual users, groups, and permissions that can be applied to multiple resources. This template is stored as an independent resource that can be associated with other resources. Use this metadata type when you want to confer the same set of authorizations on multiple resources. Because an ACT is independent of the resources that it controls, it is also easy to maintain when an update is needed. Any change that you make to the ACT will be enforced on all resources that reference the ACT.

An ACT should not be explicitly created or deleted. ACTs are managed programmatically using the SAS Open Metadata Interface ISecurityAdmin method class, which is documented in the SAS 9.2 Open Metadata Interface: Reference and Usage. The ISecurityAdmin class provides methods for defining and managing direct access controls as well as access control templates.

Attributes of AccessControlTemplate are:

Associations of AccessControlTemplate are:

Usage

To create an instance of this AccessControlTemplate, use the factory create methods.
Example: create a AccessControlTemplate with name "AccessControlTemplate_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();
 AccessControlTemplate myObject = (AccessControlTemplate) factory.createComplexMetadataObject(objectStore, "AccessControlTemplate_Object", MetadataObjects.ACCESSCONTROLTEMPLATE, "AAAAAAAA");
 myObject.updateMetadataAll();  // Write object to server
 objectStore.dispose();  // dispose of the object store if it is no longer needed
 

Behavior

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
static java.lang.String ASSOCIATION_ACCESSCONTROLITEMS_NAME
          Constant used for the name of the AccessControlItems association.
static java.lang.String ATTRIBUTE_USE_NAME
          Constant used for the name of the Use attribute.
 
Fields inherited from interface com.sas.metadata.remote.AccessControl
ASSOCIATION_ACCESSCONTROLTEMPLATES_NAME, ASSOCIATION_OBJECTS_NAME
 
Fields inherited from interface com.sas.metadata.remote.PrimaryType
ASSOCIATION_FAVORITESCONTAINERS_NAME, ATTRIBUTE_ISHIDDEN_NAME, ATTRIBUTE_PUBLICTYPE_NAME
 
Fields 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
 
Fields inherited from interface com.sas.metadata.remote.MdObjectBase
ATTRIBUTE_DESC_NAME, ATTRIBUTE_ID_NAME, ATTRIBUTE_METADATACREATED_NAME, ATTRIBUTE_METADATAUPDATED_NAME, ATTRIBUTE_NAME_NAME
 
Method Summary
 AssociationList getAccessControlItems()
          Gets the AssociationList of AccessControlItems
 AssociationList getAccessControlItems(boolean fGoToServer)
          Gets the Associationlist of AccessControlItems
 java.lang.String getUse()
          Gets the String value of Use
 int getUseMaxLength()
          Gets the maximum length of Use
 int getUseState()
          Gets the Metadata State of Use
 void initializePredObjects()
          (S) Adds the Associated objects to the predObjects which are:
AccessControlItems
 void initializeRequiredObjects()
          (S) This initializes the Required Objects(Roles) which are:
 void setAccessControlItems(AssociationList list)
          Sets the AccessControlItems list to be list.
 void setAccessControlItems(AssociationList inObjects, int state)
          Sets the entire AssociationList to match the passed in Vector, sets the state of the AssociationList
 void setUse(java.lang.String inUse)
          Sets the Use value and sets the state to MetadataState.LOCAL.
 void setUse(java.lang.String inUse, int state)
          Sets the Use Metadata State.
 void setUseState(int state)
          Sets the Metadata State of Use.
 
Methods inherited from interface com.sas.metadata.remote.AccessControl
getAccessControlTemplates, getAccessControlTemplates, getObjects, getObjects, setAccessControlTemplates, setAccessControlTemplates, setObjects, setObjects
 
Methods inherited from interface com.sas.metadata.remote.PrimaryType
getFavoritesContainers, getFavoritesContainers, getIsHidden, getIsHiddenState, getPublicType, getPublicTypeMaxLength, getPublicTypeState, setFavoritesContainers, setFavoritesContainers, setIsHidden, setIsHidden, setIsHidden, setIsHidden, setIsHiddenState, setPublicType, setPublicType, setPublicTypeState
 
Methods 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
 
Methods inherited from interface com.sas.metadata.remote.MdObjectBaseXML
closeUpdateMetadataXML, createEmptyXML, createObjectRefreshXML, createObjectXML, createObjectXML, createUpdateAssociationXML, createUpdateAssociationXML, createUpdateSimpleXML, doCreateUpdateXML, getUpdateSimpleSubstring, updateMetadataAll
 
Methods inherited from interface com.sas.metadata.remote.MdObjectBaseUtil
addMdObjectListener, delete, dispose, fireMdObjectModified, getAssociatedObjects, getAssociatedObjects, getAssociatedObjects, getAssociationNames, getAssocs, getAssocsWA, getAttributeNames, getAttrs, getAttrsStates, getChangeManagementState, getChgMgtExternalIdentityImportType, getClientSideOnlyObject, getMdObjectAssociation, getPopulatedAssocs, getUpdatedAttrs, getViewList, isCheckedOut, isLocked, objectModified, removeMdObjectListener, setAttrs, setChangeManagementTargetRepository, setChgMgtExternalIdentityImportType, setClientSideOnlyObject, setMdObjectAssociation, touch, updateAssnsIds
 
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, setState
 

Field Detail

ATTRIBUTE_USE_NAME

static final java.lang.String ATTRIBUTE_USE_NAME
Constant used for the name of the Use attribute.

Use: This is a field that can store a symbolic flag indicating a special use for this particular ACT. Note: A specific ACT may have only one special use. If an ACT needs to be used in more than one way, then a new ACT should be created for each additional Use value. The additional ACTs would then simply add the original ACT to their AccessControlItems

See Also:
Constant Field Values

ASSOCIATION_ACCESSCONTROLITEMS_NAME

static final java.lang.String ASSOCIATION_ACCESSCONTROLITEMS_NAME
Constant used for the name of the AccessControlItems association.

AccessControlItems: The list of access controls that define this access control template.  

See Also:
Constant Field Values
Method Detail

initializeRequiredObjects

void initializeRequiredObjects()
                               throws java.rmi.RemoteException
(S) This initializes the Required Objects(Roles) which are:

Specified by:
initializeRequiredObjects in interface AccessControl
Specified by:
initializeRequiredObjects in interface MdObjectBaseUtil
Specified by:
initializeRequiredObjects in interface PrimaryType
Specified by:
initializeRequiredObjects in interface Root
Throws:
java.rmi.RemoteException - If error connecting/communicating to/with remote object.

initializePredObjects

void initializePredObjects()
                           throws java.rmi.RemoteException
(S) Adds the Associated objects to the predObjects which are:
AccessControlItems

Specified by:
initializePredObjects in interface AccessControl
Specified by:
initializePredObjects in interface MdObjectBase
Specified by:
initializePredObjects in interface PrimaryType
Specified by:
initializePredObjects in interface Root
Throws:
java.rmi.RemoteException - If error connecting/communicating to/with remote object.

getUse

java.lang.String getUse()
                        throws java.rmi.RemoteException
Gets the String value of Use

Returns:
The Use
Throws:
java.rmi.RemoteException - If error connecting/communicating to/with remote object.

getUseState

int getUseState()
                throws java.rmi.RemoteException
Gets the Metadata State of Use

Returns:
The State.
Throws:
java.rmi.RemoteException - If error connecting/communicating to/with remote object.

getUseMaxLength

int getUseMaxLength()
                    throws java.rmi.RemoteException
Gets the maximum length of Use

Returns:
The max size
Throws:
java.rmi.RemoteException - If error connecting/communicating to/with remote object.

getAccessControlItems

AssociationList getAccessControlItems()
                                      throws java.rmi.RemoteException,
                                             MdException
Gets the AssociationList of AccessControlItems

Returns:
Returns the AssociationList of AccessControlItems which can be of type:
AccessControl
AccessControlEntry
AccessControlTemplate
Throws:
java.rmi.RemoteException - If error connecting/communicating to/with remote object.
MdException - If error getting/setting part of the object.

getAccessControlItems

AssociationList getAccessControlItems(boolean fGoToServer)
                                      throws java.rmi.RemoteException,
                                             MdException
Gets the Associationlist of AccessControlItems

Parameters:
fGoToServer - boolean Get the value from the server.
Returns:
Returns the AssociationList of AccessControlItems which can be of type:
AccessControl
AccessControlEntry
AccessControlTemplate
Throws:
java.rmi.RemoteException - If error connecting/communicating to/with remote object.
MdException - If error getting/setting part of the object.

setUse

void setUse(java.lang.String inUse)
            throws java.rmi.RemoteException
Sets the Use value and sets the state to MetadataState.LOCAL.

Parameters:
inUse - String
Throws:
java.rmi.RemoteException - If error communicating with remote object.

setUse

void setUse(java.lang.String inUse,
            int state)
            throws java.rmi.RemoteException
Sets the Use Metadata State.

Parameters:
inUse - String
state - int
Throws:
java.rmi.RemoteException - If error communicating with remote object.

setUseState

void setUseState(int state)
                 throws java.rmi.RemoteException
Sets the Metadata State of Use.

Parameters:
state - int
Throws:
java.rmi.RemoteException - If error communicating with remote object.

setAccessControlItems

void setAccessControlItems(AssociationList list)
                           throws java.rmi.RemoteException
Sets the AccessControlItems list to be list. Objects of which can be of type:
AccessControl
AccessControlEntry
AccessControlTemplate

Parameters:
list - AssociationList
Throws:
java.rmi.RemoteException - If error communicating with remote object.

setAccessControlItems

void setAccessControlItems(AssociationList inObjects,
                           int state)
                           throws java.rmi.RemoteException
Sets the entire AssociationList to match the passed in Vector, sets the state of the AssociationList

Parameters:
inObjects - AssociationList
state - int
Throws:
java.rmi.RemoteException - If error communicating with remote object.



Copyright © 2009 SAS Institute Inc. All Rights Reserved.