com.ibm.as400.access.PrinterFileList 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: PrinterFileList.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;
/**
* The PrinterFileList class is used to build a list of objects of type PrinterFile.
* The list can be filtered by library and printer file name.
*
*@see PrinterFile
**/
public class PrinterFileList extends PrintObjectList
implements java.io.Serializable
{
private static final String copyright = "Copyright (C) 1997-2000 International Business Machines Corporation and others.";
static final long serialVersionUID = 4L;
private static final String PRINTER_FILE_FILTER = "printerFileFilter";
/**
* Constructs a PrinterFileList 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 PrinterFileList()
{
super(NPConstants.PRINTER_FILE, new NPCPSelPrtF());
// Because of this constructor we will need to check the
// system before trying to use it.
}
/**
* Constructs a PrinterFileList object. It uses the system name specified.
*
* @param system The system on which the printer files exists.
*
**/
public PrinterFileList(AS400 system)
{
super(NPConstants.PRINTER_FILE, new NPCPSelPrtF(), system);
}
/**
* Chooses the appropriate implementation.
**/
@Override
void chooseImpl()
{
AS400 system = getSystem();
if (system == null) {
Trace.log( Trace.ERROR, "Attempt to use PrinterFileList before setting system.");
throw new ExtendedIllegalStateException("system", ExtendedIllegalStateException.PROPERTY_NOT_SET);
}
impl_ = (PrintObjectListImpl) system.loadImpl2("com.ibm.as400.access.PrinterFileListImplRemote",
"com.ibm.as400.access.PrinterFileListImplProxy");
super.setImpl();
}
/**
* Returns the printer file list filter.
* @return The printer file list filter.
*
**/
public String getPrinterFileFilter()
{
// The selection code point is always present, it may
// however be empty. If empty, getPrinterFile() will
// return an empty string.
NPCPSelPrtF selectionCP = (NPCPSelPrtF)getSelectionCP();
return( selectionCP.getPrinterFile() );
}
@Override
PrinterFile newNPObject(NPCPID cpid, NPCPAttribute cpattr)
{
return new PrinterFile(system_, (NPCPIDPrinterFile)cpid, cpattr);
}
/**
* Sets the printer file list filter.
* @param printerFileFilter The library and printer files to list.
* The format of the printerFileFilter string must be in the
* format of /QSYS.LIB/libname.LIB/printerfilename.FILE, where
*
* libname is the library name that contains the printer files to search.
* It can be a specific name or one of these special values:
*
* - %ALL% - All libraries are searched.
*
- %ALLUSR% - All user-defined libraries, plus libraries containing user data
* and having names starting with the letter Q.
*
- %CURLIB% - The server job's current library.
*
- %LIBL% - The server job's library list.
*
- %USRLIBL% - The user portion of the server job's library list.
*
* printerfilename is the name of the printer files to list.
* It can be a specific name, a generic name, or the special value %ALL%.
* The default for the library is %LIBL% and for the printer file name is %ALL%.
*
* @exception PropertyVetoException If the change is vetoed.
*
**/
public void setPrinterFileFilter(String printerFileFilter)
throws PropertyVetoException
{
if( printerFileFilter == null )
{
Trace.log( Trace.ERROR, "Parameter 'printerFileFilter' is null" );
throw new NullPointerException( PRINTER_FILE_FILTER );
}
String oldPrinterFileFilter = getPrinterFileFilter();
// Tell any vetoers about the change. If anyone objects
// we let the PropertyVetoException propagate back to
// our caller.
vetos.fireVetoableChange( PRINTER_FILE_FILTER,
oldPrinterFileFilter, printerFileFilter );
// No one vetoed, make the change.
NPCPSelPrtF selectionCP = (NPCPSelPrtF)getSelectionCP();
selectionCP.setPrinterFile(printerFileFilter);
// Propagate change to ImplRemote if necessary...
if (impl_ != null)
impl_.setFilter("printerFile", printerFileFilter);
// Notify any property change listeners.
changes.firePropertyChange( PRINTER_FILE_FILTER,
oldPrinterFileFilter, printerFileFilter );
}
} // PrinterFileList class
© 2015 - 2025 Weber Informatics LLC | Privacy Policy