com.ibm.as400.vaccess
Class SpooledFileViewer

java.lang.Object
  |
  +--java.awt.Component
        |
        +--java.awt.Container
              |
              +--javax.swing.JComponent
                    |
                    +--com.ibm.as400.vaccess.SpooledFileViewer
All Implemented Interfaces:
java.awt.image.ImageObserver, java.awt.MenuContainer, java.io.Serializable

public class SpooledFileViewer
extends javax.swing.JComponent
implements java.io.Serializable

The SpooledFileViewer class represents an AS/400 spooled file viewer. You can create an instance of this class to view an individual AFPDS or SCS spooled file on the AS/400. Viewer functions such as page forward, page back, set current page, and so on, are provided. The following properties can be set directly, but require the invocation of load() to load the information from the AS/400.

The following properties can be set directly, but require the invocation of loadPage() to load the information from the AS/400.

Most errors are reported as ErrorEvents rather than throwing exceptions. Users should listen for ErrorEvents in order to diagnose and recover from error conditions.

SpooledFileViewer objects generate the following events:

(To create new spooled files on the AS/400, use the SpooledFileOutputStream class. See Spooled File Attributes for valid attributes.)

The following example creates a spooled file viewer to display a spooled file previously created on the AS/400.

// Assume splf is the spooled file.
// Create the spooled file viewer
SpooledFileViewer splfv = new SpooledFileViewer(splf, 1);
splfv.load();

// Add the spooled file viewer to a frame
JFrame frame = new JFrame("My Window");
frame.getContentPane().add(splfv);

See Also:
SpooledFile, Serialized Form

Inner classes inherited from class javax.swing.JComponent
javax.swing.JComponent.AccessibleJComponent
 
Inner classes inherited from class java.awt.Container
java.awt.Container.AccessibleAWTContainer
 
Inner classes inherited from class java.awt.Component
java.awt.Component.AccessibleAWTComponent
 
Field Summary
static int A3
          Represents A3 paper size (297 x 420 mm)
static int A4
          Represents A4 paper size (210 x 297 mm)
static int A5
          Represents A5 paper size (148 x 210 mm)
static int ABSOLUTE_FIDELITY
          Represents *ABSOLUTE viewing fidelity
static int B4
          Represents B4 paper size (257 x 364 mm)
static int B5
          Represents B5 paper size (182 x 257 mm)
static int CONT132
          Represents continuous feed 132 paper size (13.2 x 11 inches)
static int CONT80
          Represents continuous feed 80 paper size (8 x 11 inches)
static int CONTENT_FIDELITY
          Represents *CONTENT viewing fidelity
static int EXECUTIVE
          Represents executive paper size (7.25 x 10.5 inches)
static int LEDGER
          Represents ledger paper size (17 x 11 inches)
static int LEGAL
          Represents legal paper size (8.5 x 14 inches)
static int LETTER
          Represents letter paper size (8.5 x 11 inches)
static int NONE
          Represents no paper size
 
Fields inherited from class javax.swing.JComponent
accessibleContext, listenerList, TOOL_TIP_TEXT_KEY, ui, UNDEFINED_CONDITION, WHEN_ANCESTOR_OF_FOCUSED_COMPONENT, WHEN_FOCUSED, WHEN_IN_FOCUSED_WINDOW
 
Fields inherited from class java.awt.Component
BOTTOM_ALIGNMENT, CENTER_ALIGNMENT, LEFT_ALIGNMENT, RIGHT_ALIGNMENT, TOP_ALIGNMENT
 
Fields inherited from interface java.awt.image.ImageObserver
ABORT, ALLBITS, ERROR, FRAMEBITS, HEIGHT, PROPERTIES, SOMEBITS, WIDTH
 
Constructor Summary
SpooledFileViewer()
          Constructs a SpooledFileViewer object.
SpooledFileViewer(SpooledFile spooledFile)
          Constructs a SpooledFileViewer object.
SpooledFileViewer(SpooledFile spooledFile, int page)
          Constructs a SpooledFileViewer object.
 
