|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Object java.awt.Component java.awt.Container java.awt.Window java.awt.Dialog javax.swing.JDialog dev.gui.JCDialog dev.gui.OkCancelHelpDialog dev.gui.wizard.WizardDialog com.jp.protection.gui.dialogs.BasicLicenseWizard com.jp.protection.gui.dialogs.LicensingWizard com.jp.protection.gui.dialogs.pro.LicensingWizardPro
public class LicensingWizardPro
This class defines Professional Wizard dialog that simplifies licensing process. It extends basic implementation by providing ability to get evaluation, extended evaluation licenses and licensed by Serial Numbers using Protection! Backend.
Nested Class Summary |
---|
Nested classes/interfaces inherited from class dev.gui.OkCancelHelpDialog |
---|
dev.gui.OkCancelHelpDialog.RightGapBorder |
Nested classes/interfaces inherited from class dev.gui.JCDialog |
---|
dev.gui.JCDialog.CloseController, dev.gui.JCDialog.TemporaryComponentHighlighter, dev.gui.JCDialog.WatermarkComponent |
Nested classes/interfaces inherited from class javax.swing.JDialog |
---|
javax.swing.JDialog.AccessibleJDialog |
Nested classes/interfaces inherited from class java.awt.Dialog |
---|
java.awt.Dialog.AccessibleAWTDialog |
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.BltBufferStrategy, java.awt.Component.FlipBufferStrategy |
Field Summary | |
---|---|
protected java.util.HashMap |
fArguments
|
protected com.jp.protection.gui.dialogs.pro.panes.CustomWizardPane |
fCustomWizardPane
|
protected dev.gui.wizard.WizardPane |
fFinishWizardPane
|
protected dev.gui.wizard.ProgressWizardPane.Operation |
fGetOperation
|
protected dev.gui.wizard.InternetConnectionWizardPane |
fInternetConnectionWizardPane
|
protected LicenseHostPro |
fLicenseHost
|
protected com.jp.protection.gui.dialogs.pro.panes.LicensingServerWizardPane |
fLicensingServerWizardPane
|
protected com.jp.protection.gui.dialogs.pro.panes.LicensingWizardProgressPane |
fLicensingWizardProgressPane
|
protected java.lang.String |
fLogin
|
protected dev.gui.wizard.MessageWizardPane |
fMessageWizardPane
|
protected java.lang.String |
fPassword
|
protected com.jp.protection.gui.dialogs.pro.panes.RequestEvaluationWizardPane |
fRequestEvaluationWizardPane
|
protected LicensingFacadeResult |
fRequestResult
|
protected com.jp.protection.gui.dialogs.pro.panes.SerialNumberCustomerWizardPane |
fSerialNumberCustomerWizardPane
|
protected com.jp.protection.gui.dialogs.pro.panes.SerialNumberWizardPane |
fSerialNumberWizardPane
|
protected boolean |
fShowCustomPane
|
static java.lang.String |
MACRO_NAME_ACTIVATION_KEY
|
static java.lang.String |
MACRO_NAME_HOST
|
static java.lang.String |
MACRO_NAME_IP_ADDRESS
|
static java.lang.String |
MACRO_NAME_JAVA_VERSION
|
static java.lang.String |
MACRO_NAME_LOCALE
|
static java.lang.String |
MACRO_NAME_MAC_ADDRESS
|
static java.lang.String |
MACRO_NAME_OS_ARCH
|
static java.lang.String |
MACRO_NAME_OS_NAME
|
static java.lang.String |
MACRO_NAME_OS_VERSION
|
static java.lang.String |
MACRO_NAME_PRODUCT
|
static java.lang.String |
MACRO_NAME_USER
|
protected static java.lang.String |
MSG_INVALID_S_N
|
protected static java.lang.String |
MSG_TRY_AGAIN
|
protected static java.lang.String |
MSG_UNABLE_TO_GET_EVAL
|
protected static java.lang.String |
MSG_UNABLE_TO_GET_EVAL_TRY_AGAIN
|
protected static java.lang.String |
MSG_UNABLE_TO_GET_LICENSE_BY_S_N
|
protected static java.lang.String |
MSG_UNABLE_TO_GET_LICENSE_BY_S_N_TRY_AGAIN
|
(package private) static java.util.ResourceBundle |
res
|
Fields inherited from class com.jp.protection.gui.dialogs.BasicLicenseWizard |
---|
fInitOperation, fLicenseReader, fLicensingFacadeProviderName, FMT_UNABLE_WRITE_LICENSE, fProductInfo, fSaveLicenseOperation, fServerStatus |
Fields inherited from class dev.gui.wizard.WizardDialog |
---|
btnBack, btnNext, fActiveWizardPane, fComponentAdapter, fIsNextOperation, ICON_WIZARD, lblDivider, lblWizardImage, NEXT_PANE_NONE, pnlContent, PROPERTY_TOPIC_ID |
Fields inherited from class dev.gui.OkCancelHelpDialog |
---|
btnCancel, btnHelp, btnOk, DEFAULT_INSET, fComponentHelpDelegate, OK_ACTION, pnlButtons |
Fields inherited from class dev.gui.JCDialog |
---|
fBeanContextChild, fCloseOnEscape, fDefaultFocusOwner, fInsetContentPane, fKeyEventDispatcher, fModalResult, fNeedSoftResizable, fSoftResizable, fWaitStateSupport, fWatermarkComponent, RESULT_CANCEL, RESULT_HELP, RESULT_NO, RESULT_NONE, RESULT_OK, RESULT_YES |
Fields inherited from class javax.swing.JDialog |
---|
accessibleContext, rootPane, rootPaneCheckingEnabled |
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, EXIT_ON_CLOSE, HIDE_ON_CLOSE |
Fields inherited from interface java.awt.image.ImageObserver |
---|
ABORT, ALLBITS, ERROR, FRAMEBITS, HEIGHT, PROPERTIES, SOMEBITS, WIDTH |
Constructor Summary | |
---|---|
LicensingWizardPro()
Creates a new instance of Licensing Wizard with no owner. |
|
LicensingWizardPro(java.awt.Component anOwner)
Creates a new instance of Licensing Wizard |
Method Summary | |
---|---|
protected boolean |
canFinish()
|
protected int |
doFinish()
|
protected java.lang.String |
doNext()
|
protected void |
error(LicensingServiceResult aResult)
|
boolean |
executeModal()
Shows the Wizard on screen |
java.util.HashMap |
getArguments()
Returns arguments should be passed to the Licensing Facade methods |
com.jp.protection.gui.dialogs.pro.panes.CustomWizardPane |
getCustomWizardPane()
|
dev.gui.wizard.InternetConnectionWizardPane |
getInternetConnectionWizardPane()
|
protected LicenseDescr |
getLicenseDescr()
|
LicenseHostPro |
getLicenseHost()
|
com.jp.protection.gui.dialogs.pro.panes.LicensingServerWizardPane |
getLicensingServerWizardPane()
|
com.jp.protection.gui.dialogs.pro.panes.LicensingWizardProgressPane |
getLicensingWizardProgressPane()
|
java.lang.String |
getLogin()
Returns login name should be passed to the Licensing Facade |
java.util.Map |
getMacroContext()
|
protected java.lang.String |
getMessage(LicensingServiceResult aResult)
|
java.lang.String |
getPassword()
Returns password should be passed to the Licensing Facade |
protected java.util.prefs.Preferences |
getPreferences()
|
java.lang.String |
getProtocol()
|
com.jp.protection.gui.dialogs.pro.panes.RequestEvaluationWizardPane |
getRequestEvaluationWizardPane()
|
LicensingFacadeResult |
getRequestResult()
Returns result of latest licensing request |
com.jp.protection.gui.dialogs.pro.panes.SerialNumberCustomerWizardPane |
getSerialNumberCustomerWizardPane()
|
com.jp.protection.gui.dialogs.pro.panes.SerialNumberWizardPane |
getSerialNumberWizardPane()
|
protected boolean |
isNeedShowCustomPane()
|
boolean |
isShowCustomPane()
|
protected boolean |
isShowCustomPane(int aSelectedOperation)
|
boolean |
isSkipCustomerInfoForSerialNumbers()
Deprecated. since v2.0. Use setOptions() instead. |
protected java.util.HashMap |
prepareArguments(java.lang.String aSerialNumber)
|
void |
processRequestResult()
Processes result of latest licensing request |
void |
request()
|
void |
requestEvaluation()
Requests evaluation license using Licensing Facade |
boolean |
requestLicenseBySerialNumber()
Requests license by Serial Number using Licensing Facade |
void |
requestLicenseFromLS()
|
protected boolean |
saveLicense(byte[] licenseBytes)
|
void |
setArguments(java.util.HashMap aArguments)
Specifies arguments should be passed to the Licensing Facade methods |
void |
setLicenseHost(LicenseHostPro aLicenseHost)
|
void |
setLogin(java.lang.String aLogin)
Specifies login name should be passed to the Licensing Facade |
void |
setPassword(java.lang.String aPassword)
Specifies password should be passed to the Licensing Facade |
void |
setProductInfo(ProductInfo aProductInfo)
Specifies product information |
void |
setProtocol(java.lang.String aProtocol)
|
void |
setShowCustomPane(boolean aValue)
|
void |
setSkipCustomerInfoForSerialNumbers(boolean aSkipCustomerInfoForSerialNumbers)
Deprecated. since v2.0. Use setOptions() instead. |
Methods inherited from class com.jp.protection.gui.dialogs.LicensingWizard |
---|
getIssueDescription, getIssueName, getLicenseLocationWizardPane, getLicensingWizardPane, getOfflineLicensingWizardPane, getOptions, init, isRequestEvalEnabled, isRequestExtEvaluation, setIssueDescription, setIssueName, setOptions, setRequestEvalEnabled, setRequestExtEvaluation, setVisible |
Methods inherited from class com.jp.protection.gui.dialogs.BasicLicenseWizard |
---|
addWizardPane, checkServerStatus, composeMessage, createInternetConnectionWizardPane, error, error, getLicenseReader, getLicensingFacade, getLicensingFacadeProviderName, getProductInfo, getServerStatusURL, initMessagePane, isLicensingFacadeUseHTTPS, makeHTML, removeWizardPane, setComponentHelpDelegate, setLicenseReader, setLicensingFacadeProviderName, setServerStatusURL, updateForServerStatus |
Methods inherited from class dev.gui.wizard.WizardDialog |
---|
back, canBack, canNext, doBack, doCancel, finish, first, getActiveWizardPane, getMessageTitle, getWizardIcon, getWizardPane, getWizardPaneCount, getWizardPaneIndex, hasActiveWizardPane, isWizardIconVisible, main, next, onButtonOkActionPerformed, setActiveWizardPane, setWizardIcon, setWizardIconVisible, update, updateSize |
Methods inherited from class dev.gui.OkCancelHelpDialog |
---|
actionPerformed, executeModal, executeModal, executeModal, executeModal, executeModal, getButtonsPanel, getCancelButton, getComponentHelpDelegate, getHelpButton, getOkButton, onAnyComponentKeyPressed, onButtonHelpActionPerformed, showHelp |
Methods inherited from class dev.gui.JCDialog |
---|
canCancel, canClose, canUse, centerOnOwner, centerOnScreen, componentResized, dispose, error, executeModal, getAdjustedSize, getBeanContext, getBeanContextProxy, getDefaultFocusOwner, getDialogMaximumSize, getDialogMinimumSize, getMessageTitle, getModalResult, getParentDialog, getParentFrame, getService, getService, getWatermarkComponent, hasVisiblePopups, initBeanContext, isCloseOnEscape, isCloseOnEscape, isInsetContentPane, isInUse, isSoftResizable, isWaitState, message, pack, prompt, prompt, releaseService, serviceRevoked, setBeanContext, setCloseOnEscape, setDefaultButton, setDefaultFocusOwner, setDialogMaximumSize, setDialogMinimumSize, setInsetContentPane, setModalResult, setResizable, setWaitState, setWatermarkComponent, updateSizeToFitRange, useBegin, useEnd, warning, windowActivated, windowClosed, windowClosing, windowDeactivated, windowDeiconified, windowIconified, windowOpened |
Methods inherited from class javax.swing.JDialog |
---|
addImpl, createRootPane, dialogInit, getAccessibleContext, getContentPane, getDefaultCloseOperation, getGlassPane, getJMenuBar, getLayeredPane, getRootPane, isDefaultLookAndFeelDecorated, isRootPaneCheckingEnabled, paramString, processWindowEvent, remove, setContentPane, setDefaultCloseOperation, setDefaultLookAndFeelDecorated, setGlassPane, setJMenuBar, setLayeredPane, setLayout, setRootPane, setRootPaneCheckingEnabled, update |
Methods inherited from class java.awt.Dialog |
---|
addNotify, getTitle, hide, isModal, isResizable, isUndecorated, setModal, setTitle, setUndecorated, show |
Methods inherited from class java.awt.Window |
---|
addPropertyChangeListener, addPropertyChangeListener, addWindowFocusListener, addWindowListener, addWindowStateListener, applyResourceBundle, applyResourceBundle, createBufferStrategy, createBufferStrategy, finalize, getBufferStrategy, getFocusableWindowState, getFocusCycleRootAncestor, getFocusOwner, getFocusTraversalKeys, getGraphicsConfiguration, getInputContext, getListeners, getLocale, getMostRecentFocusOwner, getOwnedWindows, getOwner, getToolkit, getWarningString, getWindowFocusListeners, getWindowListeners, getWindowStateListeners, isActive, isAlwaysOnTop, isFocusableWindow, isFocusCycleRoot, isFocused, isLocationByPlatform, isShowing, postEvent, processEvent, processWindowFocusEvent, processWindowStateEvent, removeWindowFocusListener, removeWindowListener, removeWindowStateListener, setAlwaysOnTop, setBounds, setCursor, setFocusableWindowState, setFocusCycleRoot, setLocationByPlatform, setLocationRelativeTo, 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, paint, paintComponents, preferredSize, print, printComponents, processContainerEvent, remove, removeAll, removeContainerListener, removeNotify, 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, getBounds, getBounds, getColorModel, getComponentListeners, getComponentOrientation, getCursor, getDropTarget, getFocusListeners, getFocusTraversalKeysEnabled, getFont, getFontMetrics, getForeground, getGraphics, 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, remove, removeComponentListener, removeFocusListener, removeHierarchyBoundsListener, removeHierarchyListener, removeInputMethodListener, removeKeyListener, removeMouseListener, removeMouseMotionListener, removeMouseWheelListener, removePropertyChangeListener, removePropertyChangeListener, repaint, repaint, repaint, repaint, requestFocus, requestFocus, requestFocusInWindow, requestFocusInWindow, reshape, resize, resize, setBackground, setBounds, setComponentOrientation, setDropTarget, setEnabled, setFocusable, setFocusTraversalKeysEnabled, setForeground, setIgnoreRepaint, setLocale, setLocation, setLocation, setMaximumSize, setMinimumSize, setName, setPreferredSize, setSize, setSize, show, size, toString, transferFocus, transferFocusUpCycle |
Methods inherited from class java.lang.Object |
---|
clone, equals, getClass, hashCode, notify, notifyAll, wait, wait, wait |
Field Detail |
---|
static java.util.ResourceBundle res
protected dev.gui.wizard.MessageWizardPane fMessageWizardPane
protected com.jp.protection.gui.dialogs.pro.panes.RequestEvaluationWizardPane fRequestEvaluationWizardPane
protected dev.gui.wizard.InternetConnectionWizardPane fInternetConnectionWizardPane
protected com.jp.protection.gui.dialogs.pro.panes.SerialNumberWizardPane fSerialNumberWizardPane
protected com.jp.protection.gui.dialogs.pro.panes.SerialNumberCustomerWizardPane fSerialNumberCustomerWizardPane
protected com.jp.protection.gui.dialogs.pro.panes.LicensingWizardProgressPane fLicensingWizardProgressPane
protected com.jp.protection.gui.dialogs.pro.panes.LicensingServerWizardPane fLicensingServerWizardPane
protected com.jp.protection.gui.dialogs.pro.panes.CustomWizardPane fCustomWizardPane
protected dev.gui.wizard.ProgressWizardPane.Operation fGetOperation
protected boolean fShowCustomPane
protected LicensingFacadeResult fRequestResult
protected java.lang.String fLogin
protected java.lang.String fPassword
protected java.util.HashMap fArguments
protected LicenseHostPro fLicenseHost
protected static final java.lang.String MSG_UNABLE_TO_GET_EVAL
protected static final java.lang.String MSG_TRY_AGAIN
protected static final java.lang.String MSG_UNABLE_TO_GET_EVAL_TRY_AGAIN
protected static final java.lang.String MSG_UNABLE_TO_GET_LICENSE_BY_S_N
protected static final java.lang.String MSG_UNABLE_TO_GET_LICENSE_BY_S_N_TRY_AGAIN
protected static final java.lang.String MSG_INVALID_S_N
protected dev.gui.wizard.WizardPane fFinishWizardPane
public static final java.lang.String MACRO_NAME_PRODUCT
public static final java.lang.String MACRO_NAME_USER
public static final java.lang.String MACRO_NAME_LOCALE
public static final java.lang.String MACRO_NAME_HOST
public static final java.lang.String MACRO_NAME_IP_ADDRESS
public static final java.lang.String MACRO_NAME_MAC_ADDRESS
public static final java.lang.String MACRO_NAME_ACTIVATION_KEY
public static final java.lang.String MACRO_NAME_OS_ARCH
public static final java.lang.String MACRO_NAME_OS_NAME
public static final java.lang.String MACRO_NAME_OS_VERSION
public static final java.lang.String MACRO_NAME_JAVA_VERSION
Constructor Detail |
---|
public LicensingWizardPro(java.awt.Component anOwner)
anOwner
- a component from which Licensing Wizard should be displayedpublic LicensingWizardPro()
Method Detail |
---|
public com.jp.protection.gui.dialogs.pro.panes.LicensingServerWizardPane getLicensingServerWizardPane()
public com.jp.protection.gui.dialogs.pro.panes.LicensingWizardProgressPane getLicensingWizardProgressPane()
public com.jp.protection.gui.dialogs.pro.panes.SerialNumberCustomerWizardPane getSerialNumberCustomerWizardPane()
public com.jp.protection.gui.dialogs.pro.panes.SerialNumberWizardPane getSerialNumberWizardPane()
public dev.gui.wizard.InternetConnectionWizardPane getInternetConnectionWizardPane()
public com.jp.protection.gui.dialogs.pro.panes.RequestEvaluationWizardPane getRequestEvaluationWizardPane()
public com.jp.protection.gui.dialogs.pro.panes.CustomWizardPane getCustomWizardPane()
protected boolean isShowCustomPane(int aSelectedOperation)
public boolean isShowCustomPane()
public void setShowCustomPane(boolean aValue)
protected boolean isNeedShowCustomPane()
protected java.lang.String doNext()
doNext
in class dev.gui.wizard.WizardDialog
protected boolean canFinish()
canFinish
in class dev.gui.wizard.WizardDialog
protected java.util.prefs.Preferences getPreferences()
public void setProductInfo(ProductInfo aProductInfo)
LicensingWizard
setProductInfo
in class LicensingWizard
aProductInfo
- product informationpublic LicensingFacadeResult getRequestResult()
protected boolean saveLicense(byte[] licenseBytes)
saveLicense
in class BasicLicenseWizard
protected LicenseDescr getLicenseDescr()
public java.lang.String getLogin()
public void setLogin(java.lang.String aLogin)
aLogin
- login namepublic java.lang.String getPassword()
public void setPassword(java.lang.String aPassword)
aPassword
- passwordpublic java.util.HashMap getArguments()
public void setArguments(java.util.HashMap aArguments)
aArguments
- argumentspublic void requestEvaluation()
public LicenseHostPro getLicenseHost()
public void setLicenseHost(LicenseHostPro aLicenseHost)
protected java.util.HashMap prepareArguments(java.lang.String aSerialNumber)
public boolean requestLicenseBySerialNumber()
true
if request is succeeded; false
otherwiseprotected int doFinish()
doFinish
in class dev.gui.wizard.WizardDialog
public void processRequestResult()
public boolean isSkipCustomerInfoForSerialNumbers()
setOptions()
instead.
true
if entering customer information should be skipped during getting
licenses for Serial Numbers; false
otherwise.public void setSkipCustomerInfoForSerialNumbers(boolean aSkipCustomerInfoForSerialNumbers)
setOptions()
instead.
aSkipCustomerInfoForSerialNumbers
- true
if entering
customer information should be
skipped during getting licenses for
Serial Numbers; false
otherwise.public void requestLicenseFromLS()
protected void error(LicensingServiceResult aResult)
protected java.lang.String getMessage(LicensingServiceResult aResult)
public void request()
public boolean executeModal()
executeModal
in class LicensingWizard
true
if licensing succeeded; false
otherwise.public java.util.Map getMacroContext()
getMacroContext
in class BasicLicenseWizard
public java.lang.String getProtocol()
public void setProtocol(java.lang.String aProtocol)
|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |