org.jivesoftware.spark.ui
Class TranscriptWindow

java.lang.Object
  extended by java.awt.Component
      extended by java.awt.Container
          extended by javax.swing.JComponent
              extended by javax.swing.text.JTextComponent
                  extended by javax.swing.JEditorPane
                      extended by javax.swing.JTextPane
                          extended by org.jivesoftware.spark.ui.ChatArea
                              extended by org.jivesoftware.spark.ui.TranscriptWindow
All Implemented Interfaces:
java.awt.event.MouseListener, java.awt.event.MouseMotionListener, java.awt.image.ImageObserver, java.awt.MenuContainer, java.io.Serializable, java.util.EventListener, javax.accessibility.Accessible, javax.swing.Scrollable

public class TranscriptWindow
extends ChatArea

The TranscriptWindow class. Provides a default implementation of a Chat Window. In general, extensions could override this class to offer more support within the chat, but should not be necessary.

See Also:
Serialized Form

Nested Class Summary
 
Nested classes/interfaces inherited from class javax.swing.JEditorPane
javax.swing.JEditorPane.AccessibleJEditorPane, javax.swing.JEditorPane.AccessibleJEditorPaneHTML, javax.swing.JEditorPane.JEditorPaneAccessibleHypertextSupport
 
Nested classes/interfaces inherited from class javax.swing.text.JTextComponent
javax.swing.text.JTextComponent.AccessibleJTextComponent, javax.swing.text.JTextComponent.KeyBinding
 
Nested classes/interfaces inherited from class javax.swing.JComponent
javax.swing.JComponent.AccessibleJComponent
 
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.BltBufferStrategy, java.awt.Component.FlipBufferStrategy
 
Field Summary
 
Fields inherited from class org.jivesoftware.spark.ui.ChatArea
DEFAULT_CURSOR, HAND_CURSOR, styles
 
Fields inherited from class javax.swing.JEditorPane
HONOR_DISPLAY_PROPERTIES, W3C_LENGTH_UNITS
 
Fields inherited from class javax.swing.text.JTextComponent
DEFAULT_KEYMAP, FOCUS_ACCELERATOR_KEY
 
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
TranscriptWindow()
          Creates a default instance of TranscriptWindow.
 
Method Summary
 void addComponent(java.awt.Component component)
           
 void addTranscriptWindowInterceptor(TranscriptWindowInterceptor interceptor)
           
 java.awt.Font getFont()
           
 java.util.Date getLastUpdated()
          Return the last time the TranscriptWindow was updated.
 void insertCustomMessage(java.lang.String prefix, java.lang.String message)
           
 void insertCustomOtherMessage(java.lang.String prefix, java.lang.String message)
           
 void insertErrorMessage(java.lang.String message)
          Creates and inserts an error message.
 void insertHistoryMessage(java.lang.String userid, java.lang.String message, java.util.Date date)
          Inserts a history message.
 void insertMessage(java.lang.String userid, org.jivesoftware.smack.packet.Message message)
          Create and insert a message from the current user.
 void insertNotificationMessage(java.lang.String message)
          Create and insert a notification message.
 void insertOthersMessage(java.lang.String userid, org.jivesoftware.smack.packet.Message message)
          Create and insert a message from a customer.
 void insertQuestionMessage(java.lang.String question)
          Create and insert a question message.
 void removeTranscriptWindowInterceptor(TranscriptWindowInterceptor interceptor)
           
 void saveTranscript(java.lang.String fileName, java.util.List transcript, java.lang.String headerData)
          Persist a current transcript.
 void setFont(java.awt.Font font)
           
 void showDisabledWindowUI()
          Disable the entire TranscriptWindow and visually represent it as disabled.
 
Methods inherited from class org.jivesoftware.spark.ui.ChatArea
addContextMenuListener, addLinkInterceptor, clear, fireLinkInterceptors, getMarkup, insert, insertImage, insertLink, insertText, insertText, mouseClicked, mouseDragged, mouseEntered, mouseExited, mouseMoved, mousePressed, mouseReleased, removeContextMenuListener, removeLinkInterceptor, setBold, setFont, setFontSize, setItalics, setText, setUnderlined
 
Methods inherited from class javax.swing.JTextPane
addStyle, createDefaultEditorKit, getCharacterAttributes, getInputAttributes, getLogicalStyle, getParagraphAttributes, getStyle, getStyledDocument, getStyledEditorKit, getUIClassID, insertComponent, insertIcon, paramString, removeStyle, replaceSelection, setCharacterAttributes, setDocument, setEditorKit, setLogicalStyle, setParagraphAttributes, setStyledDocument
 
Methods inherited from class javax.swing.JEditorPane
addHyperlinkListener, createEditorKitForContentType, fireHyperlinkUpdate, getAccessibleContext, getContentType, getEditorKit, getEditorKitClassNameForContentType, getEditorKitForContentType, getHyperlinkListeners, getPage, getPreferredSize, getScrollableTracksViewportHeight, getScrollableTracksViewportWidth, getStream, getText, read, registerEditorKitForContentType, registerEditorKitForContentType, removeHyperlinkListener, scrollToReference, setContentType, setEditorKitForContentType, setPage, setPage
 