Method Summary
 void actualSize()
          Resets the size of the page image to its original size.
 void addErrorListener(ErrorListener listener)
          Adds a listener to be notified when an error occurs.
 void addPropertyChangeListener(java.beans.PropertyChangeListener listener)
          Adds a listener to be notified when the value of any bound property changes.
 void addStatusBar()
          Adds the status bar.
 void addToolBar()
          Adds the tool bar.
 void addVetoableChangeListener(java.beans.VetoableChangeListener listener)
          Adds a listener to be notified when the value of any constrained property changes.
 void addWorkingListener(WorkingListener listener)
          Adds a listener to be notified of a working state.
 void close()
          Closes the viewer.
protected  void finalize()
          Closes the viewer.
 void fitHeight()
          Stretches the size of the page image vertically to the edges of the viewing window.
 void fitPage()
          Stretches the size of the page image horizontally or vertically so the entire view is contained within the edges of the viewing window.
 void fitWidth()
          Stretches the size of the page image horizontally to the edges of the viewing window.
 int getCurrentPage()
          Returns the page number of the current page.
 int getNumberOfPages()
          Returns the number of pages in the spooled file.
 int getPaperSize()
          Returns the paper size.
 java.awt.Dimension getPreferredSize()
          Returns the preferred size of the viewer.
 SpooledFile getSpooledFile()
          Returns the spooled file being viewed.
 int getViewingFidelity()
          Returns the viewing fidelity.
 boolean isNumberOfPagesEstimated()
          Indicates if the number of pages associated with the spooled file being viewed is estimated.
 void load()
          Loads the spooled file for viewing.
 void loadFlashPage()
          Loads the previously viewed page.
 void loadPage()
          Loads the current page for viewing.
 void pageBack()
          Sets the view back one page.
 void pageForward()
          Sets the view forward one page.
 void removeErrorListener(ErrorListener listener)
          Removes an ErrorListener.
 void removePropertyChangeListener(java.beans.PropertyChangeListener listener)
          Removes a property change listener.
 void removeStatusBar()
          Removes the status bar.
 void removeToolBar()
          Removes the tool bar.
 void removeVetoableChangeListener(java.beans.VetoableChangeListener listener)
          Removes a vetoable change listener.
 void removeWorkingListener(WorkingListener listener)
          Removes a WorkingListener.
 void setCurrentPage(int newPage)
          Sets the current page.
 void setPaperSize(int paperSize)
          Sets the papersize.
 void setSpooledFile(SpooledFile spooledFile)
          Sets the spooled file.
 void setViewingFidelity(int viewingFidelity)
          Sets the viewing fidelity.
 
Methods inherited from class javax.swing.JComponent
addAncestorListener, addNotify, addPropertyChangeListener, computeVisibleRect, contains, createToolTip, disable, enable, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, fireVetoableChange, getAccessibleContext, getActionForKeyStroke, getActionMap, getAlignmentX, getAlignmentY, getAutoscrolls, getBorder, getBounds, getClientProperty, getComponentGraphics, getConditionForKeyStroke, getDebugGraphicsOptions, getGraphics, getHeight, getInputMap, getInputMap, getInputVerifier, getInsets, getInsets, getListeners, getLocation, getMaximumSize, getMinimumSize, getNextFocusableComponent, getRegisteredKeyStrokes, getRootPane, getSize, getToolTipLocation, getToolTipText, getToolTipText, getTopLevelAncestor, getUIClassID, getVerifyInputWhenFocusTarget, getVisibleRect, getWidth, getX, getY, grabFocus, hasFocus, hide, isDoubleBuffered, isFocusCycleRoot, isFocusTraversable, isLightweightComponent, isManagingFocus, isMaximumSizeSet, isMinimumSizeSet, isOpaque, isOptimizedDrawingEnabled, isPaintingTile, isPreferredSizeSet, isRequestFocusEnabled, isValidateRoot, paint, paintBorder, paintChildren, paintComponent, paintImmediately, paintImmediately, paramString, print, printAll, printBorder, printChildren, printComponent, processComponentKeyEvent, processFocusEvent, processKeyBinding, processKeyEvent, processMouseMotionEvent, putClientProperty, registerKeyboardAction, registerKeyboardAction, removeAncestorListener, removeNotify, removePropertyChangeListener, repaint, repaint, requestDefaultFocus, requestFocus, resetKeyboardActions, reshape, revalidate, scrollRectToVisible, setActionMap, setAlignmentX, setAlignmentY, setAutoscrolls, setBackground, setBorder, setDebugGraphicsOptions, setDoubleBuffered, setEnabled, setFont, setForeground, setInputMap, setInputVerifier, setMaximumSize, setMinimumSize, setNextFocusableComponent, setOpaque, setPreferredSize, setRequestFocusEnabled, setToolTipText, setUI, setVerifyInputWhenFocusTarget, setVisible, unregisterKeyboardAction, update, updateUI
 
