com.ibm.as400.access
Class UserList

java.lang.Object
  extended by com.ibm.as400.access.UserList
All Implemented Interfaces:
Serializable

public class UserList
extends Object
implements Serializable

The UserList class represents a list of user profiles on the system.

Implementation note: This class internally uses the Open List APIs (e.g. QGYOLAUS).

See Also:
User, UserGroup, Serialized Form

Field Summary
Modifier and Type Field and Description
static String ALL
          Selection value indicating that the list contains all user profiles and group profiles.
static String GROUP
          Selection value indicating that the list contains only user profiles that are group profiles.
static String MEMBER
          Selection value indicating that the list contains only user profiles that are members of a specified group.
static String NOGROUP
          Selection value indicating that the list contains only user profiles that are not group profiles.
static String NONE
          Selection value indicating that no group profile is specified.
static String USER
          Selection value indicating that the list contains only user profiles that are not group profiles.
 
Constructor Summary
Constructor and Description
UserList()
          Constructs a UserList object.
UserList(AS400 system)
          Constructs a UserList object.
UserList(AS400 system, String userInfo, String groupInfo)
          Constructs a UserList object.
UserList(AS400 system, String userInfo, String groupInfo, String userProfile)
          Constructs a UserList object.
 
Method Summary
Modifier and Type Method and Description
 void addPropertyChangeListener(PropertyChangeListener listener)
          Adds a PropertyChangeListener.
 void addVetoableChangeListener(VetoableChangeListener listener)
          Adds a VetoableChangeListener.
 void close()
          Closes the user list on the system.
 String getGroupInfo()
          Returns the group profile whose members are to be returned.
 int getLength()
          Returns the number of users in the user list.
 AS400 getSystem()
          Returns the system object representing the system on which the users exist.
 String getUserInfo()
          Returns the description of which users are returned.
 String getUserProfile()
          Returns the user profile names of which users are returned.
 Enumeration getUsers()
          Returns the list of users in the user list.
 User[] getUsers(int listOffset, int number)
          Returns a subset of the list of users.
 void load()
          Loads the list of users on the system.
 void removePropertyChangeListener(PropertyChangeListener listener)
          Removes the PropertyChangeListener.
 void removeVetoableChangeListener(VetoableChangeListener listener)
          Removes the VetoableChangeListener.
 void setGroupInfo(String groupInfo)
          Sets the group profile whose members are to be returned.
 void setSystem(AS400 system)
          Sets the system object representing the system on which the users exist.
 void setUserInfo(String userInfo)
          Sets which users are returned.
 void setUserProfile(String userProfile)
          Sets which profile names to include in the list.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

ALL

public static final String ALL
Selection value indicating that the list contains all user profiles and group profiles.

See Also:
Constant Field Values

USER

public static final String USER
Selection value indicating that the list contains only user profiles that are not group profiles. These are user profiles that do not have a group identifier specified.

See Also:
Constant Field Values

GROUP

public static final String GROUP
Selection value indicating that the list contains only user profiles that are group profiles. These are user profiles that have a group identifier specified.

See Also:
Constant Field Values

MEMBER

public static final String MEMBER
Selection value indicating that the list contains only user profiles that are members of a specified group.

See Also:
Constant Field Values

NONE

public static final String NONE
Selection value indicating that no group profile is specified.

See Also:
Constant Field Values

NOGROUP

public static final String NOGROUP
Selection value indicating that the list contains only user profiles that are not group profiles. These are user profiles that do not have a group identifier specified.

See Also:
Constant Field Values
Constructor Detail

UserList

public UserList()
Constructs a UserList object. The system must be set before calling any of the methods that connect to the system. The userInfo parameter defaults to ALL, the groupInfo parameter defaults to NONE, and the userProfile parameter defaults to ALL.


UserList

public UserList(AS400 system)
Constructs a UserList object. The userInfo parameter defaults to ALL, the groupInfo parameter defaults to NONE, and the userProfile parameter defaults to ALL.

Parameters:
system - The system object representing the system on which the users exists.

UserList

public UserList(AS400 system,
                String userInfo,
                String groupInfo)
Constructs a UserList object. The userProfile parameter defaults to ALL.

Parameters:
system - The system object representing the system on which the users exists.
userInfo - The users to be returned. Possible values are:
  • ALL - All user profiles and group profiles are returned.
  • USER - Only user profiles that are not group profiles are returned. These are user profiles that do not have a group identifier specified.
  • GROUP - Only user profiles that are group profiles are returned. These are user profiles that have a group identifier specified.
  • MEMBER - User profiles that are members of the group specified for groupInfo are returned.
