Class VSComponent
- java.lang.Object
- com.iizix.prop.GProp<GProp<?>[]>
- com.iizix.prop.PropCnr
- com.iizix.prop.vs.VSComponent
- All Implemented Interfaces:
EventListener
,IFocusComp
,IMessageBox
,ICustomDataProvider
,IGProp<GProp<?>[]>
,IPropCnr
,IVSComponent
,IVSComponentListener
,IVSComponentState
,java.lang.Cloneable
public abstract class VSComponent extends PropCnr implements IVSComponent
Base VS class used by VirtualSpace elements: VSField, VSTable, VSRow, VSColumnHeader, VSAction, VirtualSpace.- Author:
- Christopher Mindus
Nested Class Summary
Nested classes/interfaces inherited from interface com.iizix.gyro.IMessageBox
IMessageBox.Icon
Nested classes/interfaces inherited from interface com.iizix.prop.vs.IVSComponentState
IVSComponentState.State
Field Summary
Fields Modifier and Type Field Description static IVSGenericComponentListener[]
EMPTY_LISTENERS
Empty list of listeners.protected static java.util.HashMap<Atom,IVSComponentState.State>
statesMap
Properties that are mapped to listeners.Fields inherited from class com.iizix.prop.PropCnr
EMPTY, EMPTY_CLASSES, EMPTY_CNRS, EXTENDS_FRAMEWORK_ERROR_ID
Fields inherited from class com.iizix.prop.GProp
GPDEBUG, PROP_ATTR_STRING_EDITOR_PROP, PROP_ATTR_STRING_ERRORED_NAME, PROP_ATTR_STRING_EXTENDS, PROP_ATTR_STRING_EXTENDS_FINAL, PROP_ATTR_STRING_EXTENDS_PRIVATE, PROP_ATTR_STRING_NULLABLE, PROP_ATTR_STRING_PRIVATE, PROP_ATTR_STRING_PRIVATE_CHANGE_EVENT, PROP_ATTR_STRING_READ_ONLY, PROP_USER_1, PROP_USER_2
Fields inherited from interface com.iizix.prop.IGProp
EQC_ERROR_IGNORE_ALL, EQC_ERROR_IGNORE_REFERENCES, EQC_IGNORE_ARRAY, EQC_IGNORE_VOLATILE_OR_EDITOR, EQC_PRIVATE, EQC_SAVE_FILE, EXT_CONTAINER_EXTENDS, EXT_CONTAINER_EXTENDS_VALID, EXT_EXTENDED, EXT_FINAL, EXT_OVERRIDES, EXT_OVERRIDES_FINAL_ERR, EXT_PRIVATE
Fields inherited from interface com.iizix.gyro.IMessageBox
ICON_ERROR, ICON_INFORMATION, ICON_MAP, ICON_NONE, ICON_QUESTION, ICON_WARNING
Fields inherited from interface com.iizix.prop.vs.IVSComponent
ERROR, INFORMATION, NONE, PN_IGNORE_UI_FOCUS, WARNING
Constructor Summary
Constructors Modifier Constructor Description protected
VSComponent()
Creates a VirtualSpace Field property with the specified name with a null value.protected
VSComponent(Atom propertyAtom)
Creates a VirtualSpace Field property with the specified name with a null value.protected
VSComponent(Atom propertyAtom, VSComponent[] properties)
Creates a property container with the specified name and properties.
Method Summary
All Methods Instance Methods Abstract Methods Concrete Methods Deprecated Methods Modifier and Type Method Description boolean
addListener(IVSGenericComponentListener listener)
Adds a new listener to the VS component.boolean
areFree(java.lang.Runnable callback, boolean callbackIfFree, VSComponent component)
Verifies if this component and another are included in a work unit currently in progress in the VirtualSpace.boolean
areFree(java.lang.Runnable callback, boolean callbackIfFree, VSComponent... components)
Verifies if this component and other component(s) are included in a work unit currently in progress in the VirtualSpace.java.lang.String
canRequestFocus()
Returns if this component can receive focus.VSComponent
clone()
Clones the VirtualSpace component.java.lang.String
couldRequestFocusIfVirtualized(boolean ignoreStates)
Returns if this component could receive focus if it would be virtualized.java.util.Map<java.lang.String,java.lang.Object>
forbiddenGetCustomDataMap(boolean doCreate)
Deprecated.IClientSessionGyro
getClientSessionGyro()
Returns the Client Session Gyro instance.abstract java.lang.String
getComponentIsDisabled()
Gets the focus message for "Component is disabled" but for the component in question.abstract java.lang.String
getComponentIsHidden()
Gets the focus message for "Component is hidden" but for the component in question.IVSGenericComponentListener[]
getComponentListeners()
Gets the listeners of the VS component events.java.lang.String
getDescription()
Gets the description of the component.VSComponent
getNonVirtualized()
Gets the non-virtualized instance of this component, if it exists.VirtualSpace
getVirtualSpace()
Gets the VirtualSpace instance.protected void
initPropCnr()
Initializes the ENABLED property to true if it doesn't exist.boolean
isFree()
Verifies if this component is included in a work unit currently in progress in the VirtualSpace.boolean
isFree(java.lang.Runnable callback, boolean callbackIfFree)
Verifies if this component is included in a work unit currently in progress in the VirtualSpace.void
onEventSelf(GEvent event)
Checks for state change events and fires it to listeners.void
onFocusGained(IFocusComp opposite, IGProp<?> trigger, boolean isRemoteInduced)
Called to the component when it receives focus.void
onFocusLost(IFocusComp focusComp, IGProp<?> trigger, boolean isRemoteInduced)
Called to the focused component when it loses focus.protected void
onListenerChanged(IVSGenericComponentListener listener)
Called when a listener is added or removed.protected void
onPrepare(IAppOwner appOwner, IModuleOwner moduleOwner, boolean isPostCall, java.util.List<java.lang.Throwable> errors)
Called when the application is being prepared.protected void
onPropDispose()
Called when a property is disposed of by delete/remove in a container, or by the dispose method.void
onRemoteEvent(RemoteEvent event)
Called when a remote property event should be processed by this property.protected void
onVirtualizationCompleted(IAppSessionGyro appGyro, IClientSessionGyro clientGyro, VirtualSpace virtualSpace, PropCnr virtualizedProp, boolean isPostResolve)
Called when virtualization completed.protected void
onVirtualized(IAppSessionGyro appGyro, IClientSessionGyro clientGyro, VirtualSpace virtualSpace, PropCnr virtualizedProp, GProp<?> clonedProp)
Called when this property has been virtualized.boolean
removeListener(IVSGenericComponentListener listener)
Removes a listener from the VS component.Methods inherited from class com.iizix.prop.PropCnr
__transferChildProps, addPredefinedProps, addProp, addProp, addProp2, addProp2, appendPropValue, canRequestFocus, completeVirtualize, containsProp, containsProp, convertLoadedProp, couldRequestFocusIfVirtualized, createCopyOfAtom, createUniqueAtom, createUniqueAtom, createUniqueAtom, createVSReference, doPropEqualsArrayValues, doVirtualizePropCnr, enablePropCommunication, enablePropHashMap, equalsTree, equalsTree, getAllProps, getAllProps, getAllProps, getAllProps, getAllProps, getAllProps, getAllProps, getAllProps, getBool, getBool, getBool, getBool, getChildPropError, getChildPropError, getChildPropErrorSeverity, getChildPropErrorSeverity, getErrorsProp, getExtendsContainer, getExtendsError, getExtendsName, getExtendsOverride, getExtendsPossibleClasses, getFirstProp, getFirstProp, getFocusEngine, getInt, getInt, getInt, getInt, getLong, getLong, getLong, getLong, getNumber, getNumber, getNumber, getNumber, getPossibleChildren, getPredefinedProps, getProp, getProp, getProp, getProp, getProp, getProp, getProp, getProp, getProp, getProp, getProp, getPropBaseReference, getPropCnr, getPropCount, getPropCount, getPropIndex, getPropIndex, getPropIndexes, getProps, getProps, getPropValue, getPropValue, getPropValue, getPropValue, getPropValue, getPropValue, getPropValue, getPropValue0, getReferences, getRetargetedVerifyContainer, getString, getString, getString, getString, getValueClasses, getVSReference, hasFocus, hasSendData, initializeElement, initializeExtendsFramework, initializeProp, initializeValue, insertProp, insertProp2, isChild, isExtendsOverriden, isExtendsPropertyValid, isExtendsRoot, isPropAddRemoveAllowed, isPropCommunicating, isPropExtended, isSibling, list, list, logPropNotFound, maybeAddProp, onInsertProp, onPropRemoved, onPropTreeInitialized, onReferenceEvent, paramString, prepare, removeAllProps, removeAllProps2, removeProp, removeProp, removeProp, removeProp, removeProp, removeProp, removeProp, removeProp2, removeProp2, removeProp2, removeProp2, removeProp2, removeProp2, removeProp2, reorderProps, replaceProps, requestFocus, requestFocus, requestFocusEx, requestFocusEx, resolveReferences, resolveRuntimeReferences, setBool, setBool, setBool, setBool, setCreateRequiredProp, setExtendsName, setExtendsOverride, setInt, setInt, setInt, setLong, setLong, setLong, setLong, setNumber, setNumber, setNumber, setNumber, setProp, setProp, setProp, setProp2, setProp2, setPropValue, setPropValue, setPropValue, setPropValue, setPropValue, setPropValue, setString, setString, setString, setString, shouldCreateProps, shouldSerializeToXML, toElementString, toNativeValue0, usePropHashMap, usesPropIndex, validateChildPropInValue, validateClassInstances, validatePropType, validatePropValue, verify, verifyInternalUseOnly, verifyTree, virtualize
Methods inherited from class com.iizix.prop.GProp
addPropError, addPropListener, convertPropError, dispose, equals, equals, equalsErrors, equalsObj, equalsPropValue, equalValues, extendsClone, finalize, fine, fine, finer, finer, finest, finest, fromElementString, getAliasName, getAppSessionGyro, getAppWorker, getAtomPath, getAttribute, getChildReferencePropName, getClientWorker, getConstraints, getEnvironment, getErroredPropItems, getErroredProps, getErrorsProp, getExtendsRootContainer, getFullPropName, getFullPropName, getFullPropNameDebug, getFullPropNameDebug, getListeners, getModuleFolder, getModuleFolder, getParent, getParent, getProjectName, getPropAtom, getPropError, getPropError, getPropErroredName, getPropErrorSeverity, getPropExtendsFlags, getPropFromPath, getPropFromPath, getPropFromReference, getPropFromReference, getPropIndex, getPropName, getPropPath, getPropPath, getPropReferenceTarget, getPropRootPropMgr, getPropTreeErrorSeverity, getPropValue, getPropValue, getPropValueObject, getReferencePropName, getRelativePropName, getRootFromName, getRootName, getRootParent, getRootParent, getTreeLock, hasChanged, hasPrivateChangeEventProp, hasPropError, hasPropTreeError, info, info, initializeGElement, initializeGProp, isDisposed, isPropChildOf, isPropClientCreated, isPropCreateRequired, isPropExtended, isPropExtendsFinal, isPropExtendsPrivate, isPropExtendsPrivateInRoot, isPropExtendsPrivateInRoot, isPropFile, isPropFolder, isPropForEditor, isPropNullable, isPropPrivate, isPropPrivateAtCreation, isPropReadOnly, isPropReferenceTreeValid, isPropRoot, isPropUSER, isPropValueTreeLockNeeded, isPropVirtualized, isPropVirtualizing, isPropVolatile, isPropVolatileOrEditorOnly, isProxied, list, list, list, mapAliasToReference, mapAliasToReference, mapReferenceToAlias, mapReferenceToAlias, mapReferenceToProjectRelative, modifyPropValue, moveProp, moveProp, moveProp, onEvent, onPropInvalidateCache, onPropParentChanged, onPropValueSet, paramValue, post, post, removePropError, removePropListener, removePropUSER, renameProp, renameProp2, resetChangedTree, setChanged, setConstraints, setConstraints, setParent, setPrivateChangeEventProp, setPrivateCreateRequiredProp, setPropError, setPropErroredName, setPropExtended, setPropExtendsFinal, setPropExtendsPrivate, setPropForEditor, setPropNullable, setPropPrivate, setPropReadOnly, setPropUSER, setPropValue, setPropValue, setPropValue, setPropValueIncognito, setPropVolatile, severe, severe, severe, shouldSerializeToXML, throwIfReadOnly, toNativeValue, toString, toString, triggerRemoteEvent, triggerRemoteEvent, validateProp, verifyHasPropertyItem, warning, warning, warning
Methods inherited from class java.lang.Object
getClass, hashCode, notify, notifyAll, wait, wait, wait
Methods inherited from interface com.iizix.prop.ICustomDataProvider
getCustomData, putCustomData, putCustomDataIfAbsent
Methods inherited from interface com.iizix.gyro.IFocusComp
requestFocus, requestFocus, requestFocusEx, requestFocusEx
Methods inherited from interface com.iizix.prop.IGProp
addPropError, addPropListener, dispose, equals, fine, fine, finer, finer, finest, finest, fromElementString, getAppSessionGyro, getAtomPath, getConstraints, getEnvironment, getErroredPropItems, getErroredProps, getErrorsProp, getExtendsRootContainer, getFullPropName, getFullPropNameDebug, getModuleFolder, getModuleFolder, getParent, getParent, getPropAtom, getPropBaseReference, getPropError, getPropError, getPropErrorSeverity, getPropExtendsFlags, getPropFromPath, getPropFromReference, getPropIndex, getPropName, getPropPath, getPropPath, getPropRootPropMgr, getPropTreeErrorSeverity, getPropValue, getPropValue, getReferencePropName, getReferences, getRelativePropName, getRootParent, getTreeLock, getValueClasses, getVSReference, hasChanged, hasPrivateChangeEventProp, hasPropError, hasPropTreeError, info, info, initializeGElement, initializeGProp, isDisposed, isPropChildOf, isPropClientCreated, isPropCommunicating, isPropCreateRequired, isPropExtended, isPropExtendsFinal, isPropExtendsPrivate, isPropExtendsPrivateInRoot, isPropExtendsPrivateInRoot, isPropFile, isPropFolder, isPropNullable, isPropPrivate, isPropReadOnly, isPropReferenceTreeValid, isPropRoot, isPropVirtualized, list, list, list, list, list, mapAliasToReference, mapReferenceToAlias, mapReferenceToProjectRelative, moveProp, moveProp, moveProp, onEvent, onPropTreeInitialized, removePropError, removePropListener, renameProp, resolveRuntimeReferences, setChanged, setConstraints, setConstraints, setParent, setPrivateChangeEventProp, setPropError, setPropExtendsFinal, setPropExtendsPrivate, setPropNullable, setPropPrivate, setPropReadOnly, setPropValue, setPropValue, severe, severe, severe, toElementString, toNativeValue, triggerRemoteEvent, triggerRemoteEvent, validateProp, validatePropType, validatePropValue, verify, verifyHasPropertyItem, warning, warning, warning
Methods inherited from interface com.iizix.gyro.IMessageBox
messageBox, messageBox
Methods inherited from interface com.iizix.prop.IPropCnr
addProp, addProp, addProp2, addProp2, canRequestFocus, canRequestFocus, containsProp, containsProp, couldRequestFocusIfVirtualized, couldRequestFocusIfVirtualized, createCopyOfAtom, createUniqueAtom, createUniqueAtom, enablePropCommunication, enablePropHashMap, getAllProps, getAllProps, getAllProps, getAllProps, getAllProps, getAllProps, getAllProps, getAllProps, getBool, getBool, getBool, getBool, getChildPropError, getChildPropError, getChildPropErrorSeverity, getChildPropErrorSeverity, getErrorsProp, getExtendsError, getExtendsName, getExtendsPossibleClasses, getFirstProp, getFirstProp, getFocusEngine, getInt, getInt, getInt, getInt, getLong, getLong, getLong, getLong, getNumber, getNumber, getNumber, getNumber, getPossibleChildren, getProp, getProp, getProp, getProp, getProp, getProp, getProp, getProp, getProp, getProp, getProp, getPropCnr, getPropCount, getPropIndex, getPropIndex, getPropIndexes, getProps, getProps, getPropValue, getPropValue, getPropValue, getPropValue, getPropValue, getPropValue, getPropValue, getString, getString, getString, getString, hasFocus, initializeExtendsFramework, insertProp, insertProp2, isChild, isExtendsOverriden, isExtendsRoot, isPropAddRemoveAllowed, isPropExtended, isSibling, removeAllProps, removeAllProps2, removeProp, removeProp, removeProp, removeProp, removeProp, removeProp, removeProp, removeProp2, removeProp2, removeProp2, removeProp2, removeProp2, removeProp2, removeProp2, reorderProps, requestFocus, requestFocusEx, setBool, setBool, setBool, setBool, setExtendsName, setExtendsOverride, setInt, setInt, setInt, setLong, setLong, setLong, setLong, setNumber, setNumber, setNumber, setNumber, setProp, setProp, setProp, setProp2, setProp2, setPropValue, setPropValue, setPropValue, setPropValue, setPropValue, setPropValue, setString, setString, setString, setString, usePropHashMap, usesPropIndex, validateClassInstances
Methods inherited from interface com.iizix.prop.vs.IVSComponent
getAction, getAction2, getActionNull, getActionNull2, getField, getField2, getFieldNull, getFieldNull2, getGroup, getGroup2, getGroupNull, getGroupNull2, getTable, getTable2, getTableNull, getTableNull2, getVirtualizedVirtualSpace, getVSComponent, getVSComponent2, getVSComponentNull, getVSComponentNull2, getVSRef, isEnabled, isEnabledInParent, isReadOnly, isReadOnlyInParent, isSelected, isVisible, isVisibleInParent, messageBox, setEnabled, setEnabled, setIgnoreFocusFromUI, setReadOnly, setReadOnly, setSelected, setSelected, setVirtualizeSupportFocus, setVirtualizeSupportFocus, setVisible, setVisible, shouldIgnoreFocusFromUI
Methods inherited from interface com.iizix.prop.vs.IVSComponentListener
onParentStateChanged
Field Detail
EMPTY_LISTENERS
public static final IVSGenericComponentListener[] EMPTY_LISTENERS
Empty list of listeners.
statesMap
protected static final java.util.HashMap<Atom,IVSComponentState.State> statesMap
Properties that are mapped to listeners.
Constructor Detail
VSComponent
protected VSComponent()
Creates a VirtualSpace Field property with the specified name with a null value.
VSComponent
protected VSComponent(Atom propertyAtom)
Creates a VirtualSpace Field property with the specified name with a null value.- Parameters:
propertyAtom
- the property atom.
VSComponent
protected VSComponent(Atom propertyAtom, VSComponent[] properties) throws PropException
Creates a property container with the specified name and properties.- Parameters:
propertyAtom
- the property atom.properties
- the property array value for the property.- Throws:
PropException
- as structural changes in containers on client is prohibited.
Method Detail
getClientSessionGyro
public IClientSessionGyro getClientSessionGyro()
Returns the Client Session Gyro instance.This method calls
to retrieve the instance from the current thread.IClientSessionGyro.getSessionInstance()
- Specified by:
getClientSessionGyro
in interfaceIGProp<GProp<?>[]>
- Overrides:
getClientSessionGyro
in classGProp<GProp<?>[]>
- Returns:
- The Client Session Gyro if found for the current thread, null otherwise.
forbiddenGetCustomDataMap
@Deprecated public java.util.Map<java.lang.String,java.lang.Object> forbiddenGetCustomDataMap(boolean doCreate)
Deprecated.Gets or creates the provider map. This method is not intended to be called by user code, it is used by the system.Do not call this method!
- Specified by:
forbiddenGetCustomDataMap
in interfaceICustomDataProvider
- Parameters:
doCreate
- Creates the map if required.- Returns:
- The map or newly created map,
null
if not created.Note: the map returned is NOT synchronized thus not thread safe. It is up to the caller to synchronize on it to ensure thread safety.
clone
public VSComponent clone()
Clones the VirtualSpace component. The runtime method instances (onVSChange and onVSFocus) are kept for the clone, so they do not need to be looked up again.
getDescription
public java.lang.String getDescription()
Gets the description of the component.- Specified by:
getDescription
in interfaceIVSComponent
- Returns:
- The description, or null for none.
initPropCnr
protected final void initPropCnr()
Initializes the ENABLED property to true if it doesn't exist.- Overrides:
initPropCnr
in classPropCnr
getVirtualSpace
public VirtualSpace getVirtualSpace()
Gets the VirtualSpace instance.- Specified by:
getVirtualSpace
in interfaceIVSComponent
- Returns:
- The VirtualSpace instance (an ancestor of this property or itself), or null if not found (i.e. property is not yet attached to a VirtualSpace).
onEventSelf
public void onEventSelf(GEvent event)
Checks for state change events and fires it to listeners.- Specified by:
onEventSelf
in interfaceIGProp<GProp<?>[]>
- Overrides:
onEventSelf
in classGProp<GProp<?>[]>
- Parameters:
event
- The property event.
addListener
public boolean addListener(IVSGenericComponentListener listener)
Adds a new listener to the VS component.- Parameters:
listener
- The listener for VS component events.- Returns:
- true for success, false if the listener already is added.
removeListener
public boolean removeListener(IVSGenericComponentListener listener)
Removes a listener from the VS component.- Parameters:
listener
- The existing listener for VS component events.- Returns:
- true for success, false if the listener has not been added.
onListenerChanged
protected void onListenerChanged(IVSGenericComponentListener listener)
Called when a listener is added or removed. This method is overridden by the Designer to update connections.
getComponentListeners
public IVSGenericComponentListener[] getComponentListeners()
Gets the listeners of the VS component events.- Returns:
- A cached array of listeners for the value, retrieved without synchronization if possible.
isFree
public boolean isFree()
Verifies if this component is included in a work unit currently in progress in the VirtualSpace.- Returns:
- true if it's OK to process, false means the component is included in this work unit.
isFree
public boolean isFree(java.lang.Runnable callback, boolean callbackIfFree)
Verifies if this component is included in a work unit currently in progress in the VirtualSpace.- Parameters:
callback
- The callback to call when work completes, or null for none.callbackIfFree
- Performs a call to the callback if free when true.- Returns:
- true if it's OK to process, false means the component is included in this work unit and if
callback
is non-null, it will be called. Thecallback
is called if free and the flagcallbackIfFree
is true.
areFree
public boolean areFree(java.lang.Runnable callback, boolean callbackIfFree, VSComponent component)
Verifies if this component and another are included in a work unit currently in progress in the VirtualSpace.- Parameters:
callback
- The callback to call when work completes, or null for none.callbackIfFree
- Performs a call to the callback if free when true.component
- The component to verify.- Returns:
- true if it's OK to process, false means the component is included in this work unit and if
callback
is non-null, it will be called. Thecallback
is called if free and the flagcallbackIfFree
is true.
areFree
public boolean areFree(java.lang.Runnable callback, boolean callbackIfFree, VSComponent... components)
Verifies if this component and other component(s) are included in a work unit currently in progress in the VirtualSpace.- Parameters:
callback
- The callback to call when work completes, or null for none.callbackIfFree
- Performs a call to the callback if free when true.components
- The components to verify.- Returns:
- true if it's OK to process, false means the component is included in this work unit and if
callback
is non-null, it will be called. Thecallback
is called if free and the flagcallbackIfFree
is true.
onPrepare
protected void onPrepare(IAppOwner appOwner, IModuleOwner moduleOwner, boolean isPostCall, java.util.List<java.lang.Throwable> errors) throws PropException
Called when the application is being prepared. The order ofonPrepare
calls is always parent first, the children. The method is called twice, first time withisPostCall
set tofalse
, then a second time withtrue
.- Overrides:
onPrepare
in classGProp<GProp<?>[]>
- Parameters:
appOwner
- The application owner.moduleOwner
- The Module owner.isPostCall
- Flag indicating this is a post-call.errors
- A list of errors that occurred but did not cause an abort.- Throws:
PropException
- For property errors during the application preparation to need to abort.
onVirtualized
protected void onVirtualized(IAppSessionGyro appGyro, IClientSessionGyro clientGyro, VirtualSpace virtualSpace, PropCnr virtualizedProp, GProp<?> clonedProp)
Called when this property has been virtualized.Override to perform required processing.
- Overrides:
onVirtualized
in classGProp<GProp<?>[]>
- Parameters:
appGyro
- The application gyro instance performing the virtualization.clientGyro
- The client gyro session, can benull
if not initialized from the client gyro.virtualSpace
- The virtualized VirtualSpace.virtualizedProp
- The property being virtualized.clonedProp
- The property that is cloned to produce this virtualized property.
onVirtualizationCompleted
protected void onVirtualizationCompleted(IAppSessionGyro appGyro, IClientSessionGyro clientGyro, VirtualSpace virtualSpace, PropCnr virtualizedProp, boolean isPostResolve)
Called when virtualization completed.This method is called to the entire tree of the newly virtualized property container.
- Overrides:
onVirtualizationCompleted
in classGProp<GProp<?>[]>
- Parameters:
appGyro
- The application gyro instance performing the virtualization.clientGyro
- The client gyro session, can benull
if not initialized from the client gyro.virtualSpace
- The virtualized VirtualSpace.virtualizedProp
- The property being virtualized.isPostResolve
- Flag indicating this call is done after references are attempted to be resolved.
onPropDispose
protected void onPropDispose()
Called when a property is disposed of by delete/remove in a container, or by the dispose method.The Property Container clears the structure of unsent communication requests to clear memory.
This call is done just at the end of the delete/remove routine in the container, without synchronization.
During this call, whatever components that e.g. the client needs to disposed of is done.
Subclasses needing to perform some intelligent operations upon deletion should do it by overloading this method and always call the
super.onPropDispose()
method.- Overrides:
onPropDispose
in classPropCnr
getNonVirtualized
public VSComponent getNonVirtualized()
Gets the non-virtualized instance of this component, if it exists.The non-virtualized counterpart may not exist in case the component has been programmatically created or is e.g. a row or cell in a table that has been filled by a data connector.
- Specified by:
getNonVirtualized
in interfaceIVSComponent
- Returns:
- The non-virtualized component, null if not found.
getComponentIsHidden
public abstract java.lang.String getComponentIsHidden()
Gets the focus message for "Component is hidden" but for the component in question.
getComponentIsDisabled
public abstract java.lang.String getComponentIsDisabled()
Gets the focus message for "Component is disabled" but for the component in question.
canRequestFocus
public java.lang.String canRequestFocus()
Returns if this component can receive focus. Focus capable components may override to returnnull
for success, or other error message.Default processing is to return "Component not focusable" if the component doesn't implement the
IFocusComp
interface, "Not virtualized" if the component is not in a virtualized state, "Component is hidden" ifIVSComponent.isVisible()
isfalse
or "Component is disabled" ifIVSComponent.isEnabled()
isfalse
.- Specified by:
canRequestFocus
in interfaceIPropCnr
- Returns:
null
focus is possible to this component, or an error message describing why focus cannot be requested.
couldRequestFocusIfVirtualized
public java.lang.String couldRequestFocusIfVirtualized(boolean ignoreStates)
Returns if this component could receive focus if it would be virtualized. Focus capable components may override to returnnull
for success, or other error message.Default processing is to return "Component not focusable" if the component doesn't implement the
IFocusComp
interface, "Component is hidden" ifIVSComponent.isVisible()
isfalse
or "Component is disabled" ifIVSComponent.isEnabled()
isfalse
.- Specified by:
couldRequestFocusIfVirtualized
in interfaceIPropCnr
- Parameters:
ignoreStates
- Flag indicating that states should be ignored, such as visible or enabled. If false, hidden or disabled components return an error message.- Returns:
null
focus is possible to this component, or an error message describing why focus cannot be requested.
onFocusGained
public void onFocusGained(IFocusComp opposite, IGProp<?> trigger, boolean isRemoteInduced)
Called to the component when it receives focus.Focus components override this method if they need to process focus lost.
- Specified by:
onFocusGained
in interfaceIFocusComp
- Parameters:
opposite
- Component losing focus, null for none.trigger
- The trigger property, null for none.isRemoteInduced
- Flag indicating this event is due to a remote event.
onFocusLost
public void onFocusLost(IFocusComp focusComp, IGProp<?> trigger, boolean isRemoteInduced)
Called to the focused component when it loses focus.Focus components override this method if they need to process focus lost.
- Specified by:
onFocusLost
in interfaceIFocusComp
- Parameters:
focusComp
- Component receiving focus, null for none.trigger
- The trigger property, null for none.isRemoteInduced
- Flag indicating this event is due to a remote event.
onRemoteEvent
public void onRemoteEvent(RemoteEvent event)
Called when a remote property event should be processed by this property.A subclass can override this method to perform appropriate processing and is not required to call
super.onRemoteEvent(e)
.The onRemoteEvent is NOT called when in a proxied property container, but rather the normal onEventSelf method.
- Specified by:
onRemoteEvent
in interfaceIGProp<GProp<?>[]>
- Overrides:
onRemoteEvent
in classGProp<GProp<?>[]>
- Parameters:
event
- The remote event.