Methods inherited from class java.awt.Container
add, add, add, add, add, addContainerListener, addImpl, countComponents, deliverEvent, doLayout, findComponentAt, findComponentAt, getComponent, getComponentAt, getComponentAt, getComponentCount, getComponents, getLayout, insets, invalidate, isAncestorOf, layout, list, list, locate, minimumSize, paintComponents, preferredSize, printComponents, processContainerEvent, processEvent, remove, remove, removeAll, removeContainerListener, setLayout, validate, validateTree
 
Methods inherited from class java.awt.Component
action, add, addComponentListener, addFocusListener, addHierarchyBoundsListener, addHierarchyListener, addInputMethodListener, addKeyListener, addMouseListener, addMouseMotionListener, bounds, checkImage, checkImage, coalesceEvents, contains, createImage, createImage, disableEvents, dispatchEvent, enable, enableEvents, enableInputMethods, getBackground, getBounds, getColorModel, getComponentOrientation, getCursor, getDropTarget, getFont, getFontMetrics, getForeground, getGraphicsConfiguration, getInputContext, getInputMethodRequests, getLocale, getLocation, getLocationOnScreen, getName, getParent, getPeer, getSize, getToolkit, getTreeLock, gotFocus, handleEvent, imageUpdate, inside, isDisplayable, isEnabled, isLightweight, isShowing, isValid, isVisible, keyDown, keyUp, list, list, list, location, lostFocus, mouseDown, mouseDrag, mouseEnter, mouseExit, mouseMove, mouseUp, move, nextFocus, paintAll, postEvent, prepareImage, prepareImage, processComponentEvent, processHierarchyBoundsEvent, processHierarchyEvent, processInputMethodEvent, processMouseEvent, remove, removeComponentListener, removeFocusListener, removeHierarchyBoundsListener, removeHierarchyListener, removeInputMethodListener, removeKeyListener, removeMouseListener, removeMouseMotionListener, repaint, repaint, repaint, resize, resize, setBounds, setBounds, setComponentOrientation, setCursor, setDropTarget, setLocale, setLocation, setLocation, setName, setSize, setSize, show, show, size, toString, transferFocus
 
Methods inherited from class java.lang.Object
clone, equals, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Field Detail

ABSOLUTE_FIDELITY

public static final int ABSOLUTE_FIDELITY
Represents *ABSOLUTE viewing fidelity

CONTENT_FIDELITY

public static final int CONTENT_FIDELITY
Represents *CONTENT viewing fidelity

LETTER

public static final int LETTER
Represents letter paper size (8.5 x 11 inches)

LEGAL

public static final int LEGAL
Represents legal paper size (8.5 x 14 inches)

A3

public static final int A3
Represents A3 paper size (297 x 420 mm)

A4

public static final int A4
Represents A4 paper size (210 x 297 mm)

A5

public static final int A5
Represents A5 paper size (148 x 210 mm)

B4

public static final int B4
Represents B4 paper size (257 x 364 mm)

B5

public static final int B5
Represents B5 paper size (182 x 257 mm)

EXECUTIVE

public static final int EXECUTIVE
Represents executive paper size (7.25 x 10.5 inches)

LEDGER

public static final int LEDGER
Represents ledger paper size (17 x 11 inches)

CONT80

public static final int CONT80
Represents continuous feed 80 paper size (8 x 11 inches)

CONT132

public static final int CONT132
Represents continuous feed 132 paper size (13.2 x 11 inches)

NONE

public static final int NONE
Represents no paper size
Constructor Detail

SpooledFileViewer

public SpooledFileViewer()
Constructs a SpooledFileViewer object. A call to setSpooledFile() must be done after calling this method in order to set the spooled file to be viewed.

SpooledFileViewer

public SpooledFileViewer(SpooledFile spooledFile)
Constructs a SpooledFileViewer object. By default, the current page is set to the first page of the spooled file. A call to load() must be done after calling this method in order to load the spooled file.
Parameters:
spooledFile - The spooled file to view.

SpooledFileViewer

public SpooledFileViewer(SpooledFile spooledFile,
                         int page)
Constructs a SpooledFileViewer object. Page page of the spooled file is loaded as the initial view. If page is less than 1, an error is thrown. A call to load() must be done after calling this method in order to load the spooled file.
Parameters:
spooledFile - The spooled file to view.
page - The initial page to view.
Method Detail

actualSize

public void actualSize()
Resets the size of the page image to its original size. This method is only valid after a spooled file has been loaded.

addErrorListener

public void addErrorListener(ErrorListener listener)
Adds a listener to be notified when an error occurs.
Parameters:
listener - The listener.

addPropertyChangeListener

public void addPropertyChangeListener(java.beans.PropertyChangeListener listener)
Adds a listener to be notified when the value of any bound property changes.
Overrides:
addPropertyChangeListener in class javax.swing.JComponent
Parameters:
listener - The listener.

addStatusBar

public void addStatusBar()
Adds the status bar.

addToolBar

public void addToolBar()
Adds the tool bar.

addVetoableChangeListener

public void addVetoableChangeListener(java.beans.VetoableChangeListener listener)
Adds a listener to be notified when the value of any constrained property changes.
Overrides:
addVetoableChangeListener in class javax.swing.JComponent
Parameters:
listener - The listener.

addWorkingListener

public void addWorkingListener(WorkingListener listener)
Adds a listener to be notified of a working state.
Parameters:
listener - The listener.

close

public void close()
Closes the viewer.

finalize

protected void finalize()
                 throws java.lang.Throwable
Closes the viewer.
Overrides:
finalize in class java.lang.Object
Throws:
java.lang.Throwable - If an error occurs during cleanup.

fitHeight

public void fitHeight()
Stretches the size of the page image vertically to the edges of the viewing window. This method is only valid after a spooled file has been loaded.

fitPage

public void fitPage()
Stretches the size of the page image horizontally or vertically so the entire view is contained within the edges of the viewing window. This method is only valid after a spooled file has been loaded.

fitWidth

public void fitWidth()
Stretches the size of the page image horizontally to the edges of the viewing window. This method is only valid after a spooled file has been loaded.

getCurrentPage

public int getCurrentPage()
Returns the page number of the current page.
Returns:
The current page number.

getNumberOfPages

public int getNumberOfPages()
Returns the number of pages in the spooled file. This value may be estimated, depending on the origin of spooled file. If the spooled file was created natively on an AS/400, the value is valid. If the spooled file was created on another type of system, the value may be estimated.
Returns:
The number of pages.
See Also:
isNumberOfPagesEstimated()

getPaperSize

public int getPaperSize()
Returns the paper size. The paper size is used to determine how to process pages from the spooled file.
Returns:
The paper size.

getPreferredSize

public java.awt.Dimension getPreferredSize()
Returns the preferred size of the viewer.
Overrides:
getPreferredSize in class javax.swing.JComponent
Returns:
The preferred size.

getSpooledFile

public SpooledFile getSpooledFile()
Returns the spooled file being viewed.
Returns:
The spooled file.

getViewingFidelity

public int getViewingFidelity()
Returns the viewing fidelity. The viewing fidelity is used to determine how to process pages from the spooled file.
Returns:
The viewing fidelity.

isNumberOfPagesEstimated

public boolean isNumberOfPagesEstimated()
Indicates if the number of pages associated with the spooled file being viewed is estimated.
Returns:
Returns true if the number of pages is estimated; false otherwise.
See Also:
getNumberOfPages()

load

public void load()
          throws java.io.IOException,
                 java.beans.PropertyVetoException
Loads the spooled file for viewing. A call to this method must be made after the constructor has been invoked or the spooled file has changed in order to load the spooled file and properly initialize the viewer.
Throws:
java.io.IOException - Thrown if the spooled file cannot be initialized.
java.beans.PropertyVetoException - Thrown if the property change is vetoed.

loadFlashPage

public void loadFlashPage()
                   throws java.beans.PropertyVetoException
Loads the previously viewed page. If a different page was not previously viewed (loaded), no action is taken. This method can only be called after a spooled file has been loaded. If a spooled file has not been successfully loaded into the viewer previously, an error event is fired.
Throws:
java.beans.PropertyVetoException - Thrown if the property change is vetoed.

loadPage

public void loadPage()
              throws java.beans.PropertyVetoException
Loads the current page for viewing. This method can only be called after a spooled file has been successfully loaded. If the current page is not a valid page of the spooled file, the current page is set to the previously viewed page, and an error event is fired. If a spooled file has not been successfully loaded into the viewer previously, an error event is fired.
Throws:
java.beans.PropertyVetoException - Thrown if the property change is vetoed.

pageBack

public void pageBack()
              throws java.beans.PropertyVetoException
Sets the view back one page.
Throws:
java.beans.PropertyVetoException - Thrown if the property change is vetoed.

pageForward

public void pageForward()
                 throws java.beans.PropertyVetoException
Sets the view forward one page.
Throws:
java.beans.PropertyVetoException - Thrown if the property change is vetoed.

removeErrorListener

public void removeErrorListener(ErrorListener listener)
Removes an ErrorListener.
Parameters:
listener - The listener.

removePropertyChangeListener

public void removePropertyChangeListener(java.beans.PropertyChangeListener listener)
Removes a property change listener.
Overrides:
removePropertyChangeListener in class javax.swing.JComponent
Parameters:
listener - The listener.

removeToolBar

public void removeToolBar()
Removes the tool bar.

removeStatusBar

public void removeStatusBar()
Removes the status bar.

removeVetoableChangeListener

public void removeVetoableChangeListener(java.beans.VetoableChangeListener listener)
Removes a vetoable change listener.
Overrides:
removeVetoableChangeListener in class javax.swing.JComponent
Parameters:
listener - The listener.

removeWorkingListener

public void removeWorkingListener(WorkingListener listener)
Removes a WorkingListener.
Parameters:
listener - The listener.

setCurrentPage

public void setCurrentPage(int newPage)
                    throws java.beans.PropertyVetoException
Sets the current page.
Parameters:
newPage - The page to view.
Throws:
java.beans.PropertyVetoException - Thrown if the property change is vetoed.

setPaperSize

public void setPaperSize(int paperSize)
                  throws java.beans.PropertyVetoException
Sets the papersize. If paper size specified by paperSize is not valid, no action is taken.
Parameters:
size - The paper size to be used for processing spooled file pages.

May be any of the following values:

  • LETTER - Letter (8.5 x 11 inches)
  • LEGAL - Legal (8.5 x 14 inches)
  • A3 - A3 (297 x 420 mm)
  • A4 - A4 (210 x 297 mm)
  • A5 - A5 (148 x 210 mm)
  • B4 - B4 (257 x 364 mm)
  • B5 - B5 (182 x 257 mm)
  • EXECUTIVE - Executive (7.25 x 10.5 inches)
  • LEDGER - Ledger (17 x 11 inches)
  • CONT80 - Continuous feed 80 (8 x 11 inches)
  • CONT132 - Continuous feed 132 (13.2 x 11 inches)
  • NONE - None
Throws:
java.beans.PropertyVetoException - Thrown if the property change is vetoed.

setSpooledFile

public void setSpooledFile(SpooledFile spooledFile)
                    throws java.beans.PropertyVetoException
Sets the spooled file.
Parameters:
spooledFile - The spooled file to view.
Throws:
java.beans.PropertyVetoException - Thrown if the property change is vetoed.

setViewingFidelity

public void setViewingFidelity(int viewingFidelity)
                        throws java.beans.PropertyVetoException
Sets the viewing fidelity.
Parameters:
viewingFidelity - The viewing fidelity. If viewing fidelity specified by viewingFidelity is not valid, no action is taken.

May be any of the following values:

  • ABSOLUTE - Absolute. When this is specified, the spooled file data is scanned and all non-raster data is processed up through the current page.
  • CONTENT - Content. When this is specified, the spooled file data is processed according to datastream type:
    • SCS - Process open-time commands and current page commands only.
    • AFPDS - Process the first page without rasterizing, then the current page.
Throws:
java.beans.PropertyVetoException - Thrown if the property change is vetoed.