java.lang.Objectcom.install4j.api.beans.AbstractBean
com.install4j.api.formcomponents.AbstractFormComponent
public abstract class AbstractFormComponent
Abstract base class for form components. All methods that have a reasonable default answer are overridden in the class. This class saves the context and the form environment that are set by the framework and provides getters for them. In addition the "enabled" and "visible" properties are handled by invoking the corsponding setters on all components in the ComponentTuple of the form component.
Constructor Summary | |
---|---|
AbstractFormComponent()
|
Method Summary | |
---|---|
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. |
boolean |
handleConsole(Console console)
Handle the console mode. |
boolean |
handleUnattended()
Handle the unattended mode. |
void |
initalize()
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 |
isVisible()
Returns whether the form component is visible or not. |
void |
migrateIds(java.util.Map 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 |
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. |
Methods inherited from class com.install4j.api.beans.AbstractBean |
---|
replaceVariables, replaceVariables, replaceVariables, replaceVariables |
Methods inherited from class java.lang.Object |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Methods inherited from interface com.install4j.api.formcomponents.FormComponent |
---|
createCenterComponent, isFillCenterHorizontal |
Constructor Detail |
---|
public AbstractFormComponent()
Method Detail |
---|
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
formEnvironment
- the FormEnvironmentFormEnvironment.getFormComponents()
public FormEnvironment getFormEnvironment()
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 all components in the ComponentTuple, 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 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 javax.swing.JComponent createLeftComponent()
FormComponent
In console or unattended mode, this method is never called.
createLeftComponent
in interface FormComponent
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 initalize()
FormComponent
Initialization often involves replacing variables in user-configured property values.
initalize
in interface FormComponent
AbstractBean.replaceVariables(String)
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 object
UserCanceledException
- 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