com.sas.metadata.remote
Interface AccessControl

All Superinterfaces:
CMetadata, MdObjectBase, MdObjectBaseUtil, MdObjectBaseXML, PrimaryType, java.rmi.Remote, Root
All Known Subinterfaces:
AccessControlEntry, AccessControlTemplate

public interface AccessControl
extends PrimaryType

An access control is an object that relates an identity and a permission to a resource in order to regulate access to the resource. The SAS Open Metadata Architecture authorization facility uses the information in access controls to return authorization decisions on resource requests.

The SAS Metadata Model defines two basic types of access controls: AccessControlEntry, which associates identities and permissions directly with a resource; and AccessControlTemplate, which enables users to define a template of identities and permissions that can be applied to multiple resources. AccessControl is a supertype and should not be instantiated. When defining an actual access control, use the AccessControlEntry and AccessControlTemplate metadata types.

AccessControl objects should not be explicitly created or deleted. Access controls 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 AccessControl are:

Associations of AccessControl are:

Usage

To create an instance of this AccessControl, use the factory create methods.
Example: create a AccessControl with name "AccessControl_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();
 AccessControl myObject = (AccessControl) factory.createComplexMetadataObject(objectStore, "AccessControl_Object", MetadataObjects.ACCESSCONTROL, "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_ACCESSCONTROLTEMPLATES_NAME
          Constant used for the name of the AccessControlTemplates association.
static java.lang.String ASSOCIATION_OBJECTS_NAME
          Constant used for the name of the Objects association.
 
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 getAccessControlTemplates()
          Gets the Association list of AccessControlTemplates
 AssociationList getAccessControlTemplates(boolean fGoToServer)
          Gets the Associationlist of AccessControlTemplates
 AssociationList getObjects()
          Gets the AssociationList of Objects
 AssociationList getObjects(boolean fGoToServer)
          Gets the Associationlist of Objects
 void initializePredObjects()
          (S) Adds the Associated objects to the predObjects which are:
Objects
 void initializeRequiredObjects()
          (S) This initializes the Required Objects(Roles) which are:
 void setAccessControlTemplates(AssociationList list)
          Sets the AccessControlTemplates list to be list.
 void setAccessControlTemplates(AssociationList inObjects, int state)
          Sets the entire AccessControlTemplates list to match the passed in AssociationList, sets the state of the AccessControlTemplates
 void setObjects(AssociationList list)
          Sets the Objects list to be list.
 void setObjects(AssociationList inObjects, int state)
          Sets the entire AssociationList to match the passed in Vector, sets the state of the AssociationList
 
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

ASSOCIATION_OBJECTS_NAME

static final java.lang.String ASSOCIATION_OBJECTS_NAME
Constant used for the name of the Objects association.

Objects: The objects that have this access control. 

See Also:
Constant Field Values

ASSOCIATION_ACCESSCONTROLTEMPLATES_NAME

static final java.lang.String ASSOCIATION_ACCESSCONTROLTEMPLATES_NAME
Constant used for the name of the AccessControlTemplates association.

AccessControlTemplates: The access control templates in which this access control is used. 

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 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:
Objects

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.

getObjects

AssociationList getObjects()
                           throws java.rmi.RemoteException,
                                  MdException
Gets the AssociationList of Objects

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

getAccessControlTemplates

AssociationList getAccessControlTemplates()
                                          throws java.rmi.RemoteException,
                                                 MdException
Gets the Association list of AccessControlTemplates

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

getObjects

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

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

getAccessControlTemplates

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

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

setObjects

void setObjects(AssociationList list)
                throws java.rmi.RemoteException
Sets the Objects list to be list. Objects of which can be of type:
All types

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

setObjects

void setObjects(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.

setAccessControlTemplates

void setAccessControlTemplates(AssociationList list)
                               throws java.rmi.RemoteException
Sets the AccessControlTemplates list to be list. Objects of which can be of type:
AccessControlTemplate

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

setAccessControlTemplates

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

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



Copyright © 2009 SAS Institute Inc. All Rights Reserved.