com.ibm.as400.access.SpooledFileList Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of jt400 Show documentation
Show all versions of jt400 Show documentation
The Open Source version of the IBM Toolbox for Java
The newest version!
///////////////////////////////////////////////////////////////////////////////
//
// JTOpen (IBM Toolbox for Java - OSS version)
//
// Filename: SpooledFileList.java
//
// The source code contained herein is licensed under the IBM Public License
// Version 1.0, which has been approved by the Open Source Initiative.
// Copyright (C) 1997-2000 International Business Machines Corporation and
// others. All rights reserved.
//
///////////////////////////////////////////////////////////////////////////////
package com.ibm.as400.access;
import java.beans.PropertyVetoException;
/**
* Builds a list of objects of type SpooledFile.
* The list can be filtered by formtype, output queue, user, ending date,
* ending time, or user data.
*
*@see SpooledFile
**/
public class SpooledFileList extends PrintObjectList
implements java.io.Serializable
{
static final long serialVersionUID = 4L;
private static final String FORM_TYPE_FILTER = "formTypeFilter";
private static final String QUEUE_FILTER = "queueFilter";
private static final String USER_FILTER = "userFilter";
private static final String USER_DATA_FILTER = "userDataFilter";
private static final String END_DATE_FILTER = "endDateFilter";
private static final String END_TIME_FILTER = "endTimeFilter";
private static final String START_DATE_FILTER = "startDateFilter";
private static final String START_TIME_FILTER = "startTimeFilter";
private static final String JOB_SYSTEM_FILTER = "jobSystemFilter";
/**
* Constructs a SpooledFileList object. The system
* must be set later. This constructor is provided for visual
* application builders that support JavaBeans. It is not
* intended for use by application programmers.
*
* @see PrintObjectList#setSystem
**/
public SpooledFileList()
{
super(NPConstants.SPOOLED_FILE, new NPCPSelSplF());
// Because of this constructor we will need to check the
// system before trying to use it.
}
/**
* Constructs a SpooledFileList object. It uses the system
* name specified.
* The default list filter will list all spooled files for the
* current user on the specified system.
*
* @param system The system on which the spooled files exist.
*
**/
public SpooledFileList(AS400 system)
{
super(NPConstants.SPOOLED_FILE, new NPCPSelSplF(), system);
}
/**
* Chooses the appropriate implementation.
**/
@Override
void chooseImpl()
{
AS400 system = getSystem();
if (system == null) {
Trace.log( Trace.ERROR, "Attempt to use SpooledFileList before setting system.");
throw new ExtendedIllegalStateException("system", ExtendedIllegalStateException.PROPERTY_NOT_SET);
}
impl_ = (PrintObjectListImpl) system.loadImpl2("com.ibm.as400.access.SpooledFileListImplRemote",
"com.ibm.as400.access.SpooledFileListImplProxy");
super.setImpl();
}
/**
* Returns the formtype list filter.
* @return list filter
*
**/
public String getFormTypeFilter()
{
// The selection code point is always present, the formType Filter
// may not have been set. If empty, getFormType() will
// return an empty string.
NPCPSelSplF selectionCP = (NPCPSelSplF)getSelectionCP();
return( selectionCP.getFormType() );
}
/**
* Returns the output queue filter.
* @return queue filter
*
**/
public String getQueueFilter()
{
// The selection code point is always present, the Queue Filter
// may not have been set. If empty, getQueue() will return
// an empty string.
NPCPSelSplF selectionCP = (NPCPSelSplF)getSelectionCP();
return( selectionCP.getQueue() );
}
/**
* Returns the user ID list filter.
* @return user filters
*
**/
public String getUserFilter()
{
// The selection code point is always present, the user Filter
// may not have been set. If empty, getUser() will return
// an empty string.
NPCPSelSplF selectionCP = (NPCPSelSplF)getSelectionCP();
return( selectionCP.getUser() );
}
/**
* Returns the user data list filter.
* @return user data filter
*
**/
public String getUserDataFilter()
{
// The selection code point is always present, the userData Filter
// may not have been set. If empty, getUserData() will return
// an empty string.
NPCPSelSplF selectionCP = (NPCPSelSplF)getSelectionCP();
return( selectionCP.getUserData() );
}
/**
* Returns the create job system filter.
* @return job system filters
*
**/
public String getJobSystemFilter()
{
// If empty, getJobSystem will return an blank string.
NPCPSelSplF selectionCP = (NPCPSelSplF)getSelectionCP();
return( selectionCP.getJobSystem() );
}
/**
* Returns the create end date filter.
* @return end date filter
*
**/
public String getEndDateFilter()
{
// If empty, getEndDate will return an blank string.
NPCPSelSplF selectionCP = (NPCPSelSplF)getSelectionCP();
return( selectionCP.getEndDate() );
}
/**
* Returns the create end time filter.
* @return end time filter
*
**/
public String getEndTimeFilter()
{
// If empty, getEndTime will return an blank string.
NPCPSelSplF selectionCP = (NPCPSelSplF)getSelectionCP();
return( selectionCP.getEndTime() );
}
@Override
SpooledFile newNPObject(NPCPID cpid, NPCPAttribute cpattr)
{
return new SpooledFile(system_, (NPCPIDSplF)cpid, cpattr);
}
/**
* Returns the create start date filter.
* @return start date filter
*
**/
public String getStartDateFilter()
{
// If empty, getStartDate will return blank string.
NPCPSelSplF selectionCP = (NPCPSelSplF)getSelectionCP();
return( selectionCP.getStartDate() );
}
/**
* Returns the create start time filter.
* @return start time filter
*
**/
public String getStartTimeFilter()
{
// If empty, getStartTime will return an blank string.
NPCPSelSplF selectionCP = (NPCPSelSplF)getSelectionCP();
return( selectionCP.getStartTime() );
}
/**
* Sets the formtype list filter.
* @param formTypeFilter The form type the spooled file must to be included
* in the list. It cannot be greater than 10 characters.
* The value can be any specific value or any of these special values:
*
* - *ALL - Spooled files with any form type will be included in the list.
*
- *STD - Spooled files with the form type *STD will be included in the list.
*
* The default is *ALL.
*
* @exception PropertyVetoException If the change is vetoed.
*
**/
public void setFormTypeFilter(String formTypeFilter)
throws PropertyVetoException
{
if( formTypeFilter == null )
{
Trace.log( Trace.ERROR, "Parameter 'formTypeFilter' is null" );
throw new NullPointerException( FORM_TYPE_FILTER );
}
// Allow a length of 0 to remove the filter from the
// selection code point.
if (formTypeFilter.length() > 10)
{
Trace.log(Trace.ERROR, "Parameter 'formTypeFilter' is greater than 10 characters in length.");
throw new ExtendedIllegalArgumentException(
"formTypeFilter("+formTypeFilter+")",
ExtendedIllegalArgumentException.PARAMETER_VALUE_NOT_VALID);
}
String oldFormTypeFilter = getFormTypeFilter();
// Tell any vetoers about the change. If anyone objects
// we let the PropertyVetoException propagate back to
// our caller.
vetos.fireVetoableChange( FORM_TYPE_FILTER,
oldFormTypeFilter, formTypeFilter );
// No one vetoed, make the change.
NPCPSelSplF selectionCP = (NPCPSelSplF)getSelectionCP();
selectionCP.setFormType(formTypeFilter);
// Propagate any change to ImplRemote if necessary...
if (impl_ != null)
impl_.setFilter("formType", formTypeFilter);
changes.firePropertyChange( FORM_TYPE_FILTER,
oldFormTypeFilter, formTypeFilter );
}
/**
* Sets the output queue filter.
* @param queueFilter The library and output queues on which to list spooled
* files. The format of the queueFilter string must be in the
* format of /QSYS.LIB/libname.LIB/queuename.OUTQ where
*
* libname is the library name that contains the queues to search.
* It can be a specific name or one of these special values:
*
* - %CURLIB% - The server job's current library
*
- %LIBL% - The server job's library list
*
- %ALL% - All libraries are searched. This value is only valid
* if the queuename is %ALL%.
*
* queuename is the name of an output queues to search.
* It can be a specific name or the special value %ALL%.
* If it is %ALL%, then the libname must be %ALL%.
*
* @exception PropertyVetoException If the change is vetoed.
*
**/
public void setQueueFilter(String queueFilter)
throws PropertyVetoException
{
if( queueFilter == null )
{
Trace.log( Trace.ERROR, "Parameter 'queueFilter' is null" );
throw new NullPointerException( QUEUE_FILTER );
}
String oldQueueFilter = getQueueFilter();
// Tell any vetoers about the change. If anyone objects
// we let the PropertyVetoException propagate back to
// our caller.
vetos.fireVetoableChange( QUEUE_FILTER, oldQueueFilter, queueFilter );
// No one vetoed, make the change.
NPCPSelSplF selectionCP = (NPCPSelSplF)getSelectionCP();
selectionCP.setQueue(queueFilter);
// Propagate any change to ImplRemote if necessary...
if (impl_ != null)
impl_.setFilter("spooledFileQueue", queueFilter);
// Notify any property change listeners.
changes.firePropertyChange( QUEUE_FILTER, oldQueueFilter, queueFilter );
}
/**
* Sets the create job system filter.
* The name of the system where the job, specified in the qualified job name
* parameter, was run. This parameter can be used in conjunction with the user
* name, qualified output queue name, form type, user-specified data, auxiliary
* storage pool, starting spooled file create date, starting spooled file create
* time, ending spooled file create date, or ending spooled file create time
* parameters to return a partial list of all the spooled files. The list of
* spooled files returned is sorted by status, output priority, date, and time.
*
* The following special values are supported for this parameter:
*@param jobSystemFilter
*
*
* - *ALL The returned list is not to be filtered based on job system name.
*
* -
* *CURRENT
* Only spooled files created on the current system are to be returned.
*
* - job-system-name
* Only spooled files created on the system specified are to be returned.
*
*
*
* The system referenced by system must be at V5R2 or later to
* support this filter.
*
* @exception PropertyVetoException If the change is vetoed.
*
**/
public void setJobSystemFilter(String jobSystemFilter)
throws PropertyVetoException
{
if( jobSystemFilter == null )
{
Trace.log( Trace.ERROR, "Parameter 'jobSystemFilter' is null" );
throw new NullPointerException( JOB_SYSTEM_FILTER );
}
String oldJobSystemFilter = getJobSystemFilter();
// Tell any vetoers about the change. If anyone objects
// we let the PropertyVetoException propagate back to
// our caller.
vetos.fireVetoableChange( JOB_SYSTEM_FILTER, oldJobSystemFilter, jobSystemFilter );
// No one vetoed, make the change.
NPCPSelSplF selectionCP = (NPCPSelSplF)getSelectionCP();
selectionCP.setJobSystem(jobSystemFilter);
// Propagate any change to ImplRemote if necessary...
if (impl_ != null)
impl_.setFilter("jobSystem", jobSystemFilter);
// Notify any property change listeners.
changes.firePropertyChange( JOB_SYSTEM_FILTER, oldJobSystemFilter, jobSystemFilter );
}
/**
* Sets the end date filter.
* The date the spooled file was created on the system. If the Starting
* spooled file create date field is set to *ALL, then this field must be
* set to blanks. If a date has been specified for the Starting spooled
* file create date field, then this field must be set to a valid date. The
* date must be in the CYYMMDD format or the following special value:
* @param endDateFilter
*
* date All spooled files with a create date and time equal to or
* later than the starting spooled file create date are to be returned.
*
* - *LAST - All spooled files with a create date and time equal to or
* later than the starting spooled file create date are to be returned.
*
*
* The system referenced by system must be at V5R2 or later to
* support this filter.
*
* @exception PropertyVetoException If the change is vetoed.
*
**/
public void setEndDateFilter(String endDateFilter)
throws PropertyVetoException
{
if( endDateFilter == null )
{
Trace.log( Trace.ERROR, "Parameter 'endDateFilter' is null" );
throw new NullPointerException( END_DATE_FILTER );
}
if ((endDateFilter.length() > 7))
{
Trace.log(Trace.ERROR, "Parameter 'endDateFilter' has invalid length.");
throw new ExtendedIllegalArgumentException(
"endDateFilter("+endDateFilter+")",
ExtendedIllegalArgumentException.LENGTH_NOT_VALID);
}
String oldEndDateFilter = getEndDateFilter();
// Tell any vetoers about the change. If anyone objects
// we let the PropertyVetoException propagate back to
// our caller.
vetos.fireVetoableChange( END_DATE_FILTER, oldEndDateFilter, endDateFilter );
// No one vetoed, make the change.
NPCPSelSplF selectionCP = (NPCPSelSplF)getSelectionCP();
selectionCP.setEndDate(endDateFilter);
// Propagate any change to ImplRemote if necessary...
if (impl_ != null)
impl_.setFilter("endDate", endDateFilter);
// Notify any property change listeners.
changes.firePropertyChange( END_DATE_FILTER, oldEndDateFilter, endDateFilter );
}
/**
* Sets the end time filter.
* The time the spooled file was created on the system. This field must be
* set to blanks when special value *ALL is used for field Starting spooled
* file create date or when special value *LAST is used for field Ending
* spooled file create date. This field must have a value set if a date is
* specified for field Ending spooled file create date. The time must be in the
* HHMMSS format.
* @param endTimeFilter
*
* time All spooled files with a create date and time equal to or
* later than the starting spooled file create date are to be returned.
*
*
* The system referenced by system must be at V5R2 or later to
* support this filter.
*
* @exception PropertyVetoException If the change is vetoed.
*
**/
public void setEndTimeFilter(String endTimeFilter)
throws PropertyVetoException
{
if( endTimeFilter == null )
{
Trace.log( Trace.ERROR, "Parameter 'endTimeFilter' is null" );
throw new NullPointerException( END_TIME_FILTER );
}
String oldEndTimeFilter = getEndTimeFilter();
// Tell any vetoers about the change. If anyone objects
// we let the PropertyVetoException propagate back to
// our caller.
vetos.fireVetoableChange( END_TIME_FILTER, oldEndTimeFilter, endTimeFilter );
// No one vetoed, make the change.
NPCPSelSplF selectionCP = (NPCPSelSplF)getSelectionCP();
selectionCP.setEndTime(endTimeFilter);
// Propagate any change to ImplRemote if necessary...
if (impl_ != null)
impl_.setFilter("endTime", endTimeFilter);
// Notify any property change listeners.
changes.firePropertyChange( END_TIME_FILTER, oldEndTimeFilter, endTimeFilter );
}
/**
* Sets the create start date filter.
* The date the spooled file was created on the system. This parameter can be
* used in conjunction with the user name, qualified output queue name, form
* type, user-specified data, auxiliary storage pool, job system name, starting
* spooled file create time, ending spooled file create date, or ending spooled
* file create time parameters to return a partial list of all the spooled files.
* The list of spooled files returned is sorted by status, output priority, date,
* and time. The date must be in the CYYMMDD format or one of the following
* special values:
* @param startDateFilter
*
* date All spooled files with a create date and time equal to or
* later than the starting spooled file create date are to be returned.
* *ALL The returned list is not to be filtered based on spooled file
* create date and spooled file create time.
* *FIRST All spooled files starting with the earliest create date and time and less than or equal to the ending
* spooled file create date and time are to be returned.
*
* The system referenced by system must be at V5R2 or later to
* support this filter.
*
* @exception PropertyVetoException If the change is vetoed.
*
**/
public void setStartDateFilter(String startDateFilter)
throws PropertyVetoException
{
if( startDateFilter == null )
{
Trace.log( Trace.ERROR, "Parameter 'startDateFilter' is null" );
throw new NullPointerException( START_DATE_FILTER );
}
String oldStartDateFilter = getStartDateFilter();
// Tell any vetoers about the change. If anyone objects
// we let the PropertyVetoException propagate back to
// our caller.
vetos.fireVetoableChange( START_DATE_FILTER, oldStartDateFilter, startDateFilter );
// No one vetoed, make the change.
NPCPSelSplF selectionCP = (NPCPSelSplF)getSelectionCP();
selectionCP.setStartDate(startDateFilter);
// Propagate any change to ImplRemote if necessary...
if (impl_ != null)
impl_.setFilter("startDate", startDateFilter);
// Notify any property change listeners.
changes.firePropertyChange( START_DATE_FILTER, oldStartDateFilter, startDateFilter );
}
/**
* Sets the create start time filter.
* This parameter can be used in conjunction with the user name, qualified
* output queue name, form type, user-specified data, auxiliary storage pool,
* job system name, starting spooled file create date, ending spooled file
* create date, or ending spooled file create time parameters to return a
* partial list of all the spooled files. The list of spooled files returned
* is sorted by status, output priority, date, and time. This parameter must
* be set to blanks when special value *ALL or *FIRST is used for parameter
* Starting spooled file create date. This parameter must have a value set if
* a date is specified for parameter Starting spooled file create date. The
* time must be in the HHMMSS format.
*
* The time format HHMMSS is defined as follows:
* @param startTimeFilter
*
* time All spooled files with a create date and time equal to or
*
* The system referenced by system must be at V5R2 or later to
* support this filter.
*
* @exception PropertyVetoException If the change is vetoed.
*
**/
public void setStartTimeFilter(String startTimeFilter)
throws PropertyVetoException
{
if( startTimeFilter == null )
{
Trace.log( Trace.ERROR, "Parameter 'startTimeFilter' is null" );
throw new NullPointerException( START_TIME_FILTER );
}
String oldStartTimeFilter = getStartTimeFilter();
// Tell any vetoers about the change. If anyone objects
// we let the PropertyVetoException propagate back to
// our caller.
vetos.fireVetoableChange( START_TIME_FILTER, oldStartTimeFilter, startTimeFilter );
// No one vetoed, make the change.
NPCPSelSplF selectionCP = (NPCPSelSplF)getSelectionCP();
selectionCP.setStartTime(startTimeFilter);
// Propagate any change to ImplRemote if necessary...
if (impl_ != null)
impl_.setFilter("StartTime", startTimeFilter);
// Notify any property change listeners.
changes.firePropertyChange( START_TIME_FILTER, oldStartTimeFilter, startTimeFilter );
}
/**
* Sets the user ID list filter.
*
* @param userFilter The user or users for which to list spooled files.
* The value cannot be greater than 10 characters.
* The value can be any specific user ID or any of these special values:
*
* - *ALL - Spooled files created by all users will be included in the list.
*
- *CURRENT - Spooled files created by the current user only will be in the list.
*
* The default is *CURRENT.
*
* @exception PropertyVetoException If the change is vetoed.
*
**/
public void setUserFilter(String userFilter)
throws PropertyVetoException
{
if( userFilter == null )
{
Trace.log( Trace.ERROR, "Parameter 'userFilter' is null" );
throw new NullPointerException( USER_FILTER );
}
// Allow a length of 0 to remove the filter from the
// selection code point.
if (userFilter.length() > 10)
{
Trace.log(Trace.ERROR, "Parameter 'userFilter' is greater than 10 characters in length.");
throw new ExtendedIllegalArgumentException(
"userFilter("+userFilter+")",
ExtendedIllegalArgumentException.LENGTH_NOT_VALID);
}
String oldUserFilter = getUserFilter();
// Tell any vetoers about the change. If anyone objects
// we let the PropertyVetoException propagate back to
// our caller.
vetos.fireVetoableChange( USER_FILTER, oldUserFilter, userFilter );
// No one vetoed, make the change.
NPCPSelSplF selectionCP = (NPCPSelSplF)getSelectionCP();
selectionCP.setUser(userFilter);
// Propagate any change to ImplRemote if necessary...
if (impl_ != null)
impl_.setFilter("user", userFilter);
// Notify any property change listeners
changes.firePropertyChange( USER_FILTER, oldUserFilter, userFilter );
}
/**
* Sets the user data list filter.
*
* @param userDataFilter The user data the spooled file must
* have for it to be included in the list. The value can be
* any specific value or the special value *ALL. The value cannot be
* greater than 10 characters.
* The default is *ALL.
*
* @exception PropertyVetoException If the change is vetoed.
*
**/
public void setUserDataFilter(String userDataFilter)
throws PropertyVetoException
{
if( userDataFilter == null )
{
Trace.log( Trace.ERROR, "Parameter 'userDataFilter' is null" );
throw new NullPointerException( USER_DATA_FILTER );
}
// Allow a length of 0 to remove the filter from the
// selection code point.
if (userDataFilter.length() > 10)
{
Trace.log(Trace.ERROR, "Parameter 'userDataFilter' is greater than 10 characters in length.");
throw new ExtendedIllegalArgumentException(
"userDataFilter("+userDataFilter+")",
ExtendedIllegalArgumentException.LENGTH_NOT_VALID);
}
String oldUserDataFilter = getUserDataFilter();
// Tell any vetoers about the change. If anyone objects
// we let the PropertyVetoException propagate back to
// our caller.
vetos.fireVetoableChange( USER_DATA_FILTER,
oldUserDataFilter, userDataFilter );
// No one vetoed, make the change.
NPCPSelSplF selectionCP = (NPCPSelSplF)getSelectionCP();
selectionCP.setUserData(userDataFilter);
// Propagate any change to ImplRemote if necessary...
if (impl_ != null)
impl_.setFilter("userData", userDataFilter);
// Notify any property change listeners.
changes.firePropertyChange( USER_DATA_FILTER,
oldUserDataFilter, userDataFilter );
}
} // SpooledFileList class
© 2015 - 2025 Weber Informatics LLC | Privacy Policy