com.denova.JExpress.Uninstaller
Class AbstractFeedbackPanel

java.lang.Object
  extended by java.awt.Component
      extended by java.awt.Container
          extended by javax.swing.JComponent
              extended by javax.swing.JPanel
                  extended by com.denova.ui.WizardPanel
                      extended by com.denova.JExpress.Uninstaller.AbstractFeedbackPanel
All Implemented Interfaces:
com.denova.JExpress.JExpressConstants, com.denova.JExpress.Uninstaller.UninstallPropertyNames, com.denova.util.MessageListener, java.awt.image.ImageObserver, java.awt.MenuContainer, java.io.Serializable, javax.accessibility.Accessible

public abstract class AbstractFeedbackPanel
extends WizardPanel
implements com.denova.JExpress.Uninstaller.UninstallPropertyNames, com.denova.JExpress.JExpressConstants

Get user feedback before uninstalling. © 2007-2012 DeNova
Last modified: 2012-10-25

See Also:
Serialized Form

Nested Class Summary
 
Nested classes/interfaces inherited from class javax.swing.JPanel
javax.swing.JPanel.AccessibleJPanel
 
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.BaselineResizeBehavior, java.awt.Component.BltBufferStrategy, java.awt.Component.FlipBufferStrategy
 
Field Summary
 java.lang.String programName
          The program name being uninstalled.
 boolean silent
          True if it's a silent uninstall.
 Log uninstallLog
          uninstall.log
 java.lang.String version
          The version number being uninstalled.
 
Fields inherited from class com.denova.ui.WizardPanel
CancelButton, NextButton, NoDefault, PreviousButton
 
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 com.denova.JExpress.Uninstaller.UninstallPropertyNames
ApplicationDirectory, BackgroundColor, ClickFreeUninstaller, CustomUninstallerClass, FeedbackFileProperty, InstructionsFullName, InstructionsPathname, LookAndFeelInterface, ProgramName, ProgressBarColor, PromptUserBeforeUninstalling, ShowFrame, SilentUninstall, TextColor, UninstallOk, UploadUrlProperty
 
Fields inherited from interface com.denova.JExpress.JExpressConstants
AdvancedApp, AdvancedEdition, AppDirVariable, AppNameVariable, ArchitectureVariable, AuthorVariable, AutoRunInfFilename, AutoStartupUninstallerFile, BackgroundImageLayout, BasedirPlaceHolder, BasePathArgument, BatchFileExtension, BuildDirArgumentNew, BuildDirArgumentOld, BuilderDirectory, BuilderPackage, BuilderWaitFilename, BuildX32Installer, BuildX64Installer, ClassFileExtension, Classpath, ConfigDirectory, ControlUrlPatchableString, CopyCheqApiJar, CopyCheqDirectory, CopyFileCommand, Copyright, CopyrightSuffix, CreatedFilename, CrossPlatformExecName, CrossPlatformJarVariable, CrossPlatformName, CurrentProjectDirectory, CurrentProjectFilename, CustomClassesCommand, CustomInstallClassesDir, CustomLoaderPrefix, CustomPlatformOptionsFilename, CustomUninstallClassesDir, CustomUninstallDir, CustomUpdateClassesDir, DefaultBackgroundColor, DefaultBrowser, DefaultButtonPosition, DefaultImagePosition, DefaultJpegInstallerImage, DefaultJpegUpdaterImage, DefaultLookAndFeel, DefaultOptionsFilename, DefaultParentAppDir, DefaultProgressBarColor, DefaultProjectFilename, DefaultShowIcons, DefaultShowLaunchDialog, DefaultSynthTheme, DefaultTempDirectory, DefaultTextColor, DefaultUninstallerIcon, DefaultUpdaterIcon, DefaultUseTooltips, DelDirIfEmptyCommand, DelFileCommand, DelManifestCommand, DelPropertyStorageCommand, DelTreeCommand, DownloadUrlFlag, DownloadUrlVariable, EditionEnds, EditionStarts, ExampleProject, ExampleServiceProject, ExitIconName, ExitLabel, ExtraParametersFlag, FilesList, GzipFileExtension, GzipListFilename, HtmlFileExtension, InstallerDirectory, InstallerExecVariable, InstallerMainClass, InstallerPackage, InstallersSubdir, InstallerUrlPatchableString, InstallOptionsFilename, JarFileExtension, JarFileSuffix, JavaAppPropertiesAltDir, JavaAppPropertiesFilename, JavaClassesList, JavaHomeVariable, JavaMenusDirectory, JexControlPropertiesFilename, JexDataDir, JexDataFilename, JexOptionsFilename, JExpressAdvancedApp, JExpressApp, JExpressCopyCheqClassname, JExpressCustomClassName, JExpressInstallerClassName, JExpressJpegLogoFilename, JExpressUninstallerClassName, JExpressUpdaterClassName, JExpressWizardApp, KdePngIconExtension, KdeXpmIconExtension, KeystoreDbFilename, LastTab, LicenseAccountTemplate, LicenseAppRightTemplate, LicenseCheckAppTemplate, LicenseCheckInstallTemplate, LicenseCheckUpdateTemplate, LicenseEmailTemplate, LicenseIDTemplate, LicenseNameTemplate, LicenseOptionsFilename, LicenseProductTemplate, LicenseRightTemplate, LicenseServerFailTemplate, LoaderIsInPackage, LoaderPrefixControl, LocalBuildProperty, LookAndFeelArgument, MacInstallerCommandFilename, MacOsXIconExtension, NativeInstallerLog, NativePropertiesFilename, NativeStartDirFilename, NimbusSubdir, NimRODSubdir, OverwriteFileCommand, PlatformOptionsFilename, PlatformsDirectory, PlatformsParentDir, PlatformVariable, ProgFilesDirVariable, ProjectFileExtension, ProjectFileSuffix, ProjectsSubdir, PropertiesFlag, PureJavaDirectory, RawLoaderFilename, RecentJexProjects, RegistrationFilename, RenFileCommand, SearchEverywhereForJvm, SearchIconName, SearchNowhereForJvm, SearchPathForJvm, SelectedNativePlatformsNoJvm, SelectedNativePlatformsWithJvm, SelectedSpecialPlatforms, SelfExtratorJvmInstaller, SelfExtratorJvmVersion, ServicesDirectory, SilentArgument, SilentFlag, SingleFileGroup, StandaloneDirectory, StandalonePureJavaPrefix, StandardJvmExtraParameters, StandardUserClasspath, SynthSubdir, SystemChangesFilename, TarGzipFileExtension, TellUserHowToStart, TempDirectory, TestDesktopIconPrefix, TestDesktopIcons, TestFlag, ThemesDirectory, ThirdPartyJvmInstaller, ThirdPartyJvmVersion, TitleCommand, TooManyComputers, TooManyUsers, TrackUninstallCommand, TrialAccount, TrialExpired, TrialLicense, TrialProduct, UninstallerDirectory, UninstallerPackage, UninstallerSubdir, UninstallInstructions, UninstallLinuxServiceCommand, UninstallOptionsFilename, UninstallPathFilename, UninstallWinServiceCommand, UpdateControlPropertiesFilename, UpdateManifestDirectory, UpdateManifestFilename, UpdateMenuPrefix, UpdaterDirectory, UpdaterPackage, UpdateScriptName, UpdatesDirectory, UpdateUrlArgument, UploadDirArgumentNew, UploadDirArgumentOld, UserHomeVariable, UserInstallerDirectory, UserInterface, UserInterfacesFile, UserJExpressDirectory, VersionArgument, VersionEnds, VersionFilename, VersionStarts, VersionVariable, WebDirectory, WebPagesDirectory, WebsiteVariable, WebStartJarVariable, WebStartPlatformName, WebStartWrapperJar, WinAppDirectory, WindowsDirectory, WindowsDirVariable, WindowsIconExtension, WindowsInstallServiceTemplate, WindowsServiceAmd64Directory, WindowsServiceApp, WindowsServiceIa64Directory, WizardApp, WizardEdition, WorkingDirVariable, ZipFileExtension, ZipSkipPatchableString
 
Fields inherited from interface java.awt.image.ImageObserver
ABORT, ALLBITS, ERROR, FRAMEBITS, HEIGHT, PROPERTIES, SOMEBITS, WIDTH
 
Constructor Summary
AbstractFeedbackPanel(PropertyList properties)
          Constructor for the AbstractFeedbackPanel object.
 
Method Summary
 void enter()
          Enter the panel.
