com.ibm.as400.access

Class Permission

  • All Implemented Interfaces:
    Serializable


    public class Permission
    extends Object
    implements Serializable
    Retrieves a user's authority to an object.
    To improve performance, the Permission object caches authority changes until the commit() method is called. When commit()is called, all changes up to that point are sent to the system.
    The permission of an object is a collection of many users' authority to that object, and the UserPermission class is used to represent a user's authority to a object. Because there are three kinds of objects on the system, three subclasses of UserPermission are defined:
    • DLOPermission - Represents a user's authority to a Document Library Objects (DLO) stored in QDLS.
    • QSYSPermission - Represents a user's authority to the object which is contained in the system library structure and stored in QSYS.LIB.
    • RootPermission - Represents a user's authority to the object which is contained in the root directory structure. This includes everything that is not in QSYS.LIB or QDLS.
    Here is a simple example:

     AS400 as400 = new AS400();
     Permission permission = new Permission(as400,"/QSYS.LIB/QJAVA.LIB");
     permission.addAuthorizedUser("user1");
     QSYSPermission userPermission = (QSYSPermission)permission.getUserPermission("user1");
     userPermission.setObjectAuthority("*CHANGE");
     permission.commit();
     

    See Also:
    UserPermission, DLOPermission, QSYSPermission, RootPermission, Serialized Form
    • Field Detail

      • TYPE_DLO

        public static final int TYPE_DLO
        Constant indicating the object is a Document Library Objects (DLO) stored in QDLS.
        See Also:
        Constant Field Values
      • TYPE_QSYS

        public static final int TYPE_QSYS
        Constant indicating the object is contained in the system library structure and stored in QSYS.LIB.
        See Also:
        Constant Field Values
      • TYPE_ROOT

        public static final int TYPE_ROOT
        Constant indicating that the object is contained in the root directory structure. This includes everything that is not in QSYS.LIB or QDLS.
        See Also:
        Constant Field Values
    • Method Detail

      • addAuthorizedUser

        public void addAuthorizedUser(String userProfileName)
        Adds an authorized user. The user added will have "*EXCLUDE" authorities on the object.
        Parameters:
        userProfileName - The authorized user profile name.
      • addPropertyChangeListener

        public void addPropertyChangeListener(PropertyChangeListener listener)
        Adds a property change listener.
        Parameters:
        listener - The property change listener to add.
      • addUserPermission

        public void addUserPermission(UserPermission userPermission)
        Adds a user permission.
        Parameters:
        userPermission - The UserPermission object.
      • getAuthorizationList

        public String getAuthorizationList()
        Returns the authorizations list of the object.
        Returns:
        The authorizations list of the object.
        See Also:
        setAuthorizationList(String)
      • getAuthorizedUsers

        public Enumeration getAuthorizedUsers()
        Returns an enumeration of authorized users.
        Returns:
        An enumeration of authorized users.
      • getObjectPath

        public String getObjectPath()
        Returns the path of the integrated file system object whose permission is represented by this object.
        Returns:
        The integrated file system path name.
      • getName

        public String getName()
        Returns the name of the object whose permission is represented by this object.
        Returns:
        The name of the object.
      • getOwner

        public String getOwner()
        Returns the object owner.
        Returns:
        The object owner.
      • getPrimaryGroup

        public String getPrimaryGroup()
        Returns the primary group of the object.
        Returns:
        The primary group of the object.
      • getSensitivityLevel

        public int getSensitivityLevel()
        Returns the sensitivity level of the object.
        Returns:
        The sensitivity level of the object.
        • 0 : This value does not apply to this object.
        • 1 : (*NONE) The document has no sensitivity restrictions.
        • 2 : (*PERSONAL) The document is intended for the user as an individual.
        • 3 : (*PRIVATE) The document contains information that should be accessed only by the owner. This value cannot be specified if the access code zero (0) is assigned to the object.
        • 4 : (*CONFIDENTIAL) The document contains information that should be handled according to company procedures.
        See Also:
        setSensitivityLevel(int)
      • getSystem

        public AS400 getSystem()
        Returns the system
        Returns:
        The system instance.
      • getType

        public int getType()
        Returns the object type.
        Returns:
        The object type. The possible values are:
        • TYPE_DLO - Indicating the object is a Document Library Objects (DLO) stored in QDLS.
        • TYPE_QSYS - Indicating the object is contained in the system library structure and stored in QSYS.LIB.
        • TYPE_ROOT - Indicating the object is contained in the root directory structure. This includes everything that is not in QSYS.LIB or QDLS.
      • getUserPermission

        public UserPermission getUserPermission(String userProfileName)
        Returns a UserPermission object for the specified user. If the specified user profile has no explicit authority to the object, returns null.
        Parameters:
        userProfileName - The name of the user profile.
        Returns:
        The specific Permission object.
      • getUserPermissions

        public Enumeration getUserPermissions()
        Returns an enumeration of UserPermission objects.
        Returns:
        An enumeration of UserPermission objects.
      • isCommitted

        public boolean isCommitted()
        Returns a flag indicating whether the change has been committed.
        Returns:
        The flag indicating whether the change has been committed.
      • isFollowSymbolicLinks

        public boolean isFollowSymbolicLinks()
        Returns whether symbolic links are resolved when changing or retrieving permissions.
        Returns:
        Whether symbolic links are resolved.
      • removeAuthorizedUser

        public void removeAuthorizedUser(String userProfileName)
        Removes an authorized user.
        Parameters:
        userProfileName - The authorized user profile name.
      • removePropertyChangeListener

        public void removePropertyChangeListener(PropertyChangeListener listener)
        Removes a property change listener.
        Parameters:
        listener - The property change listener to remove.
      • removeUserPermission

        public void removeUserPermission(UserPermission permission)
        Removes a user permission.
        Parameters:
        permission - The UserPermission object.
      • setAuthorizationList

        public void setAuthorizationList(String autList)
        Sets the authorizations list of the object. For example:

         Permission permisson = new Permisson(new AS400(),"/QSYS.LIB/FRED.LIB";
         permission.setAuthorizationList("testautl");
         System.out.println("The authorization list of fred.lib is " + permissin.geAuthorizationList();
         permission.setAuthorizationList("*NONE");
         System.out.println("The authorization list of fred.lib is " + permissin.geAuthorizationList();
         

        Parameters:
        autList - The authorizations list of the object.
      • setOwner

        public void setOwner(String owner,
                    boolean revokeOldAuthority)
        Sets the owner of the object.
        Parameters:
        owner - The owner of the object.
        revokeOldAuthority - Specifies whether the authorities for the current owner are revoked when ownership is transferred to the new owner.
        See Also:
        getOwner()
      • setPrimaryGroup

        public void setPrimaryGroup(String primaryGroup,
                           boolean revokeOldAuthority)
        Sets the primary group of the object.
        Parameters:
        primaryGroup - The primary group of the object.
        revokeOldAuthority - Specifies whether the authorities for the current primary group are revoked when the primary group is changed to the new value.
      • setSensitivityLevel

        public void setSensitivityLevel(int sensitivityLevel)
        Sets the sensitivity level of the object.
        Parameters:
        sensitivityLevel - The sensitivity level of the object. The possible values :
        • 0 : This value does not apply to this object.
        • 1 : (*NONE) The document has no sensitivity restrictions.
        • 2 : (*PERSONAL) The document is intended for the user as an individual.
        • 3 : (*PRIVATE) The document contains information that should be accessed only by the owner. This value cannot be specified if the access code zero (0) is assigned to the object.
        • 4 : (*CONFIDENTIAL) The document contains information that should be handled according to company procedures.
        See Also:
        getSensitivityLevel()
      • setSystem

        public void setSystem(AS400 system)
        Deprecated. This method is of little (or no) known usefulness. If you require this method, please notify the Toolbox support team.
        Sets the system where system value is retrieved.
        Parameters:
        system - The system object.
        See Also:
        getSystem()