com.ibm.as400.access
Class PrintObjectList

java.lang.Object
  |
  +--com.ibm.as400.access.PrintObjectList
All Implemented Interfaces:
java.io.Serializable
Direct Known Subclasses:
AFPResourceList, OutputQueueList, PrinterFileList, PrinterList, SpooledFileList, WriterJobList

public abstract class PrintObjectList
extends java.lang.Object
implements java.io.Serializable

The PrintObjectList class is an abstract base class for the various types of network print object lists.

See Also:
Serialized Form

Method Summary
 void addPrintObjectListListener(PrintObjectListListener listener)
          Adds the specified PrintObjectList listener to receive PrintObjectList events from this print object list.
 void addPropertyChangeListener(java.beans.PropertyChangeListener listener)
          Adds the specified PropertyChange listener to receive PropertyChange events from this print object list.
 void addVetoableChangeListener(java.beans.VetoableChangeListener listener)
          Adds the specified VetoableChange listener to receive VetoableChange events from this print object list.
 void close()
          Closes the list so that objects in the list can be garbage collected.
 PrintObject getObject(int index)
          Returns one object from the list.
 java.util.Enumeration getObjects()
          Returns an enumeration of the PrintObjects in the list.
 AS400 getSystem()
          Returns the AS/400 system name.
 boolean isCompleted()
          Checks if a list that was opened asynchronously has completed.
 void openAsynchronously()
          Builds the list asynchronously.
 void openSynchronously()
          Builds the list synchronously.
 void removePrintObjectListListener(PrintObjectListListener listener)
          Removes the specified PrintObjectList listener so that it no longer receives PrintObjectList events from this print object list.
 void removePropertyChangeListener(java.beans.PropertyChangeListener listener)
          Removes the specified PropertyChange listener so that it no longer receives PropertyChange events from this print object list.
 void removeVetoableChangeListener(java.beans.VetoableChangeListener listener)
          Removes the specified VetoableChange listener so that it no longer receives VetoableChange events from this print object list.
 void resetAttributesToRetrieve()
          Resets the list of object attributes to retrieve.
 void resetFilter()
          Resets the list filter back to default values.
 void setAttributesToRetrieve(int[] attributes)
          Sets the attributes of the object that should be returned in the list.
 void setSystem(AS400 system)
          Sets the AS/400 system name.
 int size()
          Returns the current size of the list.
 void waitForItem(int itemNumber)
          Blocks until the number of requested items are done being built.
 void waitForListToComplete()
          Blocks until the list is done being built.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Method Detail

addPrintObjectListListener

public void addPrintObjectListListener(PrintObjectListListener listener)
Adds the specified PrintObjectList listener to receive PrintObjectList events from this print object list.
Parameters:
listener - The PrintObjectList listener.
See Also:
removePrintObjectListListener(com.ibm.as400.access.PrintObjectListListener)

addPropertyChangeListener

public void addPropertyChangeListener(java.beans.PropertyChangeListener listener)
Adds the specified PropertyChange listener to receive PropertyChange events from this print object list.
Parameters:
listener - The PropertyChange listener.
See Also:
removePropertyChangeListener(java.beans.PropertyChangeListener)

addVetoableChangeListener

public void addVetoableChangeListener(java.beans.VetoableChangeListener listener)
Adds the specified VetoableChange listener to receive VetoableChange events from this print object list.
Parameters:
listener - The VetoableChange listener.
See Also:
removeVetoableChangeListener(java.beans.VetoableChangeListener)

close

public void close()
Closes the list so that objects in the list can be garbage collected.

getObject

public PrintObject getObject(int index)
Returns one object from the list.
Parameters:
index - The index of the desired object.
Throws:
java.lang.ArrayIndexOutOfBoundsException - If an invalid index is given.

getObjects

public java.util.Enumeration getObjects()
Returns an enumeration of the PrintObjects in the list.

getSystem

public final AS400 getSystem()
Returns the AS/400 system name. This method is primarily provided for visual application builders that support JavaBeans.
Returns:
The AS/400 system on which the objects in the list exist.

isCompleted

public boolean isCompleted()
                    throws AS400Exception,
                           AS400SecurityException,
                           ConnectionDroppedException,
                           ErrorCompletingRequestException,
                           java.lang.InterruptedException,
                           java.io.IOException,
                           RequestNotSupportedException