abstract  boolean feedbackOk()
          Determine if the feedback is ok.
abstract  java.lang.String getFeedbackFilename()
          Get the full pathname for the feedback file.
 java.lang.String getName()
          Gets the name of the panel.
 java.lang.String getNextButtonIconName()
          Gets the next button icon name.
 java.lang.String getNextButtonLabel()
          Gets the next button label.
abstract  java.lang.String getUploadUrl()
          Get the URL to upload the feedback file.
 boolean isCancelButtonEnabled()
          Gets the cancel button enabled.
 boolean isNextButtonEnabled()
          Gets the next button enabled.
 boolean isOk()
          Determines if everything is ok.
 boolean isPreviousButtonEnabled()
          Gets the previous button enabled.
 void log(java.lang.String s)
           
abstract  boolean readyForUpload()
          Determine if the feedback is ready to be uploaded, if the feedbackOk() is true.
abstract  boolean saveFeedback()
          Save the feedback to the feedback file.
abstract  boolean setupPanel()
          Lay out the feedback panel.
 
Methods inherited from class com.denova.ui.WizardPanel
abort, ask, ask, cancel, getCancelButton, getCancelButtonIconName, getCancelButtonLabel, getDefaultButton, getDefaultCancelButtonIconName, getDefaultFinishedButtonIconName, getDefaultInstallButtonIconName, getDefaultNextButtonIconName, getDefaultPreviousButtonIconName, getMostRecentPanelIndex, getMostRecentPanelName, getNextButton, getNextButtonExists, getPanelIndex, getPreviousButton, getPreviousButtonExists, getPreviousButtonIconName, getPreviousButtonLabel, getPropertyList, getTitle, gotMessage, is32bitJRE, is64bitJRE, isAix, isCurrentPanel, isEnabled, isHpUnix, isLinux, isMac, isMacOsX, isMpeUnix, isNetware, isOs2, isSolaris, isUnix, isWindows, isWindows2000, isWindows7, isWindows8, isWindows95, isWindows98, isWindowsNT, isWindowsServer2003, isWindowsServer2008, isWindowsVista, isWindowsXP, leave, note, note, note, prepareToEnter, reset, resetPanel, setActive, setCancelButtonEnabled, setDefaultButton, setDefaultFinishedButtonIconName, setEnabled, setEnabledNamedPanel, setNextButtonEnabled, setPreviousButtonEnabled, setPropertyList, setWizard, showLastActivePanel, showNextPanel, showPanel, showPanel, showPreviousPanel, userCanceled, wizardGetDefaultButton
 
Methods inherited from class javax.swing.JPanel
getAccessibleContext, getUI, getUIClassID, paramString, setUI, updateUI
 
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, getBaseline, getBaselineResizeBehavior, getBorder, getBounds, getClientProperty, getComponentGraphics, getComponentPopupMenu, getConditionForKeyStroke, getDebugGraphicsOptions, getDefaultLocale, getFontMetrics, getGraphics, getHeight, getInheritsPopupMenu, getInputMap, getInputMap, getInputVerifier, getInsets, getInsets, getListeners, getLocation, getMaximumSize, getMinimumSize, getNextFocusableComponent, getPopupLocation, getPreferredSize, getRegisteredKeyStrokes, getRootPane, getSize, getToolTipLocation, getToolTipText, getToolTipText, getTopLevelAncestor, getTransferHandler, getVerifyInputWhenFocusTarget, getVetoableChangeListeners, getVisibleRect, getWidth, getX, getY, grabFocus, isDoubleBuffered, isLightweightComponent, isManagingFocus, isOpaque, isOptimizedDrawingEnabled, isPaintingForPrint, isPaintingTile, isRequestFocusEnabled, isValidateRoot, paint, paintBorder, paintChildren, paintComponent, paintImmediately, paintImmediately, print, printAll, printBorder, printChildren, printComponent, processComponentKeyEvent, processKeyBinding, processKeyEvent, processMouseEvent, processMouseMotionEvent, putClientProperty, registerKeyboardAction, registerKeyboardAction, removeAncestorListener, removeNotify, removeVetoableChangeListener, repaint, repaint, requestDefaultFocus, requestFocus, requestFocus, requestFocusInWindow, requestFocusInWindow, resetKeyboardActions, reshape, revalidate, scrollRectToVisible, setActionMap, setAlignmentX, setAlignmentY, setAutoscrolls, setBackground, setBorder, setComponentPopupMenu, setDebugGraphicsOptions, setDefaultLocale, setDoubleBuffered, setFocusTraversalKeys, setFont, 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, addInputMethodListener, 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, getFont, getForeground, getGraphicsConfiguration, getHierarchyBoundsListeners, getHierarchyListeners, getIgnoreRepaint, getInputContext, getInputMethodListeners, getInputMethodRequests, getKeyListeners, getLocale, getLocation, getLocationOnScreen, getMouseListeners, getMouseMotionListeners, getMousePosition, getMouseWheelListeners, getParent, getPeer, getPropertyChangeListeners, getPropertyChangeListeners, getSize, getToolkit, getTreeLock, gotFocus, handleEvent, hasFocus, hide, imageUpdate, inside, isBackgroundSet, isCursorSet, isDisplayable, 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, processInputMethodEvent, processMouseWheelEvent, remove, removeComponentListener, removeFocusListener, removeHierarchyBoundsListener, removeHierarchyListener, removeInputMethodListener, removeKeyListener, removeMouseListener, removeMouseMotionListener, removeMouseWheelListener, removePropertyChangeListener, removePropertyChangeListener, repaint, repaint, repaint, resize, resize, setBounds, setBounds, setComponentOrientation, 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

