# How to Use the SAS Java Metadata Authorization Interface

standard usage

- Example 1: Obtaining the MdAuthorizationUtil Interface
- Example 2: Getting the Identity List for permissions set on an object
- Example 3: Getting the MdPermissionInfo List for a single identity
- Example 4: Getting the MdAuthorizationInfo List for multiple identities
- Example 5: Setting the MdPermissionInfo List for a single identity
- Example 6: Setting the MdAuthorizationInfo List for multiple identities

## Example 5: Setting the MdPermissionInfo List for a single identity

This is an example of setting the List of MdPermissionInfo instances for a single Identity object. Each MdPermissionInfo instance added to the List represents the GRANT or DENY for valid Permission name. A Permission name should only be granted or denied once.

         try
         {
            CMetadata object;  // any SAS CMetadata object type will work here (your code must fill this in)
            MdAuthorizationUtil authUtil = object.getAuthorizationUtil();
            Identity identity; // A single Identity object (probably from the List returned by Example 2.)
                  // GRANT ReadMetadata and DENY WriteMetdata for this Identity
            List <MdPermissionInfo>permInfoList = new ArrayList<MdPermissionInfo>(2);
            permInfoList.add(new MdPermissionInfoImpl(
                        PermissionType.GRANT, MdPermissionInfo.PERMISSION_READMETADATA ));
            permInfoList.add(new MdPermissionInfoImpl(
                        PermissionType.DENY, MdPermissionInfo.PERMISSION_WRITEMETADATA ));
            authUtil.setAuthorizations(identity, permInfoList);
         }
         catch (MdException e)
         {
            e.printStackTrace();
         }
         catch (RemoteException e)
         {
            e.printStackTrace();
         }