groupInfo - The group profile whose members are to be returned. Possible values are:
  • NONE - No group profile is specified.
  • NOGROUP - Users who are not a member of any group are returned.
  • The group profile name - Users who are a member of this group are returned.

UserList

public UserList(AS400 system,
                String userInfo,
                String groupInfo,
                String userProfile)
Constructs a UserList object.

Parameters:
system - The system object representing the system on which the users exists.
userInfo - The users to be returned. Possible values are:
  • ALL - All user profiles and group profiles are returned.
  • USER - Only user profiles that are not group profiles are returned. These are user profiles that do not have a group identifier specified.
  • GROUP - Only user profiles that are group profiles are returned. These are user profiles that have a group identifier specified.
  • MEMBER - User profiles that are members of the group specified for groupInfo are returned.
groupInfo - The group profile whose members are to be returned. Possible values are:
  • NONE - No group profile is specified.
  • NOGROUP - Users who are not a member of any group are returned.
  • The group profile name - Users who are a member of this group are returned.
userProfile - The profile names to include in the list. Possible values are:
  • ALL - All profiles are returned.
  • The user profile name - If a generic profile name is specifed, the profiles that match the the generic name are returned. If a simple profile name is specified, only that profile is returned.
Method Detail

addPropertyChangeListener

public void addPropertyChangeListener(PropertyChangeListener listener)
Adds a PropertyChangeListener. The specified PropertyChangeListener's propertyChange() method will be called each time the value of any bound property is changed.

Parameters:
listener - The listener.
See Also:
removePropertyChangeListener(java.beans.PropertyChangeListener)

addVetoableChangeListener

public void addVetoableChangeListener(VetoableChangeListener listener)
Adds a VetoableChangeListener. The specified VetoableChangeListener's vetoableChange() method will be called each time the value of any constrained property is changed.

Parameters:
listener - The listener.
See Also:
removeVetoableChangeListener(java.beans.VetoableChangeListener)

close

public void close()
           throws AS400SecurityException,
                  ErrorCompletingRequestException,
                  InterruptedException,
                  IOException,
                  ObjectDoesNotExistException
Closes the user list on the system. This releases any system resources previously in use by this user list.

Throws:
AS400SecurityException - If a security or authority error occurs.
ErrorCompletingRequestException - If an error occurs before the request is completed.
InterruptedException - If this thread is interrupted.
IOException - If an error occurs while communicating with the system.
ObjectDoesNotExistException - If the object does not exist on the system.
See Also:
load()

getGroupInfo

public String getGroupInfo()
Returns the group profile whose members are to be returned.

Returns:
The group profile whose members are to be returned. Possible values are:
  • NONE - No group profile is specified.
  • NOGROUP - Users who are not a member of any group are returned.
  • The group profile name - Users who are a member of this group are returned.

getLength

public int getLength()
Returns the number of users in the user list. This method implicitly calls load().

Returns:
The number of users, or 0 if no list was retrieved.
See Also:
load()

getSystem

public AS400 getSystem()
Returns the system object representing the system on which the users exist.

Returns:
The system object representing the system on which the users exist. If the system has not been set, null is returned.

getUserInfo

public String getUserInfo()
Returns the description of which users are returned.

Returns:
The description of which users are returned. Possible values are:
  • ALL - All user profiles and group profiles are returned.
  • USER - Only user profiles that are not group profiles are returned. These are user profiles that do not have a group identifier specified.
  • GROUP - Only user profiles that are group profiles are returned. These are user profiles that have a group identifier specified.
  • MEMBER - User profiles that are members of the group specified for the group info are returned.

getUserProfile

public String getUserProfile()
Returns the user profile names of which users are returned.

Returns:
The profile names of which users are returned. Possible values are:
  • ALL - All profiles are returned.
  • The user profile name - If a generic profile name is specifed, the profiles that match the the generic name are returned. If a simple profile name is specified, only that profile is returned.

getUsers

public Enumeration getUsers()
                     throws AS400SecurityException,
                            ErrorCompletingRequestException,
                            InterruptedException,
                            IOException,
                            ObjectDoesNotExistException,
                            RequestNotSupportedException
Returns the list of users in the user list.