silent

public boolean silent
True if it's a silent uninstall. No feedback will be requested.


programName

public java.lang.String programName
The program name being uninstalled. Set in the constructor before setupPanel() invoked.


version

public java.lang.String version
The version number being uninstalled. The version is extracted from the JExpress/version.txt file. This field is set before saving the feedback.


uninstallLog

public final Log uninstallLog
uninstall.log

Constructor Detail

AbstractFeedbackPanel

public AbstractFeedbackPanel(PropertyList properties)
Constructor for the AbstractFeedbackPanel object.

Parameters:
properties - installer's properties.
Method Detail

enter

public void enter()
Enter the panel.

Overrides:
enter in class WizardPanel

isOk

public boolean isOk()
Determines if everything is ok.

Overrides:
isOk in class WizardPanel
Returns:
ok

getName

public java.lang.String getName()
Gets the name of the panel.

Overrides:
getName in class WizardPanel
Returns:
name of panel.

isCancelButtonEnabled

public boolean isCancelButtonEnabled()
Gets the cancel button enabled.

Overrides:
isCancelButtonEnabled in class WizardPanel
Returns:
cancel button enabled

isPreviousButtonEnabled

public boolean isPreviousButtonEnabled()
Gets the previous button enabled.

Overrides:
isPreviousButtonEnabled in class WizardPanel
Returns:
previous button enabled

isNextButtonEnabled

public boolean isNextButtonEnabled()
Gets the next button enabled.

Overrides:
isNextButtonEnabled in class WizardPanel
Returns:
next button enabled

getNextButtonIconName

public java.lang.String getNextButtonIconName()
Gets the next button icon name.

Overrides:
getNextButtonIconName in class WizardPanel
Returns:
next button icon name

getNextButtonLabel

public java.lang.String getNextButtonLabel()
Gets the next button label.

Overrides:
getNextButtonLabel in class WizardPanel
Returns:
next button label

getFeedbackFilename

public abstract java.lang.String getFeedbackFilename()
Get the full pathname for the feedback file.

Returns:
the full pathname to the feedback file.

getUploadUrl

public abstract java.lang.String getUploadUrl()
Get the URL to upload the feedback file.

Returns:
URL to upload the feedback file.

setupPanel

public abstract boolean setupPanel()
Lay out the feedback panel. Invoked in the constructor.


feedbackOk

public abstract boolean feedbackOk()
Determine if the feedback is ok.

Returns:
return true if the feedback is ok. if it's not ok, then this method should notify user.

readyForUpload

public abstract boolean readyForUpload()
Determine if the feedback is ready to be uploaded, if the feedbackOk() is true. If the feedback is not ready for uploading, then skip the upload and continue with the uninstall.

Returns:
true if the user gave feedback

saveFeedback

public abstract boolean saveFeedback()
Save the feedback to the feedback file.


log

public void log(java.lang.String s)