CreditCardPack

com.keyoti.creditCard.display
Class CardVerificationNumberPanel

java.lang.Object
  |
  +--java.awt.Component
        |
        +--java.awt.Container
              |
              +--javax.swing.JComponent
                    |
                    +--javax.swing.JPanel
                          |
                          +--com.keyoti.creditCard.display.CardElementPanel
                                |
                                +--com.keyoti.creditCard.display.CardVerificationNumberPanel

public class CardVerificationNumberPanel
extends CardElementPanel

JavaBean panel with a credit card verification number label and field. A card verification number or CVV2(Visa)/CVC2(MasterCard)/CID(American Express) is a short number located on the card to make it difficult for the use of card details with out physical possesion of the card. For Visa and MasterCard this number is located on the back of the card at the right end of the signature strip and is 3 digits long. For American Express this number is located on the front of the card above the main card number, at the right end, and is 4 digits long. This JavaBean is a descendent of JComponent and can be added to any container.

Please be aware of the warnings given by Sun in the JDK at time of writing regarding serialization of Swing objects: "Serialized objects of this class will not be compatible with future Swing releases. The current serialization support is appropriate for short term storage or RMI between applications running the same version of Swing. A future release of Swing will provide support for long term persistence."

See Also:
Serialized Form

Inner classes inherited from class javax.swing.JPanel
JPanel.AccessibleJPanel
 
Inner classes inherited from class javax.swing.JComponent
JComponent.AccessibleJComponent
 
Inner classes inherited from class java.awt.Container
Container.AccessibleAWTContainer
 
Inner classes inherited from class java.awt.Component
Component.AccessibleAWTComponent
 
Field Summary
protected  LimitedJTextField cardVerificationNumberField
          Card text field
 
Fields inherited from class com.keyoti.creditCard.display.CardElementPanel
controller, label, labelFont, leftPanel, pcs, rightPanel, textFieldFont
 
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
 
Constructor Summary
CardVerificationNumberPanel()
          Construct a new credit card details panel.
 
Method Summary
 void focusGained(FocusEvent e)
           
 void focusLost(FocusEvent e)
          Called when text field focus is lost.
 String getCardVerificationNumber()
          Gets the card verification number.
 CreditCard getCreditCard()
          Gets the CreditCard (model) that this interface is viewing
 Font getLabelFont()
          Gets the font used for labels
 Font getTextFieldFont()
          Gets the font used for text fields
 void setCardVerificationNumber(String c)
          Sets the Card Verification Number (CVN), this should not be stored in long term persistence.
 void setCreditCard(CreditCard c)
          Sets the CreditCard (model) that this interface is viewing.
 void setLabelFont(Font f)
          Sets the font used for labels
 void setTextFieldFont(Font f)
          Sets the font used for labels
 
Methods inherited from class com.keyoti.creditCard.display.CardElementPanel
addPropertyChangeListener, buildGUI, caretUpdate, getLabelText, getShowDataInputErrors, removePropertyChangeListener, setLabelText, setShowDataInputErrors, showDataInputError, showDataInputError, validateFieldForInteger
 
Methods inherited from class javax.swing.JPanel
getAccessibleContext, getUIClassID, paramString, updateUI
 
Methods inherited from class javax.swing.JComponent
addAncestorListener, addNotify, addPropertyChangeListener, addVetoableChangeListener, computeVisibleRect, contains, createToolTip, disable, enable, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, fireVetoableChange, getActionForKeyStroke, getActionMap, getAlignmentX, getAlignmentY, getAutoscrolls, getBorder, getBounds, getClientProperty, getComponentGraphics, getConditionForKeyStroke, getDebugGraphicsOptions, getGraphics, getHeight, getInputMap, getInputMap, getInputVerifier, getInsets, getInsets, getListeners, getLocation, getMaximumSize, getMinimumSize, getNextFocusableComponent, getPreferredSize, getRegisteredKeyStrokes, getRootPane, getSize, getToolTipLocation, getToolTipText, getToolTipText, getTopLevelAncestor, 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, print, printAll, printBorder, printChildren, printComponent, processComponentKeyEvent, processFocusEvent, processKeyBinding, processKeyEvent, processMouseMotionEvent, putClientProperty, registerKeyboardAction, registerKeyboardAction, removeAncestorListener, removeNotify, removePropertyChangeListener, removeVetoableChangeListener, 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
 
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, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Field Detail

cardVerificationNumberField

protected LimitedJTextField cardVerificationNumberField
Card text field
Constructor Detail

CardVerificationNumberPanel

public CardVerificationNumberPanel()
Construct a new credit card details panel.
Postconditions:
result == CardVerificationNumberPanel instance AND
controller != null
Method Detail

getCardVerificationNumber

public String getCardVerificationNumber()
Gets the card verification number.

setCardVerificationNumber

public void setCardVerificationNumber(String c)
                               throws NullPointerException
Sets the Card Verification Number (CVN), this should not be stored in long term persistence. It is a misuse to store this number because it is intended that it be verified by the issuer and not be held any where other than on the physical card. The CVN must be either 3 or 4 digits in length or empty.
Parameters:
c - the card verification number String.
Returns:
void
Throws:
NullPointerException - if c is null.
IllegalArgumentException - if c is not 3 or 4 numeric characters or an empty String.
Preconditions:
cvn != null AND ((3 <= cvn.length() <= 4 AND cvn.equals(LuhnChecker.getDigitsOnly(cvn))) OR cvn == "" )
Postconditions:
getCardVerificationNumber() == cvn
See Also:
CreditCard.cardVerificationNumber

getLabelFont

public Font getLabelFont()
Gets the font used for labels

setLabelFont

public void setLabelFont(Font f)
                  throws NullPointerException
Sets the font used for labels
Parameters:
f - a Font object to be used as the font for this elements labels.
Throws:
NullPointerException - if f is null
Preconditions:
f != null
Postconditions:
getLabelFont() == f AND labels use Font f

getTextFieldFont

public Font getTextFieldFont()
Gets the font used for text fields

setTextFieldFont

public void setTextFieldFont(Font f)
                      throws NullPointerException
Sets the font used for labels
Parameters:
f - a Font object to be used as the font for this elements labels.
Throws:
NullPointerException - if f is null
Preconditions:
f != null
Postconditions:
getTextFieldFont() == f AND text entry field uses Font f

focusLost

public void focusLost(FocusEvent e)
Called when text field focus is lost.
Overrides:
focusLost in class CardElementPanel

focusGained

public void focusGained(FocusEvent e)
Overrides:
focusGained in class CardElementPanel

getCreditCard

public CreditCard getCreditCard()
Gets the CreditCard (model) that this interface is viewing

setCreditCard

public void setCreditCard(CreditCard c)
                   throws NullPointerException
Sets the CreditCard (model) that this interface is viewing.
Parameters:
c - CreditCard instance to be used as the model.
Throws:
NullPointerException - if c is null.
Preconditions:
c != null
Postconditions:
getCreditCard() == c AND c is updated by the controller object when valid data is entered
Overrides:
setCreditCard in class CardElementPanel

CreditCardPack

Copyright © 2002 Keyoti All Rights Reserved.