All Libraries | This Library | Package | Class | Use | Tree | Deprecated | Index | Grand Index | Help
|  | Metadata |
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

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

- `Use`

Associations of AccessControlTemplate are:

- `AccessControlItems`

## 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

- 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 `updateMetadataAll` method.
- If an object needs to be deleted, the `delete` method 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
`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.

All Libraries | This Library | Package | Class | Use | Tree | Deprecated | Index | Grand Index | Help
|  | Metadata |
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

Copyright © 2009 SAS Institute Inc. All Rights Reserved.