public abstract class AbstractFormComponent extends AbstractBean implements FormComponent, com.install4j.runtime.beans.formcomponents.FormEnvironmentContainer
Modifier and Type | Field and Description |
---|---|
static java.util.regex.Pattern |
MNEMONIC_PATTERN |
Constructor and Description |
---|
AbstractFormComponent() |
Modifier and Type | Method and Description |
---|---|
boolean |
checkCompleted()
This method is called by the framework when the user advances to the next screen in GUI or console mode.
|
javax.swing.JComponent |
createLeftComponent()
Create the leading component to the left of the center component.
|
javax.swing.JComponent |
createRightComponent()
Create the trailing component to the right of the center component.
|
void |
formActivated()
This method is called by the framework just after the containing screen has been activated.
|
void |
formDeactivated()
This method is called by the framework just after the containing screen has been deactivated.
|
void |
formWillActivate()
This method is called by the framework just before the containing screen will be activated.
|
java.lang.Object |
getConfigurationObject()
If the getConfigurationObjectClass method
returns null, this method is not called, otherwise a non-null value of the type returned by
getConfigurationObjectClass has to be returned by this method.
|
java.lang.Class |
getConfigurationObjectClass()
A form component can expose a well-known configuration object that is passed as a parameter to the "Initialization script"
property of every form component.
|
Context |
getContext()
Returns the Context that the framework has associated with
this form component in setContext.
|
FormEnvironment |
getFormEnvironment()
Returns the FormEnvironment that the framework has associated with
this form component in setFormEnvironment.
|
protected java.lang.Object |
getInitValue(java.lang.Object defaultValue,
java.lang.String variableName,
java.lang.Class<?> valueClass)
Helper method to get an init value.
|
static int |
getMnemonicCharIndex(java.lang.String text) |
static java.lang.String |
getTextWithoutMnemonics(java.lang.String text) |
boolean |
handleConsole(Console console)
Handle the console mode.
|
boolean |
handleUnattended()
Handle the unattended mode.
|
boolean |
hasUserInput()
This method is called in situations where the installer must disable all user input.
|
protected void |
initalize()
The name of this method has changed to "initialize"
|
void |
initialize()
This method is called by the framework when the initial state of the component should be evaluated.
|
boolean |
isEnabled()
Returns whether the form component is enabled or not.
|
boolean |
isFillCenterVertical()
Determine how the center component created by createCenterComponent should should fill all available
vertical space.
|
boolean |
isVisible()
Returns whether the form component is visible or not.
|
void |
migrateIds(java.util.Map<java.lang.String,java.lang.String> oldItToNewId)
This method is only called at design time when a user pastes form components or a screen with form components
from the clipboard.
|
void |
requestFocus()
Transfer the focus to this form component.
|
void |
setContext(Context context)
This method is called by the framework to set the Context just after the
form component has been constructed.
|
void |
setEnabled(boolean enabled)
Sets whether the form component is enabled or not.
|
void |
setFormEnvironment(FormEnvironment formEnvironment)
At runtime, this method is called twice by the framework.
|
void |
setVisible(boolean visible)
Sets whether the form component is visible or not.
|
replaceVariables, replaceVariables, replaceVariables, replaceVariables, replaceVariables, replaceVariables, replaceVariables, replaceVariables
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
createCenterComponent, isFillCenterHorizontal
public static java.lang.String getTextWithoutMnemonics(java.lang.String text)
public static int getMnemonicCharIndex(java.lang.String text)
public void setContext(Context context)
FormComponent
setContext
in interface FormComponent
context
- the context.public Context getContext()
public void setFormEnvironment(FormEnvironment formEnvironment)
FormComponent
At design time, this method is called repeatedly and the result of a call to getFormComponents() may be different over time.
setFormEnvironment
in interface FormComponent
setFormEnvironment
in interface com.install4j.runtime.beans.formcomponents.FormEnvironmentContainer
formEnvironment
- the FormEnvironmentFormEnvironment.getFormComponents()
public FormEnvironment getFormEnvironment()
getFormEnvironment
in interface com.install4j.runtime.beans.formcomponents.FormEnvironmentContainer
public boolean isEnabled()
FormComponent
AbstractFormComponent provides a default implementation for both isEnabled and setEnabled.
isEnabled
in interface FormComponent
FormComponent.setEnabled(boolean)
public void setEnabled(boolean enabled)
FormComponent
It can also be used for the case where another form component wants to control the state of this form component. For example the "Check box" form component holds a list of coupled form components that are enabled and disabled with calls to this method.
AbstractFormComponent provides a default implementation that calls setEnabled on
the component returned by FormComponent.getConfigurationObject()
, saves the "enabled" flag and returns it in the
isEnabled method.
setEnabled
in interface FormComponent
enabled
- whether to enable this form component or notAbstractFormComponent
,
ComponentTuple
,
FormComponent.isEnabled()
public void setVisible(boolean visible)
FormComponent
It can also be used for the case where another form component wants to control the state of this form component.
AbstractFormComponent provides a default implementation that calls setVisible on all components in the ComponentTuple, saves the "visible" flag and returns it in the isVisible method.
setVisible
in interface FormComponent
visible
- whether this form component should be visible or notAbstractFormComponent
,
ComponentTuple
,
FormComponent.isVisible()
public boolean isVisible()
FormComponent
AbstractFormComponent provides a default implementation for both isVisible and setVisible.
isVisible
in interface FormComponent
FormComponent.setVisible(boolean)
public void migrateIds(java.util.Map<java.lang.String,java.lang.String> oldItToNewId)
FormComponent
migrateIds
in interface FormComponent
oldItToNewId
- a map that maps the old IDs to the new IDs. An ID is of type java.lang.String.FormEnvironment.getId(FormComponent)
,
FormEnvironment.getFormComponentById(String)
public void requestFocus()
FormComponent
requestFocus
in interface FormComponent
public boolean hasUserInput()
FormComponent
hasUserInput
in interface FormComponent
public javax.swing.JComponent createLeftComponent()
FormComponent
In console or unattended mode, this method is never called.
createLeftComponent
in interface FormComponent
public boolean isFillCenterVertical()
FormComponent
isFillCenterVertical
in interface FormComponent
FormComponent.createCenterComponent()
public javax.swing.JComponent createRightComponent()
FormComponent
In console or unattended mode, this method is never called.
createRightComponent
in interface FormComponent
public java.lang.Object getConfigurationObject()
FormComponent
In console or unattended mode, this method is never called.
getConfigurationObject
in interface FormComponent
FormComponent.getConfigurationObjectClass()
public java.lang.Class getConfigurationObjectClass()
FormComponent
In console or unattended mode, this method is never called.
getConfigurationObjectClass
in interface FormComponent
FormComponent.getConfigurationObject()
public boolean checkCompleted()
FormComponent
checkCompleted
in interface FormComponent
Context.setVariable(String, Object)
public void initialize()
FormComponent
Initialization often involves replacing variables in user-configured property values.
initialize
in interface FormComponent
AbstractBean.replaceVariables(String)
protected final void initalize()
public void formWillActivate()
FormComponent
formWillActivate
in interface FormComponent
Screen.willActivate()
public void formActivated()
FormComponent
formActivated
in interface FormComponent
Screen.activated()
public void formDeactivated()
FormComponent
formDeactivated
in interface FormComponent
Screen.deactivated()
public boolean handleConsole(Console console) throws UserCanceledException
FormComponent
Note: Screens with form panels have to call FormEnvironment.handleConsole in their handleConsole method, otherwise this method will not be invoked. All pre-defined screens in install4j comply with this requirement.
handleConsole
in interface FormComponent
console
- the Console objectUserCanceledException
- if the user cancels a question or notice. These exceptions are thrown by methods in the Console object.Screen.handleConsole(com.install4j.api.screens.Console)
,
FormEnvironment.handleConsole(com.install4j.api.screens.Console)
public boolean handleUnattended()
FormComponent
handleUnattended
in interface FormComponent
protected java.lang.Object getInitValue(java.lang.Object defaultValue, java.lang.String variableName, java.lang.Class<?> valueClass)
defaultValue
- the default value. Can be null.variableName
- the installer variable name the value will be assigned to later onvalueClass
- the desired class of the variable content