Methods inherited from class javax.swing.text.JTextComponent
addCaretListener, addInputMethodListener, addKeymap, copy, cut, fireCaretUpdate, getActions, getCaret, getCaretColor, getCaretListeners, getCaretPosition, getDisabledTextColor, getDocument, getDragEnabled, getFocusAccelerator, getHighlighter, getInputMethodRequests, getKeymap, getKeymap, getMargin, getNavigationFilter, getPreferredScrollableViewportSize, getScrollableBlockIncrement, getScrollableUnitIncrement, getSelectedText, getSelectedTextColor, getSelectionColor, getSelectionEnd, getSelectionStart, getText, getToolTipText, getUI, isEditable, loadKeymap, modelToView, moveCaretPosition, paste, processInputMethodEvent, read, removeCaretListener, removeKeymap, removeNotify, select, selectAll, setCaret, setCaretColor, setCaretPosition, setComponentOrientation, setDisabledTextColor, setDragEnabled, setEditable, setFocusAccelerator, setHighlighter, setKeymap, setMargin, setNavigationFilter, setSelectedTextColor, setSelectionColor, setSelectionEnd, setSelectionStart, setUI, updateUI, viewToModel, write
 
Methods inherited from class javax.swing.JComponent
addAncestorListener, addNotify, addVetoableChangeListener, computeVisibleRect, contains, createToolTip, disable, enable, firePropertyChange, firePropertyChange, firePropertyChange, fireVetoableChange, getActionForKeyStroke, getActionMap, getAlignmentX, getAlignmentY, getAncestorListeners, getAutoscrolls, getBorder, getBounds, getClientProperty, getComponentGraphics, getComponentPopupMenu, getConditionForKeyStroke, getDebugGraphicsOptions, getDefaultLocale, getFontMetrics, getGraphics, getHeight, getInheritsPopupMenu, getInputMap, getInputMap, getInputVerifier, getInsets, getInsets, getListeners, getLocation, getMaximumSize, getMinimumSize, getNextFocusableComponent, getPopupLocation, getRegisteredKeyStrokes, getRootPane, getSize, getToolTipLocation, getToolTipText, getTopLevelAncestor, getTransferHandler, getVerifyInputWhenFocusTarget, getVetoableChangeListeners, getVisibleRect, getWidth, getX, getY, grabFocus, isDoubleBuffered, isLightweightComponent, isManagingFocus, isOpaque, isOptimizedDrawingEnabled, isPaintingTile, isRequestFocusEnabled, isValidateRoot, paint, paintBorder, paintChildren, paintComponent, paintImmediately, paintImmediately, print, printAll, printBorder, printChildren, printComponent, processComponentKeyEvent, processKeyBinding, processKeyEvent, processMouseEvent, processMouseMotionEvent, putClientProperty, registerKeyboardAction, registerKeyboardAction, removeAncestorListener, removeVetoableChangeListener, repaint, repaint, requestDefaultFocus, requestFocus, requestFocus, requestFocusInWindow, requestFocusInWindow, resetKeyboardActions, reshape, revalidate, scrollRectToVisible, setActionMap, setAlignmentX, setAlignmentY, setAutoscrolls, setBackground, setBorder, setComponentPopupMenu, setDebugGraphicsOptions, setDefaultLocale, setDoubleBuffered, setEnabled, setFocusTraversalKeys, setForeground, setInheritsPopupMenu, setInputMap, setInputVerifier, setMaximumSize, setMinimumSize, setNextFocusableComponent, setOpaque, setPreferredSize, setRequestFocusEnabled, setToolTipText, setTransferHandler, setUI, setVerifyInputWhenFocusTarget, setVisible, unregisterKeyboardAction, update
 
Methods inherited from class java.awt.Container
add, add, add, add, add, addContainerListener, addImpl, addPropertyChangeListener, addPropertyChangeListener, applyComponentOrientation, areFocusTraversalKeysSet, countComponents, deliverEvent, doLayout, findComponentAt, findComponentAt, getComponent, getComponentAt, getComponentAt, getComponentCount, getComponents, getComponentZOrder, getContainerListeners, getFocusTraversalKeys, getFocusTraversalPolicy, getLayout, getMousePosition, insets, invalidate, isAncestorOf, isFocusCycleRoot, isFocusCycleRoot, isFocusTraversalPolicyProvider, isFocusTraversalPolicySet, layout, list, list, locate, minimumSize, paintComponents, preferredSize, printComponents, processContainerEvent, processEvent, remove, remove, removeAll, removeContainerListener, setComponentZOrder, setFocusCycleRoot, setFocusTraversalPolicy, setFocusTraversalPolicyProvider, setLayout, transferFocusBackward, transferFocusDownCycle, validate, validateTree
 
Methods inherited from class java.awt.Component
action, add, addComponentListener, addFocusListener, addHierarchyBoundsListener, addHierarchyListener, addKeyListener, addMouseListener, addMouseMotionListener, addMouseWheelListener, bounds, checkImage, checkImage, coalesceEvents, contains, createImage, createImage, createVolatileImage, createVolatileImage, disableEvents, dispatchEvent, enable, enableEvents, enableInputMethods, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, getBackground, getBounds, getColorModel, getComponentListeners, getComponentOrientation, getCursor, getDropTarget, getFocusCycleRootAncestor, getFocusListeners, getFocusTraversalKeysEnabled, getForeground, getGraphicsConfiguration, getHierarchyBoundsListeners, getHierarchyListeners, getIgnoreRepaint, getInputContext, getInputMethodListeners, getKeyListeners, getLocale, getLocation, getLocationOnScreen, getMouseListeners, getMouseMotionListeners, getMousePosition, getMouseWheelListeners, getName, getParent, getPeer, getPropertyChangeListeners, getPropertyChangeListeners, getSize, getToolkit, getTreeLock, gotFocus, handleEvent, hasFocus, hide, imageUpdate, inside, isBackgroundSet, isCursorSet, isDisplayable, isEnabled, isFocusable, isFocusOwner, isFocusTraversable, isFontSet, isForegroundSet, isLightweight, isMaximumSizeSet, isMinimumSizeSet, isPreferredSizeSet, isShowing, isValid, isVisible, keyDown, keyUp, list, list, list, location, lostFocus, mouseDown, mouseDrag, mouseEnter, mouseExit, mouseMove, mouseUp, move, nextFocus, paintAll, postEvent, prepareImage, prepareImage, processComponentEvent, processFocusEvent, processHierarchyBoundsEvent, processHierarchyEvent, processMouseWheelEvent, remove, removeComponentListener, removeFocusListener, removeHierarchyBoundsListener, removeHierarchyListener, removeInputMethodListener, removeKeyListener, removeMouseListener, removeMouseMotionListener, removeMouseWheelListener, removePropertyChangeListener, removePropertyChangeListener, repaint, repaint, repaint, resize, resize, setBounds, setBounds, setCursor, setDropTarget, setFocusable, setFocusTraversalKeysEnabled, setIgnoreRepaint, setLocale, setLocation, setLocation, setName, setSize, setSize, show, show, size, toString, transferFocus, transferFocusUpCycle
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Constructor Detail

TranscriptWindow

public TranscriptWindow()
Creates a default instance of TranscriptWindow.

Method Detail

addComponent

public void addComponent(java.awt.Component component)

insertMessage

public void insertMessage(java.lang.String userid,
                          org.jivesoftware.smack.packet.Message message)
Create and insert a message from the current user.

Parameters:
userid - the userid of the current user.
message - the message to insert.

insertCustomMessage

public void insertCustomMessage(java.lang.String prefix,
                                java.lang.String message)

insertCustomOtherMessage

public void insertCustomOtherMessage(java.lang.String prefix,
                                     java.lang.String message)

insertOthersMessage

public void insertOthersMessage(java.lang.String userid,
                                org.jivesoftware.smack.packet.Message message)
Create and insert a message from a customer.

Parameters:
userid - the userid of the customer.
message - the message from the customer.

insertNotificationMessage

public void insertNotificationMessage(java.lang.String message)
Create and insert a notification message. A notification message generally is a presence update, but can be used for most anything related to the room.

Parameters:
message - the information message to insert.

insertErrorMessage

public void insertErrorMessage(java.lang.String message)
Creates and inserts an error message.

Parameters:
message - the information message to insert.

insertQuestionMessage

public void insertQuestionMessage(java.lang.String question)
Create and insert a question message. A question message is specified by the end customer during the initial request.

Parameters:
question - the question asked by the customer.

getLastUpdated

public java.util.Date getLastUpdated()
Return the last time the TranscriptWindow was updated.

Returns:
the last time the TranscriptWindow was updated.

insertHistoryMessage

public void insertHistoryMessage(java.lang.String userid,
                                 java.lang.String message,
                                 java.util.Date date)
Inserts a history message.

Parameters:
userid - the userid of the sender.
message - the message to insert.
date - the Date object created when the message was delivered.

showDisabledWindowUI

public void showDisabledWindowUI()
Disable the entire TranscriptWindow and visually represent it as disabled.


saveTranscript

public void saveTranscript(java.lang.String fileName,
                           java.util.List transcript,
                           java.lang.String headerData)
Persist a current transcript.

Parameters:
fileName - the name of the file to save the transcript as. Note: This can be modified by the user.
transcript - the collection of transcript.
headerData - the string to prepend to the transcript.
See Also:
ChatRoom.getTranscripts()

setFont

public void setFont(java.awt.Font font)
Overrides:
setFont in class javax.swing.JComponent

getFont

public java.awt.Font getFont()
Specified by:
getFont in interface java.awt.MenuContainer
Overrides:
getFont in class java.awt.Component

addTranscriptWindowInterceptor

public void addTranscriptWindowInterceptor(TranscriptWindowInterceptor interceptor)

removeTranscriptWindowInterceptor

public void removeTranscriptWindowInterceptor(TranscriptWindowInterceptor interceptor)