com.jivesoftware.spark.ui
Class TranscriptWindow

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

public final 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 inherited from class javax.swing.JEditorPane
javax.swing.JEditorPane.AccessibleJEditorPane, javax.swing.JEditorPane.AccessibleJEditorPaneHTML, javax.swing.JEditorPane.JEditorPaneAccessibleHypertextSupport
 
Nested classes inherited from class javax.swing.text.JTextComponent
javax.swing.text.JTextComponent.AccessibleJTextComponent, javax.swing.text.JTextComponent.KeyBinding
 
Nested classes inherited from class javax.swing.JComponent
javax.swing.JComponent.AccessibleJComponent
 
Nested classes inherited from class java.awt.Container
java.awt.Container.AccessibleAWTContainer
 
Nested classes inherited from class java.awt.Component
java.awt.Component.AccessibleAWTComponent, java.awt.Component.BltBufferStrategy, java.awt.Component.FlipBufferStrategy
 
Field Summary
static java.awt.Color USER_COLOR
          Defines the foreground color to represent the customer.
 
Fields inherited from class com.jivesoftware.spark.ui.ChatArea
DEFAULT_CURSOR, HAND_CURSOR, styles
 
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)
           
 java.awt.Font getFont()
           
 java.util.Date getLastUpdated()
          Return the last time the TranscriptWindow was updated.
 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, java.lang.String message)
          Create and insert a message from the current user.
 void insertMessage(java.lang.String userid, java.lang.String message, java.util.Date datePosted)
          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, java.lang.String message, java.util.Date date)
          Create and insert a message from a customer.
 void insertQuestionMessage(java.lang.String question)
          Create and insert a question message.
 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 com.jivesoftware.spark.ui.ChatArea
addContextMenuListener, clear, getMarkup, insert, insertImage, insertLink, insertText, insertText, mouseClicked, mouseDragged, mouseEntered, mouseExited, mouseMoved, mousePressed, mouseReleased, removeContextMenuListener, 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, addPropertyChangeListener, addPropertyChangeListener, addVetoableChangeListener, computeVisibleRect, contains, createToolTip, disable, enable, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, fireVetoableChange, getActionForKeyStroke, getActionMap, getAlignmentX, getAlignmentY, getAncestorListeners, getAutoscrolls, getBorder, getBounds, getClientProperty, getComponentGraphics, getConditionForKeyStroke, getDebugGraphicsOptions, getDefaultLocale, getGraphics, getHeight, getInputMap, getInputMap, getInputVerifier, getInsets, getInsets, getListeners, getLocation, getMaximumSize, getMinimumSize, getNextFocusableComponent, getPropertyChangeListeners, getPropertyChangeListeners, getRegisteredKeyStrokes, getRootPane, getSize, getToolTipLocation, getToolTipText, getTopLevelAncestor, getTransferHandler, getVerifyInputWhenFocusTarget, getVetoableChangeListeners, getVisibleRect, getWidth, getX, getY, grabFocus, isDoubleBuffered, isLightweightComponent, isManagingFocus, isMaximumSizeSet, isMinimumSizeSet, isOpaque, isOptimizedDrawingEnabled, isPaintingTile, isPreferredSizeSet, isRequestFocusEnabled, isValidateRoot, paint, paintBorder, paintChildren, paintComponent, paintImmediately, paintImmediately, print, printAll, printBorder, printChildren, printComponent, processComponentKeyEvent, processKeyBinding, processKeyEvent, processMouseMotionEvent, putClientProperty, registerKeyboardAction, registerKeyboardAction, removeAncestorListener, removePropertyChangeListener, removePropertyChangeListener, removeVetoableChangeListener, repaint, repaint, requestDefaultFocus, requestFocus, requestFocus, requestFocusInWindow, requestFocusInWindow, resetKeyboardActions, reshape, revalidate, scrollRectToVisible, setActionMap, setAlignmentX, setAlignmentY, setAutoscrolls, setBackground, setBorder, setDebugGraphicsOptions, setDefaultLocale, setDoubleBuffered, setEnabled, setForeground, 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, applyComponentOrientation, areFocusTraversalKeysSet, countComponents, deliverEvent, doLayout, findComponentAt, findComponentAt, getComponent, getComponentAt, getComponentAt, getComponentCount, getComponents, getContainerListeners, getFocusTraversalKeys, getFocusTraversalPolicy, getLayout, insets, invalidate, isAncestorOf, isFocusCycleRoot, isFocusCycleRoot, isFocusTraversalPolicySet, layout, list, list, locate, minimumSize, paintComponents, preferredSize, printComponents, processContainerEvent, processEvent, remove, remove, removeAll, removeContainerListener, setFocusCycleRoot, setFocusTraversalKeys, setFocusTraversalPolicy, 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, getBackground, getBounds, getColorModel, getComponentListeners, getComponentOrientation, getCursor, getDropTarget, getFocusCycleRootAncestor, getFocusListeners, getFocusTraversalKeysEnabled, getFontMetrics, getForeground, getGraphicsConfiguration, getHierarchyBoundsListeners, getHierarchyListeners, getIgnoreRepaint, getInputContext, getInputMethodListeners, getKeyListeners, getLocale, getLocation, getLocationOnScreen, getMouseListeners, getMouseMotionListeners, getMouseWheelListeners, getName, getParent, getPeer, getSize, getToolkit, getTreeLock, gotFocus, handleEvent, hasFocus, hide, imageUpdate, inside, isBackgroundSet, isCursorSet, isDisplayable, isEnabled, isFocusable, isFocusOwner, isFocusTraversable, isFontSet, isForegroundSet, isLightweight, 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, processMouseEvent, processMouseWheelEvent, remove, removeComponentListener, removeFocusListener, removeHierarchyBoundsListener, removeHierarchyListener, removeInputMethodListener, removeKeyListener, removeMouseListener, removeMouseMotionListener, removeMouseWheelListener, 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
 

Field Detail

USER_COLOR

public static final java.awt.Color USER_COLOR
Defines the foreground color to represent the customer.

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,
                          java.lang.String message)
Create and insert a message from the current user.

Parameters:
userid - the userid of the current agent.
message - the agents message to insert.

insertMessage

public void insertMessage(java.lang.String userid,
                          java.lang.String message,
                          java.util.Date datePosted)
Create and insert a message from the current user.

Parameters:
userid - the userid of the current agent.
message - the agents message to insert.
datePosted - the date the message was posted.

insertOthersMessage

public void insertOthersMessage(java.lang.String userid,
                                java.lang.String message,
                                java.util.Date date)
Create and insert a message from a customer.

Parameters:
userid - the userid of the customer.
message - the message from the customer.
date - the date the message was posted, can be null.

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)

getFont

public java.awt.Font getFont()