Checks if a list that was opened asynchronously has completed. If any exception occurred while the list was being retrieved, it will be thrown here.
Returns:
true if the list is completely built; false otherwise.
Throws:
AS400Exception - If the AS/400 system returns an error message.
AS400SecurityException - If a security or authority error occurs.
ConnectionDroppedException - If the connection is dropped unexpectedly.
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 AS/400.
RequestNotSupportedException - If the requested function is not supported because the AS/400 system is not at the correct level.

openAsynchronously

public void openAsynchronously()
Builds the list asynchronously. This method starts a thread to build the list and then returns. The caller may register listeners to obtain status about the list, or call isCompleted(), waitForItem(), or waitForListToComplete().

openSynchronously

public void openSynchronously()
                       throws AS400Exception,
                              AS400SecurityException,
                              ConnectionDroppedException,
                              ErrorCompletingRequestException,
                              java.lang.InterruptedException,
                              java.io.IOException,
                              RequestNotSupportedException
Builds the list synchronously. This method will not return until the list has been built completely. The caller may then call the getObjects() method to get an enumeration of the list.
Throws:
AS400Exception - If the AS/400 system returns an error message.
AS400SecurityException - If a security or authority error occurs.
ConnectionDroppedException - If the connection is dropped unexpectedly.
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 AS/400.
RequestNotSupportedException - If the requested function is not supported because the AS/400 system is not at the correct level.

removePrintObjectListListener

public void removePrintObjectListListener(PrintObjectListListener listener)
Removes the specified PrintObjectList listener so that it no longer receives PrintObjectList events from this print object list.
Parameters:
listener - The PrintObjectList listener.
See Also:
addPrintObjectListListener(com.ibm.as400.access.PrintObjectListListener)

removePropertyChangeListener

public void removePropertyChangeListener(java.beans.PropertyChangeListener listener)
Removes the specified PropertyChange listener so that it no longer receives PropertyChange events from this print object list.
Parameters:
listener - The PropertyChange listener.
See Also:
addPropertyChangeListener(java.beans.PropertyChangeListener)

removeVetoableChangeListener

public void removeVetoableChangeListener(java.beans.VetoableChangeListener listener)
Removes the specified VetoableChange listener so that it no longer receives VetoableChange events from this print object list.
Parameters:
listener - The VetoableChange listener.
See Also:
addVetoableChangeListener(java.beans.VetoableChangeListener)

resetAttributesToRetrieve

public void resetAttributesToRetrieve()
Resets the list of object attributes to retrieve.

resetFilter

public void resetFilter()
Resets the list filter back to default values.

setAttributesToRetrieve

public void setAttributesToRetrieve(int[] attributes)
Sets the attributes of the object that should be returned in the list. This method can be used to speed up the listing if only interested in a few attributes for each item in the list.
Parameters:
attributes - An array of attribute IDs that define which object attributes will be retrieved for each item in the list when the list is opened.
See Also:
PrintObject

setSystem

public final void setSystem(AS400 system)
                     throws java.beans.PropertyVetoException
Sets the AS/400 system name. This method is primarily provided for visual application builders that support JavaBeans. Application programmers should specify the AS/400 system in the constructor for the specific network print object list. For example, SpooledFileList myList = new SpooledFileList(mySystem).
Parameters:
system - The AS/400 system name.
Throws:
java.beans.PropertyVetoException - If the change is vetoed.

size

public int size()
Returns the current size of the list.

waitForItem

public void waitForItem(int itemNumber)
                 throws AS400Exception,
                        AS400SecurityException,
                        ConnectionDroppedException,
                        ErrorCompletingRequestException,
                        java.lang.InterruptedException,
                        java.io.IOException,
                        RequestNotSupportedException
Blocks until the number of requested items are done being built.
Parameters:
itemNumber - The number of items to wait for before returning. Must be greater than 0;
Throws:
AS400Exception - If the AS/400 system returns an error message.
AS400SecurityException - If a security or authority error occurs.
ConnectionDroppedException - If the connection is dropped unexpectedly.
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 AS/400.
RequestNotSupportedException - If the requested funtion is not supported because the AS/400 system is not at the correct level.

waitForListToComplete

public void waitForListToComplete()
                           throws AS400Exception,
                                  AS400SecurityException,
                                  ConnectionDroppedException,
                                  ErrorCompletingRequestException,
                                  java.lang.InterruptedException,
                                  java.io.IOException,
                                  RequestNotSupportedException
Blocks until the list is done being built.
Throws:
AS400Exception - If the AS/400 system returns an error message.
AS400SecurityException - If a security or authority error occurs.
ConnectionDroppedException - If the connection is dropped unexpectedly.
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 AS/400.
RequestNotSupportedException - If the requested function is not supported because the AS/400 system is not at the correct level.