com.ibm.as400.access.list

Class SpooledFileOpenList

  • All Implemented Interfaces:
    java.io.Serializable


    public class SpooledFileOpenList
    extends OpenList
    An OpenList implementation that generates lists of SpooledFileListItem objects.
        AS400 system = new AS400("mySystem", "myUserID", "myPassword");
        SpooledFileOpenList list = new SpooledFileOpenList(system);
        // Get all of myUserID's spooled files.
        list.setFilterUsers(new String[] { "*CURRENT" } );
        // Sort the list by job number in ascending order.
        list.addSortField(SpooledFileOpenList.JOB_NUMBER, true);
        list.open();
        Enumeration items = list.getItems();
        while (items.hasMoreElements())
        {
            SpooledFileListItem item = (SpooledFileListItem)items.nextElement();
            System.out.println(item.getJobName() + "/" + item.getJobUser() + "/" + item.getJobNumber() + " - " + item.getName() + ", " + item.getNumber());
        }
        list.close();
     
    See Also:
    Serialized Form
    • Field Summary

      Fields 
      Modifier and Type Field and Description
      static int ASP
      Sorting constant used to sort the list of spooled files by auxiliary storage pool (ASP).
      static int COPIES_LEFT_TO_PRINT
      Sorting constant used to sort the list of spooled files by number of copies left to print.
      static int CURRENT_PAGE
      Sorting constant used to sort the list of spooled files by current page number.
      static int DATE_OPENED
      Sorting constant used to sort the list of spooled files by date.
      static int DEVICE_TYPE
      Sorting constant used to sort the list of spooled files by device type.
      static int FORM_TYPE
      Sorting constant used to sort the list of spooled files by form type.
      static java.lang.String FORMAT_0100
      Constant indicating that this list will accept parameters for, and, generate SpooledFileListItem objects in accordance with, the OSPL0100 format of the underlying API.
      static java.lang.String FORMAT_0200
      Constant indicating that this list will accept parameters for, and, generate SpooledFileListItem objects in accordance with, the OSPL0200 format of the underlying API.
      static java.lang.String FORMAT_0300
      Constant indicating that this list will accept parameters for, and, generate SpooledFileListItem objects in accordance with, the OSPL0300 format of the underlying API.
      static int JOB_NAME
      Sorting constant used to sort the list of spooled files by the job name portion of the job information.
      static int JOB_NUMBER
      Sorting constant used to sort the list of spooled files by the job number portion of the job information.
      static int JOB_SYSTEM
      Sorting constant used to sort the list of spooled files by system.
      static int JOB_USER
      Sorting constant used to sort the list of spooled files by the user name portion of the job information.
      static int NAME
      Sorting constant used to sort the list of spooled files by spooled file name.
      static int NUMBER
      Sorting constant used to sort the list of spooled files by spooled file number.
      static int OUTPUT_QUEUE_LIBRARY
      Sorting constant used to sort the list of spooled files by output queue library.
      static int OUTPUT_QUEUE_NAME
      Sorting constant used to sort the list of spooled files by output queue name.
      static int PRINTER_ASSIGNED
      Sorting constant used to sort the list of spooled files by printer assignment.
      static int PRINTER_NAME
      Sorting constant used to sort the list of spooled files by printer name.
      static int PRIORITY
      Sorting constant used to sort the list of spooled files by priority.
      static int SCHEDULE
      Sorting constant used to sort the list of spooled files by schedule.
      static int SIZE
      Sorting constant used to sort the list of spooled files by size.
      static int STATUS
      Sorting constant used to sort the list of spooled files by status.
      static int TIME_OPENED
      Sorting constant used to sort the list of spooled files by time.
      static int TOTAL_PAGES
      Sorting constant used to sort the list of spooled files by total number of pages.
      static int USER_DATA
      Sorting constant used to sort the list of spooled files by user data.
    • Constructor Summary

      Constructors 
      Constructor and Description
      SpooledFileOpenList(AS400 system)
      Constructs a SpooledFileOpenList object with the given system.
      SpooledFileOpenList(AS400 system, java.lang.String format)
      Constructs a SpooledFileOpenList object with the given system and format.
    • Method Summary

      Methods 
      Modifier and Type Method and Description
      void addSortField(int field, boolean ascending)
      Adds a field on which to sort the list when it is built.
      protected byte[] callOpenListAPI()
      Calls QGY/QGYOLSPL.
      void clearSortFields()
      Clears all sorting information for this list.
      protected java.lang.Object[] formatOutputData(byte[] data, int recordsReturned, int recordLength)
      Formats the data from QGY/QGYOLSPL.
      protected int getBestGuessReceiverSize(int number)
      Returns receiver variable size based on format used.
      java.util.Date getFilterCreationDateEnd()
      Returns the end creation date being used to filter the list of spooled files.
      java.util.Date getFilterCreationDateStart()
      Returns the start creation date being used to filter the list of spooled files.
      java.lang.String[] getFilterDevices()
      Returns the printer device names being used to filter the list of spooled files.
      java.lang.String getFilterFormType()
      Returns the form type being used to filter the list of spooled files.
      java.lang.String getFilterJobName()
      Returns the job name portion of the job information used to determine which spooled files belong in the list.
      java.lang.String getFilterJobNumber()
      Returns the job number portion of the job information used to determine which spooled files belong in the list.
      java.lang.String getFilterJobSystemName()
      Returns the job system name used to determine which spooled files belong in the list.
      java.lang.String getFilterJobUser()
      Returns the user name portion of the job information used to determine which spooled files belong in the list.
      java.lang.String[] getFilterOutputQueues()
      Returns the output queue names being used to filter the list of spooled files.
      java.lang.String[] getFilterStatuses()
      Returns the statuses being used to filter the list of spooled files.
      java.lang.String getFilterUserData()
      Returns the user data being used to filter the list of spooled files.
      java.lang.String[] getFilterUsers()
      Returns the user names being used to filter the list of spooled files.
      java.lang.String getFormat()
      Returns the format currently in use by this open list.
      void setFilterCreationDate(java.util.Date filterCreationDateStart, java.util.Date filterCreationDateEnd)
      Sets the creation date range used to filter the list of spooled files.
      void setFilterDevices(java.lang.String[] devices)
      Sets the printer device names used to filter the list of spooled files.
      void setFilterFormType(java.lang.String formType)
      Sets the form type used to filter the list of spooled files.
      void setFilterJobInformation(java.lang.String filterJobName, java.lang.String filterJobUser, java.lang.String filterJobNumber)
      Sets the qualified job information used to filter the list of spooled files.
      void setFilterJobSystemName(java.lang.String systemName)
      Sets the job system name used to filter the list of spooled files.
      void setFilterOutputQueues(java.lang.String[] filterOutputQueues)
      Sets the output queues used to filter the list of spooled files.
      void setFilterStatuses(java.lang.String[] statuses)
      Sets the statuses used to filter the list of spooled files.
      void setFilterUserData(java.lang.String userData)
      Sets the user data used to filter the list of spooled files.
      void setFilterUsers(java.lang.String[] users)
      Sets the user names used to filter the list of spooled files.
      void setFormat(java.lang.String format)
      Sets the format this list will use on the next call to open().
      • Methods inherited from class java.lang.Object

        clone, equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    • Constructor Detail

      • SpooledFileOpenList

        public SpooledFileOpenList(AS400 system)
        Constructs a SpooledFileOpenList object with the given system. By default, this list will generate a list of SpooledFileListItem objects for all spooled files on the system using the default format of FORMAT_0300.
        Parameters:
        system - The system object representing the system on which the spooled files exist.
      • SpooledFileOpenList

        public SpooledFileOpenList(AS400 system,
                           java.lang.String format)
        Constructs a SpooledFileOpenList object with the given system and format. By default, this list will generate a list of SpooledFileListItem objects for all spooled files on the system.
        Parameters:
        system - The system object representing the system on which the spooled files exist.
        format - The format of the underlying API.
        See Also:
        setFormat(java.lang.String)
    • Method Detail

      • addSortField

        public void addSortField(int field,
                        boolean ascending)
        Adds a field on which to sort the list when it is built. Use one of the sort constants on this class. By default, no sorting is done.
        Parameters:
        field - The field used to sort the list. Fields which are not applicable to the format used or the operating system release are silently ignored.
        ascending - true to sort in ascending order on this field (e.g. A-Z or 0-9); false for descending.
      • clearSortFields

        public void clearSortFields()
        Clears all sorting information for this list. No sorting will be done when the list is generated unless addSortField() is called to specify which fields to sort on.
      • formatOutputData

        protected java.lang.Object[] formatOutputData(byte[] data,
                                          int recordsReturned,
                                          int recordLength)
                                               throws AS400SecurityException,
                                                      ErrorCompletingRequestException,
                                                      java.lang.InterruptedException,
                                                      java.io.IOException,
                                                      ObjectDoesNotExistException
        Formats the data from QGY/QGYOLSPL.
        Specified by:
        formatOutputData in class OpenList
        Parameters:
        data - The output data from the receiver variable from the call to the QGYGTLE (Get List Entries) API.
        recordsReturned - The number of records returned, as reported in the open list information returned on the call to QGYGTLE.
        recordLength - The length of a record, in bytes, as reported in the open list information returned on the call to QGYGTLE.
        Throws:
        AS400SecurityException - If a security or authority error occurs.
        ErrorCompletingRequestException - If an error occurs before the request is completed.
        java.lang.InterruptedException - If this thread is interrupted.
        java.io.IOException - If an error occurs while communicating with the system.
        ObjectDoesNotExistException - If the object does not exist on the system.
      • getBestGuessReceiverSize

        protected int getBestGuessReceiverSize(int number)
        Returns receiver variable size based on format used.
        Specified by:
        getBestGuessReceiverSize in class OpenList
        Parameters:
        number - The number of records in the list on the system. This is useful if the subclass needs to return a receiver size based on how many records are in the list.
        Returns:
        The number of bytes to allocate for the receiver variable when the QGYGTLE (Get List Entries) API is called. This number does not have to be calculated exactly, as QGYGTLE will be called repeatedly until the correct size is known. This number is just for the initial call to QGYGTLE. Too low of a value may result in extra API calls, too high of a value may result in wasted bytes being sent and received.
      • getFilterCreationDateEnd

        public java.util.Date getFilterCreationDateEnd()
        Returns the end creation date being used to filter the list of spooled files.
        Returns:
        The end creation date or null if the end creation date used will be the latest date in the list.
        See Also:
        getFilterCreationDateStart()
      • getFilterCreationDateStart

        public java.util.Date getFilterCreationDateStart()
        Returns the start creation date being used to filter the list of spooled files.
        Returns:
        The start creation date or null if the start creation date used will be the earliest date in the list.
        See Also:
        getFilterCreationDateEnd()
      • getFilterDevices

        public java.lang.String[] getFilterDevices()
        Returns the printer device names being used to filter the list of spooled files.
        Returns:
        The array of printer device names or null if the list is not being filtered by device.
      • getFilterFormType

        public java.lang.String getFilterFormType()
        Returns the form type being used to filter the list of spooled files.
        Returns:
        The form type or null if the list is not being filtered by form type.
      • getFilterJobSystemName

        public java.lang.String getFilterJobSystemName()
        Returns the job system name used to determine which spooled files belong in the list.
        Returns:
        The job system name, "*CURRENT" for the current system, or null to indicate the default of "*ALL" meaning the list is not being filtered by job system name. Note that the job system name filter is only used when connecting to systems running operating system releases V5R2M0 and higher.
        See Also:
        setFilterJobSystemName(java.lang.String)
      • getFilterOutputQueues

        public java.lang.String[] getFilterOutputQueues()
        Returns the output queue names being used to filter the list of spooled files.
        Returns:
        The array of fully-qualified integrated file system path names of output queues, or null if the list is not being filtered by output queue.
      • getFilterStatuses

        public java.lang.String[] getFilterStatuses()
        Returns the statuses being used to filter the list of spooled files.
        Returns:
        The array of statuses or null if the list is not being filtered by status.
      • getFilterUserData

        public java.lang.String getFilterUserData()
        Returns the user data being used to filter the list of spooled files.
        Returns:
        The user data or null if the list is not being filtered by user data.
      • getFilterUsers

        public java.lang.String[] getFilterUsers()
        Returns the user names being used to filter the list of spooled files.
        Returns:
        The array of user names or null if the list is not being filtered by user name.
      • getFormat

        public java.lang.String getFormat()
        Returns the format currently in use by this open list. Possible values are:
        Returns:
        The format. The default format is FORMAT_0300.
      • setFilterCreationDate

        public void setFilterCreationDate(java.util.Date filterCreationDateStart,
                                 java.util.Date filterCreationDateEnd)
        Sets the creation date range used to filter the list of spooled files. By default, the list is not filtered by creation date. Note that the creation date filter is only used when connecting to systems running operating system releases V5R2M0 and higher.
        Parameters:
        filterCreationDateStart - The start date. All spooled files with a creation date and time equal to or later than the start date will be selected. Specify null to indicate that the earliest creation date and later will be selected, up to the specified end date.
        filterCreationDateEnd - The end date. All spooled files with a creation date and time equal to or earlier than the end date will be selected. Specify null to indicate that the latest creation date and earlier will be selected, down to the specified start date.
        See Also:
        getFilterCreationDateStart(), getFilterCreationDateEnd()
      • setFilterDevices

        public void setFilterDevices(java.lang.String[] devices)
        Sets the printer device names used to filter the list of spooled files.
        Parameters:
        devices - The array of printer device names. Only spooled files that belong to the specified printer devices are returned in the list. Specify null to clear the status filter, so that spooled files in the list are no longer filtered based on device.
      • setFilterFormType

        public void setFilterFormType(java.lang.String formType)
        Sets the form type used to filter the list of spooled files.
        Parameters:
        formType - The form type. Only spooled files whose form type matches the specified form type are returned in the list. Specify "*STD" for the standard form type. Specify null to clear the form type filter, so that spooled files in the list are no longer filtered based on form type.
      • setFilterJobInformation

        public void setFilterJobInformation(java.lang.String filterJobName,
                                   java.lang.String filterJobUser,
                                   java.lang.String filterJobNumber)
        Sets the qualified job information used to filter the list of spooled files. Specifying null for a parameter resets it to its default value of blank. Blank is only valid for a parameter if all three parameters are specified as blank, or the filterJobName parameter is specified as "*".
        Parameters:
        filterJobName - The job name of the job whose spooled files are to be included in the list. Specify "*" for the current job. If "*" is specified, the filterJobUser and filterJobNumber parameters are automatically set to blank.
        filterJobUser - The user name of the job whose spooled files are to be included in the list.
        filterJobNumber - The job number of the job whose spooled files are to be included in the list.
        See Also:
        getFilterJobName(), getFilterJobUser(), getFilterJobNumber()
      • setFilterJobSystemName

        public void setFilterJobSystemName(java.lang.String systemName)
        Sets the job system name used to filter the list of spooled files. Specifying null resets it to its default value of "*ALL". Note that the job system name filter is only used when connecting to systems running operating system releases V5R2 and higher.
        Parameters:
        systemName - Only spooled files created on systemNamewill be included in the list. Specify "*CURRENT" to return only spooled files created on the current system.
        See Also:
        getFilterJobSystemName()
      • setFilterOutputQueues

        public void setFilterOutputQueues(java.lang.String[] filterOutputQueues)
        Sets the output queues used to filter the list of spooled files.
        Parameters:
        filterOutputQueues - An array of fully-qualified integrated file system path names of output queues. Only spooled files that reside in the specified output queues are returned in the list. Specify null to clear the output queue filter, so that the spooled files in the list are no longer filtered based on output queue.
      • setFilterUserData

        public void setFilterUserData(java.lang.String userData)
        Sets the user data used to filter the list of spooled files.
        Parameters:
        userData - The user data. Only spooled files whose user data exactly matches the specified user data are returned in the list. Specify null to clear the user data filter, so that spooled files in the list are no longer filtered based on user data.
      • setFilterUsers

        public void setFilterUsers(java.lang.String[] users)
        Sets the user names used to filter the list of spooled files.
        Parameters:
        users - An array of user names. Only spooled files that were created by the specified users are returned in the list. Specify "*CURRENT" as one of the users to mean the current user profile. Specify null to clear the user filter, so that the spooled files in the list are no longer filtered based on user name.
      • setFormat

        public void setFormat(java.lang.String format)
        Sets the format this list will use on the next call to open(). Any SpooledFileListItems generated by this list will have attributes associated with the specified format. The default format is FORMAT_0300.
        Parameters:
        format - The format of the underlying API. Possible values are: