edu.harvard.hul.ois.jhove.viewer
Class JhoveWindow

java.lang.Object
  extended by java.awt.Component
      extended by java.awt.Container
          extended by java.awt.Window
              extended by java.awt.Frame
                  extended by javax.swing.JFrame
                      extended by edu.harvard.hul.ois.jhove.viewer.JhoveWindow
All Implemented Interfaces:
Callback, java.awt.dnd.DropTargetListener, java.awt.image.ImageObserver, java.awt.MenuContainer, java.io.Serializable, java.util.EventListener, javax.accessibility.Accessible, javax.swing.RootPaneContainer, javax.swing.WindowConstants

public class JhoveWindow
extends javax.swing.JFrame
implements Callback, java.awt.dnd.DropTargetListener

Main window of JHoveViewer application.

See Also:
Serialized Form

Nested Class Summary
protected  class JhoveWindow.InvisibleFilenameFilter
          Class to filter out filenames that start with a period.
 
Nested classes/interfaces inherited from class javax.swing.JFrame
javax.swing.JFrame.AccessibleJFrame
 
Nested classes/interfaces inherited from class java.awt.Frame
java.awt.Frame.AccessibleAWTFrame
 
Nested classes/interfaces inherited from class java.awt.Window
java.awt.Window.AccessibleAWTWindow
 
Nested classes/interfaces inherited from class java.awt.Container
java.awt.Container.AccessibleAWTContainer
 
Nested classes/interfaces inherited from class java.awt.Component
java.awt.Component.AccessibleAWTComponent, java.awt.Component.BaselineResizeBehavior, java.awt.Component.BltBufferStrategy, java.awt.Component.FlipBufferStrategy
 
Field Summary
protected  java.util.logging.Logger _logger
          Logger for a module class.
 
Fields inherited from class javax.swing.JFrame
accessibleContext, EXIT_ON_CLOSE, rootPane, rootPaneCheckingEnabled
 
Fields inherited from class java.awt.Frame
CROSSHAIR_CURSOR, DEFAULT_CURSOR, E_RESIZE_CURSOR, HAND_CURSOR, ICONIFIED, MAXIMIZED_BOTH, MAXIMIZED_HORIZ, MAXIMIZED_VERT, MOVE_CURSOR, N_RESIZE_CURSOR, NE_RESIZE_CURSOR, NORMAL, NW_RESIZE_CURSOR, S_RESIZE_CURSOR, SE_RESIZE_CURSOR, SW_RESIZE_CURSOR, TEXT_CURSOR, W_RESIZE_CURSOR, WAIT_CURSOR
 
Fields inherited from class java.awt.Component
BOTTOM_ALIGNMENT, CENTER_ALIGNMENT, LEFT_ALIGNMENT, RIGHT_ALIGNMENT, TOP_ALIGNMENT
 
Fields inherited from interface javax.swing.WindowConstants
DISPOSE_ON_CLOSE, DO_NOTHING_ON_CLOSE, HIDE_ON_CLOSE
 
Fields inherited from interface java.awt.image.ImageObserver
ABORT, ALLBITS, ERROR, FRAMEBITS, HEIGHT, PROPERTIES, SOMEBITS, WIDTH
 
Constructor Summary
JhoveWindow(App app, JhoveBase base)
           
 
Method Summary
 void analyzeDirectory(java.io.File file, Module module)
          This method opens a directory, recursing through multiple levels if possible, and feeding individual files to pickAndAnalyzeFile1.
 int callback(int selector, java.lang.Object parm)
          Implementation of Callback.callback.
 void dragEnter(java.awt.dnd.DropTargetDragEvent dtde)
          Invoked when the drag enters the component.
 void dragExit(java.awt.dnd.DropTargetEvent dte)
          Invoked when the drag leaves the component.
 void dragOver(java.awt.dnd.DropTargetDragEvent dtde)
          Does nothing.
 void drop(java.awt.dnd.DropTargetDropEvent dtde)
          Called when the thingy is dropped on the component.
 void dropActionChanged(java.awt.dnd.DropTargetDragEvent dtde)
          Called if the drop action changes during the drag (e.g., by changing the modifier keys).
protected  javax.swing.JMenuItem getCloseAllItem()
          Returns the "Close all document windows" menu item.
static void makeChooserOpaque(javax.swing.JFileChooser chooser)
          Makes a JFileChooser dialog treat packages and applications as opaque entities.
 void pickAndAnalyzeFile()
          Here we let the user pick a file, then analyze it.
 void pickAndAnalyzeFile1(java.io.File file, Module module)
          This method does the actual work of pickAndAnalyzeFile, called from a thread so it can run asynchronously.
 void pickAndAnalyzeFileList1(java.util.List files, Module module)
          This is called to analyze a List of files.
 void pickAndAnalyzeURL()
           
 void pickAndAnalyzeURL1(java.lang.String uri, Module module)
          This method does the actual work of pickAndAnalyzeURL, called from a thread so it can run asynchronously.
 void setDoChecksum(boolean checksum)
          Sets the checksum flag.
 void setRawOutput(boolean rawOutput)
          Sets the raw output flag.
 
Methods inherited from class javax.swing.JFrame
addImpl, createRootPane, frameInit, getAccessibleContext, getContentPane, getDefaultCloseOperation, getGlassPane, getGraphics, getJMenuBar, getLayeredPane, getRootPane, getTransferHandler, isDefaultLookAndFeelDecorated, isRootPaneCheckingEnabled, paramString, processWindowEvent, remove, repaint, setContentPane, setDefaultCloseOperation, setDefaultLookAndFeelDecorated, setGlassPane, setIconImage, setJMenuBar, setLayeredPane, setLayout, setRootPane, setRootPaneCheckingEnabled, setTransferHandler, update
 
Methods inherited from class java.awt.Frame
addNotify, getCursorType, getExtendedState, getFrames, getIconImage, getMaximizedBounds, getMenuBar, getState, getTitle, isResizable, isUndecorated, remove, removeNotify, setCursor, setExtendedState, setMaximizedBounds, setMenuBar, setResizable, setState, setTitle, setUndecorated
 
Methods inherited from class java.awt.Window
addPropertyChangeListener, addPropertyChangeListener, addWindowFocusListener, addWindowListener, addWindowStateListener, applyResourceBundle, applyResourceBundle, createBufferStrategy, createBufferStrategy, dispose, getBufferStrategy, getFocusableWindowState, getFocusCycleRootAncestor, getFocusOwner, getFocusTraversalKeys, getGraphicsConfiguration, getIconImages, getInputContext, getListeners, getLocale, getModalExclusionType, getMostRecentFocusOwner, getOwnedWindows, getOwner, getOwnerlessWindows, getToolkit, getWarningString, getWindowFocusListeners, getWindowListeners, getWindows, getWindowStateListeners, hide, isActive, isAlwaysOnTop, isAlwaysOnTopSupported, isFocusableWindow, isFocusCycleRoot, isFocused, isLocationByPlatform, isShowing, pack, paint, postEvent, processEvent, processWindowFocusEvent, processWindowStateEvent, removeWindowFocusListener, removeWindowListener, removeWindowStateListener, reshape, setAlwaysOnTop, setBounds, setBounds, setCursor, setFocusableWindowState, setFocusCycleRoot, setIconImages, setLocationByPlatform, setLocationRelativeTo, setMinimumSize, setModalExclusionType, setSize, setSize, setVisible, show, toBack, toFront
 
Methods inherited from class java.awt.Container
add, add, add, add, add, addContainerListener, applyComponentOrientation, areFocusTraversalKeysSet, countComponents, deliverEvent, doLayout, findComponentAt, findComponentAt, getAlignmentX, getAlignmentY, getComponent, getComponentAt, getComponentAt, getComponentCount, getComponents, getComponentZOrder, getContainerListeners, getFocusTraversalPolicy, getInsets, getLayout, getMaximumSize, getMinimumSize, getMousePosition, getPreferredSize, insets, invalidate, isAncestorOf, isFocusCycleRoot, isFocusTraversalPolicyProvider, isFocusTraversalPolicySet, layout, list, list, locate, minimumSize, paintComponents, preferredSize, print, printComponents, processContainerEvent, remove, removeAll, removeContainerListener, setComponentZOrder, setFocusTraversalKeys, setFocusTraversalPolicy, setFocusTraversalPolicyProvider, setFont, transferFocusBackward, transferFocusDownCycle, validate, validateTree
 
Methods inherited from class java.awt.Component
action, add, addComponentListener, addFocusListener, addHierarchyBoundsListener, addHierarchyListener, addInputMethodListener, addKeyListener, addMouseListener, addMouseMotionListener, addMouseWheelListener, bounds, checkImage, checkImage, coalesceEvents, contains, contains, createImage, createImage, createVolatileImage, createVolatileImage, disable, disableEvents, dispatchEvent, enable, enable, enableEvents, enableInputMethods, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, getBackground, getBaseline, getBaselineResizeBehavior, getBounds, getBounds, getColorModel, getComponentListeners, getComponentOrientation, getCursor, getDropTarget, getFocusListeners, getFocusTraversalKeysEnabled, getFont, getFontMetrics, getForeground, getHeight, getHierarchyBoundsListeners, getHierarchyListeners, getIgnoreRepaint, getInputMethodListeners, getInputMethodRequests, getKeyListeners, getLocation, getLocation, getLocationOnScreen, getMouseListeners, getMouseMotionListeners, getMousePosition, getMouseWheelListeners, getName, getParent, getPeer, getPropertyChangeListeners, getPropertyChangeListeners, getSize, getSize, getTreeLock, getWidth, getX, getY, gotFocus, handleEvent, hasFocus, imageUpdate, inside, isBackgroundSet, isCursorSet, isDisplayable, isDoubleBuffered, isEnabled, isFocusable, isFocusOwner, isFocusTraversable, isFontSet, isForegroundSet, isLightweight, isMaximumSizeSet, isMinimumSizeSet, isOpaque, isPreferredSizeSet, isValid, isVisible, keyDown, keyUp, list, list, list, location, lostFocus, mouseDown, mouseDrag, mouseEnter, mouseExit, mouseMove, mouseUp, move, nextFocus, paintAll, prepareImage, prepareImage, printAll, processComponentEvent, processFocusEvent, processHierarchyBoundsEvent, processHierarchyEvent, processInputMethodEvent, processKeyEvent, processMouseEvent, processMouseMotionEvent, processMouseWheelEvent, removeComponentListener, removeFocusListener, removeHierarchyBoundsListener, removeHierarchyListener, removeInputMethodListener, removeKeyListener, removeMouseListener, removeMouseMotionListener, removeMouseWheelListener, removePropertyChangeListener, removePropertyChangeListener, repaint, repaint, repaint, requestFocus, requestFocus, requestFocusInWindow, requestFocusInWindow, resize, resize, setBackground, setComponentOrientation, setDropTarget, setEnabled, setFocusable, setFocusTraversalKeysEnabled, setForeground, setIgnoreRepaint, setLocale, setLocation, setLocation, setMaximumSize, setName, setPreferredSize, show, size, toString, transferFocus, transferFocusUpCycle
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 
Methods inherited from interface java.awt.MenuContainer
getFont, postEvent
 

Field Detail

_logger

protected java.util.logging.Logger _logger
Logger for a module class.

Constructor Detail

JhoveWindow

public JhoveWindow(App app,
                   JhoveBase base)
Method Detail

pickAndAnalyzeFile

public void pickAndAnalyzeFile()
Here we let the user pick a file, then analyze it.


makeChooserOpaque

public static void makeChooserOpaque(javax.swing.JFileChooser chooser)
Makes a JFileChooser dialog treat packages and applications as opaque entities. Has no effect on other platforms.


pickAndAnalyzeFile1

public void pickAndAnalyzeFile1(java.io.File file,
                                Module module)
This method does the actual work of pickAndAnalyzeFile, called from a thread so it can run asynchronously.


pickAndAnalyzeFileList1

public void pickAndAnalyzeFileList1(java.util.List files,
                                    Module module)
This is called to analyze a List of files.


analyzeDirectory

public void analyzeDirectory(java.io.File file,
                             Module module)
This method opens a directory, recursing through multiple levels if possible, and feeding individual files to pickAndAnalyzeFile1.


pickAndAnalyzeURL

public void pickAndAnalyzeURL()

pickAndAnalyzeURL1

public void pickAndAnalyzeURL1(java.lang.String uri,
                               Module module)
This method does the actual work of pickAndAnalyzeURL, called from a thread so it can run asynchronously.


callback

public int callback(int selector,
                    java.lang.Object parm)
Implementation of Callback.callback.

Specified by:
callback in interface Callback
Parameters:
selector - 1 signifies update of byte count. 2 signifies change of URI. Other values result in no action.
parm - If selector = 1, must be a Long that evaluates to the number of bytes processed to date. If selector = 2, must be a String naming the object being processed. Will be truncated at the left if longer than 64 characters.
Returns:
As specified by the implementing class.

setRawOutput

public void setRawOutput(boolean rawOutput)
Sets the raw output flag. If set to true, raw numeric values are displayed; if false, explanatory text may be substituted.


setDoChecksum

public void setDoChecksum(boolean checksum)
Sets the checksum flag. If set to true, checksums are reported.


dragEnter

public void dragEnter(java.awt.dnd.DropTargetDragEvent dtde)
Invoked when the drag enters the component. Accepts the drag if it's a file which is being dragged, and changes the background color to give visual feedback.

Specified by:
dragEnter in interface java.awt.dnd.DropTargetListener

dragExit

public void dragExit(java.awt.dnd.DropTargetEvent dte)
Invoked when the drag leaves the component. Restores the default background color.

Specified by:
dragExit in interface java.awt.dnd.DropTargetListener

dragOver

public void dragOver(java.awt.dnd.DropTargetDragEvent dtde)
Does nothing.

Specified by:
dragOver in interface java.awt.dnd.DropTargetListener

drop

public void drop(java.awt.dnd.DropTargetDropEvent dtde)
Called when the thingy is dropped on the component. This causes the file to be opened. The default background color will be restored; theoretically this should already have happened, but Windows appears to require it be done here.

Specified by:
drop in interface java.awt.dnd.DropTargetListener

dropActionChanged

public void dropActionChanged(java.awt.dnd.DropTargetDragEvent dtde)
Called if the drop action changes during the drag (e.g., by changing the modifier keys). Does nothing, as we treat copy and move identically.

Specified by:
dropActionChanged in interface java.awt.dnd.DropTargetListener

getCloseAllItem

protected javax.swing.JMenuItem getCloseAllItem()
Returns the "Close all document windows" menu item. This allows document windows to add themselves as listeners.