Returns:
An Enumeration of User objects.
Throws:
AS400SecurityException - If a security or authority error occurs.
ErrorCompletingRequestException - If an error occurs before the request is completed.
InterruptedException - If this thread is interrupted.
IOException - If an error occurs while communicating with the system.
ObjectDoesNotExistException - If the system object does not exist.
RequestNotSupportedException - If the requested function is not supported because the system is not at the correct level.
See Also:
close(), load()

getUsers

public User[] getUsers(int listOffset,
                       int number)
                throws AS400SecurityException,
                       ErrorCompletingRequestException,
                       InterruptedException,
                       IOException,
                       ObjectDoesNotExistException
Returns a subset of the list of users. This method allows the user to retrieve the user list from the system in pieces. If a call to load() is made (either implicitly or explicitly), then the users at a given offset will change, so a subsequent call to getUsers() with the same listOffset and number will most likely not return the same Users as the previous call.

Parameters:
listOffset - The offset into the list of users. This value must be greater than 0 and less than the list length, or specify -1 to retrieve all of the users.
number - The number of users to retrieve out of the list, starting at the specified listOffset. This value must be greater than or equal to 0 and less than or equal to the list length. If the listOffset is -1, this parameter is ignored.
Returns:
The array of retrieved User objects. The length of this array may not necessarily be equal to number, depending upon the size of the list on the system, and the specified listOffset.
Throws:
AS400SecurityException - If a security or authority error occurs.
ErrorCompletingRequestException - If an error occurs before the request is completed.
InterruptedException - If this thread is interrupted.
IOException - If an error occurs while communicating with the system.
ObjectDoesNotExistException - If the object does not exist on the system.
See Also:
Job, close(), load()

load

public void load()
          throws AS400SecurityException,
                 ErrorCompletingRequestException,
                 InterruptedException,
                 IOException,
                 ObjectDoesNotExistException
Loads the list of users on the system. This method informs the system to build a list of users. This method blocks until the system returns the total number of users it has compiled. A subsequent call to getUsers() will retrieve the actual user information and attributes for each user in the list from the system.

This method updates the list length.

Throws:
AS400SecurityException - If a security or authority error occurs.
ErrorCompletingRequestException - If an error occurs before the request is completed.
InterruptedException - If this thread is interrupted.
IOException - If an error occurs while communicating with the system.
ObjectDoesNotExistException - If the object does not exist on the system.
See Also:
getLength(), close()

removePropertyChangeListener

public void removePropertyChangeListener(PropertyChangeListener listener)
Removes the PropertyChangeListener. If the PropertyChangeListener is not on the list, nothing is done.

Parameters:
listener - The listener object.

removeVetoableChangeListener

public void removeVetoableChangeListener(VetoableChangeListener listener)
Removes the VetoableChangeListener. If the VetoableChangeListener is not on the list, nothing is done.

Parameters:
listener - The listener object.

setGroupInfo

public void setGroupInfo(String groupInfo)
                  throws PropertyVetoException
Sets the group profile whose members are to be returned.

This must be set to a group profile name or NOGROUP if group info is set to MEMBER. This must be set to NONE if group info is not set to MEMBER.

Parameters:
groupInfo - The group profile whose members are to be returned. Possible values are:
  • NONE - No group profile is specified.
  • NOGROUP - Users who are not a member of any group are returned.
  • The group profile name - Users who are a member of this group are returned.
Throws:
PropertyVetoException - If any of the registered listeners vetos the property change.

setSystem

public void setSystem(AS400 system)
               throws PropertyVetoException
Sets the system object representing the system on which the users exist. The system cannot be changed once a connection to the system has been established.

Parameters:
system - The system object representing the system on which the users exists.
Throws:
PropertyVetoException - If any of the registered listeners vetos the property change.

setUserInfo

public void setUserInfo(String userInfo)
                 throws PropertyVetoException
Sets which users are returned.

Parameters:
userInfo - A description of which users are returned. Possible values are:
  • ALL - All user profiles and group profiles are returned.
  • USER - Only user profiles that are not group profiles are returned. These are user profiles that do not have a group identifier specified.
  • GROUP - Only user profiles that are group profiles are returned. These are user profiles that have a group identifier specified.
  • MEMBER - User profiles that are members of the group specified for the group info are returned.
Throws:
PropertyVetoException - If any of the registered listeners vetos the property change.

setUserProfile

public void setUserProfile(String userProfile)
Sets which profile names to include in the list.

Parameters:
userProfile - The profile names to include in the list. Possible values are:
  • ALL - All profiles are returned.
  • The user profile name - If a generic profile name is specifed, the profiles that match the the generic name are returned. If a simple profile name is specified, only that profile is returned.