Interface IGProp<VALUE>
- All Known Subinterfaces:
IActionActorSettings
,IAddUICompProvider<UICOMP>
,IChartContainer
,IComponent
,IContentItem
,IEditorActionActorSettings
,IEFixedLayoutProp
,IELayoutMgr<LAYOUT_PROP>
,IELayoutMgrDND<LAYOUT_PROP>
,IELayoutMgrSimpleDND<LAYOUT_PROP>
,IELayoutProp
,IEntry
,IEUIComp
,IEUICompBase
,IEUICompCommon
,IEUIContainer
,IEUIPanel
,IEVSComponent
,IFocusComp
,IFontIconStyle
,IImageTarget
,IJavaClassLinkEnabler
,IJavaInterfaceLinkEnabler
,IJavaMethodLinkEnabler
,IKStringHolder<PROP>
,IKStringValuePropHolder<PROP_VALUE>
,ILayoutDataAlignX
,ILayoutDataAlignY
,ILockUI
,IPropCnr
,IPropCnrBooleanSettings<BOOLEAN_OPTION>
,IPropCnrChoiceSettings<CHOICE>
,IPropCnrColorSettings<COLOR_OPTION>
,IPropCnrFillSettings<FILL_OPTION>
,IPropCnrFontSettings<FONT_OPTION>
,IPropCnrIntegerSettings<INTEGER_OPTION>
,IPropCnrKStringSettings<KSTRING_OPTION>
,IPropCnrNumberSettings<NUMBER_OPTION>
,IPropCnrStringSettings<STRING_OPTION>
,IPropCnrStrokeSettings<STROKE_OPTION>
,IPropDesigner
,IPropEditorReadOnly
,IReferrerParticipant
,ISelectorOwner
,IServerApplicationSetupPropCnr
,IShowJavaSource
,ITextExternalizableProp<PROP_VALUE>
,ITransferContainerProps
,IUIAction
,IUIActionHolder
,IUIAnimatedSingleIndexedSelectionComp
,IUIBooleanSelectionComp
,IUIBuilderFromVSLinkEnabler
,IUICellSelectionComp
,IUICheck2Component
,IUICheckComponent
,IUIComp
,IUIComponentLinkEnabler
,IUICompRelativeTarget
,IUIContainer
,IUIContextMenuOwner
,IUIDateTimeComponent
,IUIDateValueComponent
,IUIDoubleRangeValueComponent
,IUIDoubleValueComponent
,IUIFocusComp
,IUIHint
,IUIIndexedSelectionComp
,IUILabelForTarget
,IUINullableValueComponent
,IUIPanelAnimation
,IUIPanelOwner
,IUIRadioComponent
,IUISelectionComp
,IUISingleIndexedSelectionComp
,IUITimeValueComponent
,IUITriStateSelectionComp
,IUIValueComponent
,IVirtualizedMonitorPanelProvider
,IVirtualizedMonitorProp
,IVSActionLinkEnabler
,IVSComponent
,IVSFieldLinkEnabler
,IVSMessageComponent
,IVSParticipant
,IWrappedElement
,IWSPropDesigner
- All Known Implementing Classes:
AbsoluteData
,AbsoluteLayout
,AbstractBaseRelativeReference
,AbstractContentUIContainer
,AbstractFixedVirtualizedBaseRelativeReference
,AbstractImageDefinition
,AbstractImageResolution
,AbstractInputProps
,AbstractPredefinedSettings
,AbstractReference
,AbstractSettings
,AbstractStyles
,AbstractUIAction
,AbstractUICompRelativeReference
,AbstractVSVariable
,AccordionData
,AccordionLayout
,ActionActors
,ActiveTerminalSession
,ActiveTerminalSessions
,AnnotationsContainer
,AppDistributionProps
,AppLanguages
,Application
,AppPropCnr
,ArrayProp
,AssetReference
,AssetReferences
,Axis2D
,BackgroundImageReference
,BadgeProp
,BoolProp
,BorderData
,BorderLayout
,ByteArrayProp
,CalendarData
,CalendarEvent
,CalendarLayout
,CaptureFieldProp
,CaptureRootProp
,CaptureScreenProp
,CharProp
,CIDProp
,ClassReference
,ClientProps
,ClientSessionProp
,CodeItemArrayProp
,Color4Prop
,ColorProp
,ConnectionProfileSetup
,ConnectionProfilesSetup
,ConstrainedIntProp
,ContextMenuData
,ContextMenuLayout
,ContextMenuReference
,DatabaseActionActor.Settings
,DatabaseProps
,DatabaseTransactionReference
,DateTimeProp
,DesignerPropCnr
,DeviceProp
,DevParams
,DOMElement
,DoubleProp
,DragDropLinkAdapter
,DragDropPropCnr
,EAbsoluteData
,EAbsoluteLayout
,EAccordionData
,EAccordionLayout
,EAxis2D
,EBorderData
,EBorderLayout
,ECalendarData
,ECalendarEvent
,ECalendarLayout
,EContextMenuData
,EContextMenuLayout
,EditorActionActors
,EditorActiveTerminalSession
,EditorActiveTerminalSessions
,EditorAppPropCnr
,EditorClassReference
,EditorClientSessionProp
,EditorConnectionProfileSetup
,EditorConnectionProfilesSetup
,EditorDatabaseActionActor.Settings
,EditorDatabaseProps
,EditorEndPointPropCnr
,EditorEndPointsPropCnr
,EditorFieldActor
,EditorFieldActors
,EditorFolderSettingsProp
,EditorFontFaces
,EditorFontFile
,EditorFontFiles
,EditorFontIconDefinition
,EditorFontIconsDefinition
,EditorHistoryBackward.Settings
,EditorHistoryForward.Settings
,EditorImageDefinition
,EditorImageLocation
,EditorImageResolution
,EditorImagesDefinition
,EditorImagesResolution
,EditorImagesStyle
,EditorImageStyle
,EditorImageStyleLocation
,EditorImageStylesResolution
,EditorInfoPropCnr
,EditorInputProps
,EditorInputVariable
,EditorJavaActionActor.Settings
,EditorJSONElementWrapper
,EditorJSONEncodedInput
,EditorJSONReplyDocument
,EditorLetsEncryptDomain
,EditorMailProps
,EditorMethodReference
,EditorMethodReference2
,EditorModuleProjectPropCnr
,EditorOutputColumn
,EditorOutputProps
,EditorOutputTable
,EditorOutputVariable
,EditorOutputVariables
,EditorPolicyProps
,EditorPropCnr
,EditorPushProps
,EditorPWAProps
,EditorRESTfulInputProps
,EditorResultProps
,EditorResultSetColumnProp
,EditorResultSetProps
,EditorRuntimeBuilderProps
,EditorScreenActionGroupProp
,EditorScreenActionProp
,EditorScreenActionsProp
,EditorScreenFieldGroupProp
,EditorScreenFieldProp
,EditorScreenFieldsProp
,EditorScreenIdentificationProp
,EditorScreenIdentificationsProp
,EditorScreenProp
,EditorSelector
,EditorSelectorReference
,EditorServerAppConfig
,EditorServerConfigEnvProps
,EditorServerPluginConfig
,EditorServerProps
,EditorServerSettings
,EditorSessionConnectionStatProp
,EditorSessionsProp
,EditorSetFocus.Settings
,EditorSetSourceFieldValue.Settings
,EditorSetTargetFieldValue.Settings
,EditorStyledImageDefinition
,EditorStyles
,EditorSVGDefinition
,EditorTerminalActionActor.Settings
,EditorTerminalProps
,EditorTextTable
,EditorTransportField.Settings
,EditorURLEncodedInput
,EditorURLInputParameter
,EditorVirtualizedMonitorPropCnr
,EditorVirtualSpace
,EditorVSAction
,EditorVSColumnHeader
,EditorVSField
,EditorVSFocusReference
,EditorVSGroup
,EditorVSOnUIEvent
,EditorVSParticipantsHolder
,EditorVSRow
,EditorVSRows
,EditorVSTable
,EditorWebServerPortConfig
,EditorWebServiceActionActor.Settings
,EditorWebServiceProp
,EFlexData
,EFlexLayout
,EGridData
,EGridLayout
,EHeadingData
,EHeadingLayout
,EListData
,EListLayout
,EMapData
,EMapLayout
,EMapMarkerProp
,EMapMarkers
,EMenuBarData
,EMenuBarLayout
,EMenuData
,EMenuLayout
,EMLDefaultItemProp
,EMLGroup
,EMLGroupLayout
,EMList
,EMListData
,EMListLayout
,EMLItemProp
,EMUIHeading
,EMUISimpleDialog
,EMUISwitch
,EMUITabBar
,EndPointPropCnr
,EndPointsPropCnr
,EnvProps
,EPanelData
,EPlot2D
,ErrorsProp
,ESeries
,ESeriesValue
,ESwapData
,ESwapLayout
,ETabBarData
,ETabBarLayout
,ETabData
,ETabLayout
,EUIAccordion
,EUIButton
,EUICalendar
,EUICalendarList
,EUIChart
,EUICheckBox
,EUICheckedMenuItem
,EUIComboBox
,EUIComps
,EUIContainer
,EUIContextMenu
,EUIDateTime
,EUIDialog
,EUIEmpty
,EUIGauge
,EUIImage
,EUIImage2
,EUILabel
,EUIMap
,EUIMedia
,EUIMenu
,EUIMenuBar
,EUIMenuItem
,EUIMenuSeparator
,EUIOutput
,EUIPanel
,EUIPanelPart
,EUIPanelPartCnr
,EUIProgress
,EUIRadioButton
,EUIRadioMenuItem
,EUISlider
,EUISpinner
,EUISwapContainer
,EUITabContainer
,EUITable
,EUITableColumn
,EUITableData
,EUITableLayout
,EUIText
,EUITextArea
,EUITitlePane
,FieldActor
,FieldActors
,FilePropCnr
,FileURIPropCnr
,FillProp
,FixedVirtualizedAbstractReference
,FlexData
,FlexLayout
,FolderPropCnr
,FolderSettingsProp
,FolderURIPropCnr
,FontFaces
,FontFile
,FontFiles
,FontIconDefinition
,FontIconsDefinition
,FontProp
,GeoProps
,GProp
,GradientProp
,GridData
,GridLayout
,GroupNameProp
,HeadingData
,HeadingLayout
,HistoryBackward.Settings
,HistoryForward.Settings
,HostSessionProps
,ImageDefinition
,ImageLocation
,ImagePreview
,ImageReference
,ImageResolution
,ImagesDefinition
,ImagesResolution
,ImagesStyle
,ImageStyle
,ImageStyleLocation
,ImageStylesResolution
,InputProps
,InputVariable
,Int32Prop
,Int4Prop
,IntProp
,JavaActionActorBase.Settings
,JavaProjectRootPropCnr
,JavaRootContainer
,JSONElementWrapper
,JSONEncodedInput
,JSONReplyDocument
,KStringProp
,LabelForReference
,LayoutMgr
,LayoutProp
,LetsEncryptDomain
,ListData
,ListLayout
,LogicItemProp
,LogicProp
,LongProp
,MailProps
,MapData
,MapLayout
,MapMarkerProp
,MapMarkers
,MementoPropCnr
,MenuBarData
,MenuBarLayout
,MenuData
,MenuLayout
,MessageBox
,MethodReference
,MethodReference2
,MLDefaultItemProp
,MLGroup
,MLGroupLayout
,MList
,MListData
,MListLayout
,MLItemProp
,ModuleApp
,ModuleFolderPropCnr
,ModuleProjectPropCnr
,ModuleRootPropCnr
,MUIHeading
,MUISimpleDialog
,MUISwitch
,MUITabBar
,MultiProp
,MultiPropCnr
,NumberProp
,OutputColumn
,OutputProps
,OutputTable
,OutputVariable
,OutputVariables
,PanelData
,PanelPartReference
,PanelSettingsPropCnr
,ParsedJavaSourceContainer
,PasswordProp
,PatternProp
,PKCS12IdentityProp
,PlainKStringProp
,Plot2D
,PolicyProps
,PrivProp
,ProjectRootPropCnr
,PropCnr
,ProxyPropCnr
,PushPropCnr
,PushProps
,PWAPropCnr
,PWAProps
,RecordingProp
,RecordingRootProp
,RecordingScreenProp
,RecordingScreensProp
,RectProp
,ReferralsHolder
,RemoteHostSessionProp
,RESTfulInputProps
,ResultProps
,ResultSetColumnProp
,ResultSetProps
,RuntimeBuilderProps
,RuntimeImageDefinition
,ScreenActionGroupProp
,ScreenActionProp
,ScreenActionReference
,ScreenActionsProp
,ScreenFieldGroupProp
,ScreenFieldProp
,ScreenFieldReference
,ScreenFieldsProp
,ScreenIdentificationProp
,ScreenIdentificationsProp
,ScreenProp
,Selector
,SelectorReference
,Series
,SeriesValue
,ServerAppConfig
,ServerAppDistributionProps
,ServerClientSessionProps
,ServerConfigEnvProps
,ServerConfigEnvReference
,ServerKeysProp
,ServerPluginConfig
,ServerProps
,ServerRuntimeBuilderProps
,ServerSettings
,ServerSocketCommProps
,ServerVSViewerPropCnr
,SessionConnectionStatProp
,SessionsProp
,SetFocus.Settings
,SetSourceFieldValue.Settings
,SetTargetFieldValue.Settings
,SettingsPropCnr
,SizeProp
,SocketCommProps
,SpeechRecognitionProp
,SpeechSynthesisProp
,SSLCommProps
,String4Prop
,StringArrayProp
,StringMapProp
,StringProp
,StringSetProp
,StrokeProp
,StyledImageDefinition
,Styles
,StylesCnr
,StylesReferences
,SVGDefinition
,SwapData
,SwapLayout
,TabBarData
,TabBarLayout
,TabData
,TabLayout
,TableCell
,TableRow
,TableRows
,TelnetCommProps
,TerminalActionActor.Settings
,TerminalProps
,TerminalSettings
,TextTable
,TextTableReference
,ThemesProp
,Toaster
,TooltipProp
,TransactionCommProps
,TransportField.Settings
,TransportGroup.Settings
,TransportSelectedTableRows.Settings
,TransportSingleSelectedTableRow.Settings
,TransportSingleSelectedTableRowAndColumnToField.Settings
,TransportSingleSelectedTableRowToFields.Settings
,TransportTableColumn.Settings
,TransportTableRows.Settings
,TypesContainer
,UIAbstractListChoice
,UIAccordion
,UIButton
,UICalendar
,UICalendarList
,UIChart
,UICheckBox
,UICheckedMenuItem
,UIComboBox
,UIComp
,UIComps
,UIContainer
,UIContextMenu
,UIDateTime
,UIDialog
,UIEmpty
,UIGauge
,UIImage
,UIImage2
,UILabel
,UIMap
,UIMedia
,UIMenu
,UIMenuBar
,UIMenuItem
,UIMenuSeparator
,UIOutput
,UIPanel
,UIPanelBase
,UIPanelPart
,UIPanelPartCnr
,UIProgress
,UIRadioButton
,UIRadioMenuItem
,UISlider
,UISpinner
,UISwapContainer
,UITabContainer
,UITable
,UITableColumn
,UITableData
,UITableLayout
,UIText
,UITextArea
,UITitlePane
,Unit4Prop
,UnitProp
,URLEncodedInput
,URLInputParameter
,ValueProp
,ValueTypeProp
,VirtualizedMonitorPropCnr
,VirtualsContainer.VContainer
,VirtualSpace
,VirtualsPropCnr
,VSAction
,VSActionActorParticipant
,VSActionReference
,VSColumnHeader
,VSColumnReference
,VSComponent
,VSComponentReference
,VSField
,VSFieldReference
,VSFocusReference
,VSGroup
,VSGroupReference
,VSOnUIEvent
,VSParticipant
,VSParticipantReference
,VSParticipantsHolder
,VSReference
,VSRelativeReference
,VSRow
,VSRows
,VSTable
,VSTableColumnReference
,VSTableReference
,VSVariables
,VSViewerPropCnr
,WebServerPortConfig
,WebServiceActionActor.Settings
,WebServiceProp
,WebServiceReference
,WebSocketCommProps
,WebSocketServerCommProps
,Windows
,X509CertificatesProp
,XMLSchemaValidatorProp
public interface IGProp<VALUE>
Interface to the generic property class holds the property name, value and optionally has a parent and/or property listener(s).- Author:
- Christopher Mindus
Field Summary
Fields Modifier and Type Field Description static int
EQC_ERROR_IGNORE_ALL
Bit value for equals comparison: ignore all error properties.static int
EQC_ERROR_IGNORE_REFERENCES
Bit value for equals comparison: ignore reference error properties.static int
EQC_IGNORE_ARRAY
Bit value for equals comparison: ignore array properties.static int
EQC_IGNORE_VOLATILE_OR_EDITOR
Bit value for equals comparison: ignore volatile or editor-only properties, i.e.static int
EQC_PRIVATE
Bit value for equals comparison: check private.static int
EQC_SAVE_FILE
Bit value for equals comparison when saving files: EQC_PRIVATE | EQC_ERROR_IGNORE_ALL | EQC_IGNORE_VOLATILE_OR_EDITOR.static int
EXT_CONTAINER_EXTENDS
Bit value forgetPropExtendsFlags()
:Container extends another container (0x1000), for containers only.static int
EXT_CONTAINER_EXTENDS_VALID
Bit value forgetPropExtendsFlags()
: Container extends another container, and reference is valid (0x2000), for containers only.static int
EXT_EXTENDED
Bit value forgetPropExtendsFlags()
: Extended property (0x0001).static int
EXT_FINAL
Bit value forgetPropExtendsFlags()
: Final Extends (0x0004).static int
EXT_OVERRIDES
Bit value forgetPropExtendsFlags()
: Overrides a source property (0x0008).static int
EXT_OVERRIDES_FINAL_ERR
Bit value forgetPropExtendsFlags()
: Overrides a source property that is final [= error] (0x0010).static int
EXT_PRIVATE
Bit value forgetPropExtendsFlags()
: Private Extends (0x0002).
Method Summary
All Methods Instance Methods Abstract Methods Modifier and Type Method Description boolean
addPropError(IPropErrorItem item)
Adds an error input to the property.void
addPropListener(EventListener l)
Adds a listener for the property.void
dispose()
Disposes of the property, but doesn't remove it from a parent.boolean
equals(java.lang.Object o, int how)
Checks for equality.void
fine(java.lang.String msg)
Logs a fine event.void
fine(java.lang.String msg, java.lang.Object... params)
Logs a fine event.void
finer(java.lang.String msg)
Logs a finer event.void
finer(java.lang.String msg, java.lang.Object... params)
Logs a finer event.void
finest(java.lang.String msg)
Logs a finest event.void
finest(java.lang.String msg, java.lang.Object... params)
Logs a finest event.java.lang.Object
fromElementString(java.lang.String string)
Called from theinitializeProperty(Element element)
method once the element String is retrieved from the "value" attribute of the element.IAppSessionGyro
getAppSessionGyro()
Returns the Application Session Gyro instance of this virtualized property.Atom[]
getAtomPath(PropCnr stopAt)
Gets the atom path of this property.IClientSessionGyro
getClientSessionGyro()
Returns the Client Session Gyro instance of this virtualized property.java.lang.String
getConstraints()
Gets the constraints string for this property.EnvProps
getEnvironment()
Gets the environment properties.void
getErroredPropItems(java.util.ArrayList<PropErrorItemOrigin> list, boolean excludeExtends)
Retrieves the list of error items for this property and its children (if this property is a container).void
getErroredProps(java.util.ArrayList<GProp<?>> list, boolean excludeExtends)
Retrieves the properties containing errors.ErrorsProp
getErrorsProp()
Gets the error property from the parent.PropCnr
getExtendsRootContainer()
Searches for an Extends container for a property.java.lang.String
getFullPropName()
Gets the full name of this property, i.e.java.lang.String
getFullPropNameDebug()
Gets the full name of this property, i.e.FolderURIPropCnr
getModuleFolder(IPluginDescriptor<?> descriptor)
Gets the property container of specified type from the properties root.FolderURIPropCnr
getModuleFolder(java.lang.String folderName)
Gets the property container of specified type from the properties root.PropCnr
getParent()
Gets the parent of this property.<PROPCNR extends PropCnr>
PROPCNRgetParent(java.lang.Class<PROPCNR> clazz)
Gets the parent of this property with the requested type.Atom
getPropAtom()
Gets the atom used for the name of this property.PropCnr
getPropBaseReference()
Gets a base property container reference instance from the container or any parent containers.PropError
getPropError()
Gets the property error instance.IPropErrorItem
getPropError(java.lang.String id)
Gets the error input item with specified ID, for none specify empty string.int
getPropErrorSeverity()
Gets the error severity of this property.int
getPropExtendsFlags()
Checks if this property extends another property, and if so gets the extends flags.GProp<?>
getPropFromPath(java.lang.String path)
Finds a property in the tree of the requested name from a path specification, i.e.GProp<?>
getPropFromReference(java.lang.String ref)
Gets a property from a reference name.int
getPropIndex()
Gets the index of this property in the parent container.java.lang.String
getPropName()
Gets the name of this property.PropCnr[]
getPropPath(boolean includeThisPropCnr)
Gets the parents to the root of this property.PropCnr[]
getPropPath(boolean includeThisPropCnr, IPropCnr stop)
Gets the parents to the input property or the root of this property.PropMgr
getPropRootPropMgr()
Gets the Property Manager used for communication for the root container.int
getPropTreeErrorSeverity(boolean excludeExtends)
Gets the error severity of this property or any property below.VALUE
getPropValue()
Gets the current value set, null for an uninitialized value.java.lang.Object
getPropValue(java.lang.Class<?> requestedType)
Gets the property value in another class form than the "native" one.java.lang.String
getReferencePropName()
Gets the reference property name, overridden when used in the Designer to skip the file storage property, and by the root property.int
getReferences(java.util.List<Reference> references)
Gets the references of this property top others.java.lang.String
getRelativePropName(IPropCnr container)
Gets the relative name of this property to a container.PropCnr
getRootParent()
Gets the root container in the property tree.java.lang.Object
getTreeLock()
Gets the tree-lock object used when locking the property tree when structural changes are made or when creating/reading transactions that could potentially cause a structural change.java.lang.Class<?>[]
getValueClasses()
Gets the list of possible native Java classes that can be used to set a value usingsetPropertyValue
, in order of importance.VSReference
getVSReference(Atom refAtom)
Gets a VSReference instance from the container or any parent containers.boolean
hasChanged()
Checks if the value has been changed since last time the other party was updated by a call toappend
or since last call toresetChanged
.boolean
hasPrivateChangeEventProp()
Checks the flag indicating this property uses a "private" change event, i.e.boolean
hasPropError()
Checks if this property has an error.boolean
hasPropTreeError(boolean excludeExtends)
Checks if any property in the tree below this property has an error.void
info(java.lang.String msg)
Logs an informational event.void
info(java.lang.String msg, java.lang.Object... params)
Logs an informational event.void
initializeGElement(org.w3c.dom.Element element)
Called when the XML file for the property tree is serialized from properties.void
initializeGProp(org.w3c.dom.Element element)
Called to initialize the generic property from anElement
.boolean
isDisposed()
Checks if the property is disposed.boolean
isPropChildOf(IPropCnr parent)
Checks if this property is child of a parent property.boolean
isPropClientCreated()
Checks if this property is created on the client or not.boolean
isPropCommunicating()
Checks if this property container is used with the communication framework.boolean
isPropCreateRequired()
Checks if this property requires a "create transaction" when sent to the other party (server to client or vice versa).boolean
isPropExtended()
Checks the flag indicating this property is a property belonging to another container.boolean
isPropExtendsFinal()
Checks if this property is Extends Final in regards to the Extends Framework.boolean
isPropExtendsPrivate()
Checks if this property is Extends Private in regards to the Extends Framework.boolean
isPropExtendsPrivateInRoot()
Checks if the property is Extends Private from this property and up to, but not including the "isExtendsRoot()" property container in the parent chain of properties.boolean
isPropExtendsPrivateInRoot(IPropCnr root)
Checks if the property is Extends Private from this property and up to, but not including the "isExtendsRoot()" property container in the parent chain of properties.boolean
isPropFile()
Checks if this is a File property container.boolean
isPropFolder()
Checks if this is a Folder property container.boolean
isPropNullable()
Checks if this property is nullable.boolean
isPropPrivate()
Checks if this property is private, i.e.boolean
isPropReadOnly()
Checks if this property is read-only.boolean
isPropReferenceTreeValid()
Verifies if the tree is valid for reference creation.boolean
isPropRoot()
Checks if this is a root property container.boolean
isPropVirtualized()
Checks if this property has been virtualized.void
list()
Prints a listing of this property to the standard system output streamSystem.out
.void
list(java.io.PrintStream out)
Prints a listing of this property to the specified output stream.void
list(java.io.PrintStream out, int indent)
Prints out a list, starting at the specified indentation, to the specified print stream.void
list(java.io.PrintWriter out)
Prints a listing to the specified print writer.void
list(java.io.PrintWriter out, int indent)
Prints out a list, starting at the specified indentation, to the specified print writer.java.lang.String
mapAliasToReference(java.lang.String aliasReference)
Maps an alias reference name to a reference name.java.lang.String
mapReferenceToAlias(java.lang.String referenceName)
Maps a reference name to an alias name.java.lang.String
mapReferenceToProjectRelative(java.lang.String referenceName)
Maps a reference name to project relative format, i.e.boolean
moveProp(PropCnr moveToContainer)
Moves this property container to another container, without changing the listeners.boolean
moveProp(PropCnr moveToContainer, Atom newName, int destinationIndex)
Moves this property container to another container, without changing the listeners.boolean
moveProp(PropCnr moveToContainer, Atom newName, Atom reference, boolean isAfter)
Moves this property container to another container, without changing the listeners.void
onEvent(GEvent event)
Called when a property event is send to this property.void
onEventSelf(GEvent event)
Called when a property event is send to this property.void
onPropTreeInitialized()
Called when the property has initialized from the Element when streamed from an XML file, has had all (if any) children elements and nodes added as properties and that the property has been added into it's parent.void
onRemoteEvent(RemoteEvent event)
Called when a remote property event should be processed by this property.boolean
removePropError(java.lang.String id)
Removes an error input from the property.void
removePropListener(EventListener l)
Removes a listener for the property.boolean
renameProp(Atom propertyAtom)
Renames this property.void
resolveRuntimeReferences(IRuntimeResolver resolver)
Called before transactions are prepared for sending.void
setChanged()
Forces setting of the change flag.void
setConstraints(java.lang.Object constraints, java.lang.String prevConstraints, org.w3c.dom.Element prevElement)
Sets the constraints for the property previously returned from the same constraints call tosetConstraints(String,Element)
with the same String and Element as this instance would require.java.lang.Object
setConstraints(java.lang.String constraints, org.w3c.dom.Element element)
Sets the constraints for the property.void
setParent(IPropCnr aParent)
Sets the parent for this property.boolean
setPrivateChangeEventProp(boolean on)
Sets the flag indicating this property uses a "private" change event, i.e.boolean
setPropError(PropError error)
Sets all or clears the errors for the property.boolean
setPropExtendsFinal(boolean on)
Sets the flag indicating property is a Extends Final property in the container when this property belongs to the Extends Framework.boolean
setPropExtendsPrivate(boolean on)
Sets the flag indicating property is a Extends Private property in the container when this property belongs to the Extends Framework.boolean
setPropNullable(boolean on)
Sets the flag indicating property is nullable with setPropValue.boolean
setPropPrivate(boolean on)
Sets the flag indicating property is private.boolean
setPropReadOnly(boolean on)
Sets the flag indicating property is read-only.boolean
setPropValue(java.lang.Object newValue)
Sets a new value for this property.boolean
setPropValue(java.lang.Object newValue, IGProp<?> trigger)
Sets a new value for this property.void
severe(java.lang.String msg)
Logs a severe event.void
severe(java.lang.String msg, java.lang.Object... params)
Logs a severe event.void
severe(java.lang.String msg, java.lang.Throwable exception)
Logs a severe event.java.lang.String
toElementString(java.lang.Object value)
Called from theinitializeElement(Element element)
method.java.lang.Object
toNativeValue(java.lang.Object value)
Tries conversion of possibly accepted properties values using thesetPropertyValue
method into the most preferred property value type.void
triggerRemoteEvent(int localID)
Triggers a remote event for execution at the remote partyonRemoteEvent()
method of this remote property instance.void
triggerRemoteEvent(int localID, PropCnr params)
Triggers a remote event for execution at the remote partyonRemoteEvent()
method of this remote property instance.void
validateProp(java.lang.Object newValue)
Validates the value to set by first callingvalidateType
, thenvalidateValue
.void
validatePropType(java.lang.Object newValue)
Validates the newValue against the property object type.void
validatePropValue(java.lang.Object newValue)
Validates the value to set.boolean
verify(PropVerification verification)
Verifies this property.boolean
verifyHasPropertyItem(java.lang.String propertyItem)
Checks if this property has the property item during validation of references.void
warning(java.lang.String msg)
Logs a warning event.void
warning(java.lang.String msg, java.lang.Object... params)
Logs a warning event.void
warning(java.lang.String msg, java.lang.Throwable exception)
Logs a warning event.
Field Detail
EXT_EXTENDED
static final int EXT_EXTENDED
Bit value forgetPropExtendsFlags()
: Extended property (0x0001).- See Also:
- Constant Field Values
EXT_PRIVATE
static final int EXT_PRIVATE
Bit value forgetPropExtendsFlags()
: Private Extends (0x0002).- See Also:
- Constant Field Values
EXT_FINAL
static final int EXT_FINAL
Bit value forgetPropExtendsFlags()
: Final Extends (0x0004).- See Also:
- Constant Field Values
EXT_OVERRIDES
static final int EXT_OVERRIDES
Bit value forgetPropExtendsFlags()
: Overrides a source property (0x0008).- See Also:
- Constant Field Values
EXT_OVERRIDES_FINAL_ERR
static final int EXT_OVERRIDES_FINAL_ERR
Bit value forgetPropExtendsFlags()
: Overrides a source property that is final [= error] (0x0010).- See Also:
- Constant Field Values
EXT_CONTAINER_EXTENDS
static final int EXT_CONTAINER_EXTENDS
Bit value forgetPropExtendsFlags()
:Container extends another container (0x1000), for containers only.- See Also:
- Constant Field Values
EXT_CONTAINER_EXTENDS_VALID
static final int EXT_CONTAINER_EXTENDS_VALID
Bit value forgetPropExtendsFlags()
: Container extends another container, and reference is valid (0x2000), for containers only.- See Also:
- Constant Field Values
EQC_ERROR_IGNORE_REFERENCES
static final int EQC_ERROR_IGNORE_REFERENCES
Bit value for equals comparison: ignore reference error properties.- See Also:
- Constant Field Values
EQC_ERROR_IGNORE_ALL
static final int EQC_ERROR_IGNORE_ALL
Bit value for equals comparison: ignore all error properties.- See Also:
- Constant Field Values
EQC_IGNORE_VOLATILE_OR_EDITOR
static final int EQC_IGNORE_VOLATILE_OR_EDITOR
Bit value for equals comparison: ignore volatile or editor-only properties, i.e. content properties that are not persisting or that should not affect save operations.- See Also:
- Constant Field Values
EQC_IGNORE_ARRAY
static final int EQC_IGNORE_ARRAY
Bit value for equals comparison: ignore array properties.- See Also:
- Constant Field Values
EQC_PRIVATE
static final int EQC_PRIVATE
Bit value for equals comparison: check private.- See Also:
- Constant Field Values
EQC_SAVE_FILE
static final int EQC_SAVE_FILE
Bit value for equals comparison when saving files: EQC_PRIVATE | EQC_ERROR_IGNORE_ALL | EQC_IGNORE_VOLATILE_OR_EDITOR.- See Also:
- Constant Field Values
Method Detail
dispose
void dispose()
Disposes of the property, but doesn't remove it from a parent. Calling the method more than once will result in a no-operation.All children of this property, if any, will also be disposed of.
This method calls the
onPropDispose()
method.
isDisposed
boolean isDisposed()
Checks if the property is disposed.- Returns:
- true if property is disposed of, false otherwise.
getAppSessionGyro
IAppSessionGyro getAppSessionGyro()
Returns the Application Session Gyro instance of this virtualized property.To get the
instance from the current thread useIAppSessionGyro
, orIAppSessionGyro.getSessionInstance()
to get it from the session information instance.IAppSessionGyro.getSessionInstance(SessionInfo)
Do not abuse of this method as it requires a little look-up work.
- Returns:
- The Application Session Gyro if this instance is virtualized, null otherwise.
getClientSessionGyro
IClientSessionGyro getClientSessionGyro()
Returns the Client Session Gyro instance of this virtualized property. This method only work for properties in a panel tree. Data connectors may sometimes also provide
support.IClientSessionGyro
To get the
instance from the current thread useIClientSessionGyro
, orIClientSessionGyro.getSessionInstance()
to get it from the session information instance.IClientSessionGyro.getSessionInstance(SessionInfo)
Do not abuse of this method as it requires a little look-up work.
- Returns:
- The Client Session Gyro if this instance is virtualized and is in a
UIPanelBase
(panels) tree (or for certain data connectors), null otherwise.
getTreeLock
java.lang.Object getTreeLock()
Gets the tree-lock object used when locking the property tree when structural changes are made or when creating/reading transactions that could potentially cause a structural change. Code synchronized on a single property should not synchronize on the tree, it must synchronize on the tree first, then the property itself.- Returns:
- The lock object for the property tree.
isPropClientCreated
boolean isPropClientCreated()
Checks if this property is created on the client or not.- Returns:
- true for the client, false for server or editor.
getVSReference
VSReference getVSReference(Atom refAtom)
Gets a VSReference instance from the container or any parent containers. The method is used byVSRelativeReference
to look up theVSReference
instance in order to resolve the relative path to the target property.This method needs to be overridden by subclasses of
PropCnr
that has a VSReference as property, e.g. theJSONInProp
class in the Web Service plug-in.The default is to re-target the call to the parent container, and if the root, a folder or a file property is reached,
null
is returned.- Parameters:
refAtom
- The property asking for the VSReference.- Returns:
- The instance of the
VSReference
ornull
if unassigned.
getPropBaseReference
PropCnr getPropBaseReference()
Gets a base property container reference instance from the container or any parent containers. The method is used byPropRelativeReference
to look up the reference instance in order to resolve the relative path to the target property.This method needs to be overridden by subclasses of
PropCnr
that has a PropRelativeReference as property, e.g. theScreenProp
class in the Terminal Core plug-in.The default is to re-target the call to the parent container, and if the root, a folder or a file property is reached,
null
is returned.- Returns:
- The instance of the
PropCnr
ornull
if unassigned.
resolveRuntimeReferences
void resolveRuntimeReferences(IRuntimeResolver resolver)
Called before transactions are prepared for sending. This method allows creation of e.g. runtime references such as Styles or Panel references that adds a virtual instance for the Client.This call is propagated in the entire client tree.
- Parameters:
resolver
- The reference resolver.
isPropExtended
boolean isPropExtended()
Checks the flag indicating this property is a property belonging to another container. This flag means the property is originating from an Extends container initially.- Returns:
- true if the property originates from the Extends container, false otherwise.
setPropExtendsPrivate
boolean setPropExtendsPrivate(boolean on)
Sets the flag indicating property is a Extends Private property in the container when this property belongs to the Extends Framework. Extends Private properties are not transported to the container that extends the original container.- Parameters:
on
- flag indicating if it's Extends Private or not.- Returns:
- true for changed, false for no change.
isPropExtendsPrivate
boolean isPropExtendsPrivate()
Checks if this property is Extends Private in regards to the Extends Framework.- Returns:
- true is the property has the Extends Private attribute.
setPropExtendsFinal
boolean setPropExtendsFinal(boolean on)
Sets the flag indicating property is a Extends Final property in the container when this property belongs to the Extends Framework. Extends Final properties cannot be modified in containers that extends the original container, and to clarify, the Extends Final properties are set in the original container's properties or the container itself.- Parameters:
on
- flag indicating if it's Extends Final or not.- Returns:
- true for changed, false for no change.
isPropExtendsFinal
boolean isPropExtendsFinal()
Checks if this property is Extends Final in regards to the Extends Framework.- Returns:
- true is the property has the Extends Final attribute.
isPropExtendsPrivateInRoot
boolean isPropExtendsPrivateInRoot()
Checks if the property is Extends Private from this property and up to, but not including the "isExtendsRoot()" property container in the parent chain of properties.If using this method to search for Extends Private in the Extends "Source Container", use the method that uses a container as parameter instead:
isPropExtendsPrivateInRoot(PropCnr root)
.- Returns:
- true if a property in the hierarchy between the extends root (excluded), and this property, the
isPropExtendsPrivate()
method would return true. It is false if no Extends Private exists, or if the root is not found.
isPropExtendsPrivateInRoot
boolean isPropExtendsPrivateInRoot(IPropCnr root)
Checks if the property is Extends Private from this property and up to, but not including the "isExtendsRoot()" property container in the parent chain of properties.- Parameters:
root
- The root to use if an alternate one is required, otherwise set to null for root look-up (note: this works only in the target container, not for the source container).- Returns:
- true if a property in the hierarchy between the extends root (excluded), and this property, the
isPropExtendsPrivate()
method would return true. It is false if no Extends Private exists, or if the root is not found.
getExtendsRootContainer
PropCnr getExtendsRootContainer()
Searches for an Extends container for a property. The parent tree is searched for a container withPropCnr.isExtendsRoot()
, including this property (if it's a container).The search is ended with a "not found"
null
return code if a property file, folder or root is found (i.e.isPropFile()
,isPropFolder()
orisPropRoot()
returns true).- Returns:
- The Extends container root, or
null
if such a container is not found.
getPropExtendsFlags
int getPropExtendsFlags()
Checks if this property extends another property, and if so gets the extends flags. This call is only interesting to do in the Designer where the Extends Framework is used. It requires a little processing, so do not call it too often if not required.- Returns:
- A value with the flags in the bit-values below:
- EXT_EXTENDED - Extended property.
- EXT_PRIVATE - Private Extends.
- EXT_FINAL - Final Extends.
- EXT_OVERRIDES - Overrides a source property.
- EXT_OVERRIDES_FINAL_ERR - Overrides a source property that is final = error.
- EXT_CONTAINER_EXTENDS - Container extends another container (only for containers)
- EXT_CONTAINER_EXTENDS_VALID - Container extends another container, and reference is valid (only for containers).
getValueClasses
java.lang.Class<?>[] getValueClasses()
Gets the list of possible native Java classes that can be used to set a value usingsetPropertyValue
, in order of importance. Note that loss of precision in data if e.g. an Float property accepts a Double. However, thesetPropertyValue
throwsIllegalArgumentException
if the range in invalid, e.g. conversion of a Integer to a Byte, and the value is not -127 to 128.- Returns:
- The array of Java classes that can be accepted in the
setPropertyValue
method. The first type is the "native" or most preferred type. The array is at least one item in length and never null.
renameProp
boolean renameProp(Atom propertyAtom) throws PropException
Renames this property. This is allowed if the property has no parent or the parent accepts the rename.- Parameters:
propertyAtom
- The new atom name.- Returns:
- true if name has changed, false otherwise.
- Throws:
PropException
- If rename causes duplicate names in parent.java.lang.NullPointerException
- If propertyAtom is null.
getPropAtom
Atom getPropAtom()
Gets the atom used for the name of this property.- Returns:
- Atom, the property atom.
getPropName
java.lang.String getPropName()
Gets the name of this property.- Returns:
- String Name of the property.
getModuleFolder
FolderURIPropCnr getModuleFolder(java.lang.String folderName)
Gets the property container of specified type from the properties root.- Parameters:
folderName
- The folder name.- Returns:
- The folder in the project,
null
if not found.
getModuleFolder
FolderURIPropCnr getModuleFolder(IPluginDescriptor<?> descriptor)
Gets the property container of specified type from the properties root.- Parameters:
descriptor
- The folder descriptor.- Returns:
- The folder in the project,
null
if not found.
getFullPropName
java.lang.String getFullPropName()
Gets the full name of this property, i.e. concatenated with the parent names separated with slashes ("/"), and in the Designer including the project name. The difference with this method andgetReferencePropName()
is that instances ofFilePropCnr
are omitted in the path ingetReferencePropName()
, but not in this method.- Returns:
- A full property path string as "/path/propName" in the Server, "project:/path/propName" in the Designer.
getFullPropNameDebug
java.lang.String getFullPropNameDebug()
Gets the full name of this property, i.e. concatenated with the parent names separated with slashes ("/"), and in the Designer including the project name. The difference with this method andgetReferencePropName()
is that instances ofFilePropCnr
are omitted in the path ingetReferencePropName()
, but not in this method.This method is equal to the
getFullPropName()
method, without checks for root parent. This method is typically used for debugging and trace output.- Returns:
- A full property path string as "/path/propName" in the Server, "project:/path/propName" in the Designer.
getRelativePropName
java.lang.String getRelativePropName(IPropCnr container)
Gets the relative name of this property to a container.When running with assertions, check is done that the container really contains this property. Without assertions, this results in a NullPointerException.
Assertions exceptions are also thrown if the properties in the tree are disposed of.
- Parameters:
container
- The container to use as base name, null if root is required.- Returns:
- The relative property name with a path to the container as
"path/propName"
.
isPropRoot
boolean isPropRoot()
Checks if this is a root property container. It is overridden by the root property.- Returns:
- true for the root, false otherwise.
isPropFolder
boolean isPropFolder()
Checks if this is a Folder property container. It is overridden byFolderPropCnr
.- Returns:
- true for
FolderPropCnr
, false otherwise.
isPropFile
boolean isPropFile()
Checks if this is a File property container. It is overridden byFilePropCnr
.- Returns:
- true for
FilePropCnr
, false otherwise.
getPropRootPropMgr
PropMgr getPropRootPropMgr()
Gets the Property Manager used for communication for the root container. If this is not the root container, the parent function is called upwards in tree.- Returns:
- The Property Manager, or null when not attached to a root.
isPropReferenceTreeValid
boolean isPropReferenceTreeValid()
Verifies if the tree is valid for reference creation. This method is typically overridden in a root property that has a Property Manager owner that in turn is checked for a particular configuration (e.g. Client-related references such as LabelForReference that does not create references when communicating).- Returns:
- true if the root property manager is found, false otherwise.
mapAliasToReference
java.lang.String mapAliasToReference(java.lang.String aliasReference)
Maps an alias reference name to a reference name.Alias reference names have the format "*alias:/path/propName".
This method is overridden by the root container in a project.
- Parameters:
aliasReference
- The alias reference name.- Returns:
- The default implementation is to return the same as the input
aliasReference
. If the aliasReference is not found, the same String as the inputaliasReference
is returned.
mapReferenceToAlias
java.lang.String mapReferenceToAlias(java.lang.String referenceName)
Maps a reference name to an alias name.Alias names have the format "*alias:/path/propName".
This method is overridden by the root container in a project.
- Parameters:
referenceName
- The reference name.- Returns:
- The default implementation is to return the same as the input
referenceName
. If there is not alias for the project, the same String as the inputreferenceName
is returned.
mapReferenceToProjectRelative
java.lang.String mapReferenceToProjectRelative(java.lang.String referenceName)
Maps a reference name to project relative format, i.e. with a project name of "." instead of the project name (if it's the current project name).- Parameters:
referenceName
- The reference name.- Returns:
- A reference like ".:/path/propName" instead of "currentProject:/path/propName". If there is not alias for the project, the same String as the input
referenceName
is returned.
getReferencePropName
java.lang.String getReferencePropName()
Gets the reference property name, overridden when used in the Designer to skip the file storage property, and by the root property.- Returns:
- A property reference string as "/path/propName" in the Server, "project:/path/propName" in the Designer.
getPropFromReference
GProp<?> getPropFromReference(java.lang.String ref)
Gets a property from a reference name. This can be called from any property in the property tree, and will direct the request to the root property.- Parameters:
ref
- The reference string.- Returns:
- The property with the reference in question, or null if not found.
getPropFromPath
GProp<?> getPropFromPath(java.lang.String path)
Finds a property in the tree of the requested name from a path specification, i.e. a string divided by "/" for child properties, e.g. "component/host/flag" would perhaps find the grand child "flag" property in the child "host" property located in the "component" property.The "part" as ".." specifies the parent property, if any, otherwise
null
is returned.The path may start with "project:/path" (for the Designer) or "/path", in which case the path is taken from the root.
The path may be relative or absolute, with or without a project specification.
- Parameters:
path
- the path name of the property to locate in the tree.- Returns:
- GProp the property or
null
for uninitialized container or the property with specified name is not found.
isPropChildOf
boolean isPropChildOf(IPropCnr parent)
Checks if this property is child of a parent property. The parent tree is searched.
- Parameters:
parent
- The parent to check.- Returns:
- true if this property has
setParent
void setParent(IPropCnr aParent)
Sets the parent for this property. To remove the parent, set the parent to null.- Parameters:
aParent
- The parent to set or null to clear the parent.
getParent
PropCnr getParent()
Gets the parent of this property.- Returns:
- PropCnr The parent or null for none.
getParent
<PROPCNR extends PropCnr> PROPCNR getParent(java.lang.Class<PROPCNR> clazz)
Gets the parent of this property with the requested type.- Type Parameters:
PROPCNR
- The property container class requested.- Parameters:
clazz
- The type.- Returns:
- The parent of specified type,
null
for no parent or parent not of specified type.
getRootParent
PropCnr getRootParent()
Gets the root container in the property tree.- Returns:
- PropCnr The root parent or null for none.
getAtomPath
Atom[] getAtomPath(PropCnr stopAt)
Gets the atom path of this property.- Parameters:
stopAt
- Stop at this property container. If null the root is used.- Returns:
- An array of Atom's.
getPropPath
PropCnr[] getPropPath(boolean includeThisPropCnr)
Gets the parents to the root of this property.- Parameters:
includeThisPropCnr
- If true and this property is an instance of PropCnr, it is added at the end of the array.- Returns:
- The array of parents, first element being the root parent, last the direct parent.
getPropPath
PropCnr[] getPropPath(boolean includeThisPropCnr, IPropCnr stop)
Gets the parents to the input property or the root of this property.- Parameters:
includeThisPropCnr
- If true and this property is an instance of PropCnr, it is added at the end of the array.stop
- The property container to stop at (it will be included as the first element in the array).- Returns:
- The array of parents, first element being the input property or root parent, last the direct parent.
getEnvironment
EnvProps getEnvironment()
Gets the environment properties.- Returns:
- The EnvProps for the client/server environment or null if not found.
getPropIndex
int getPropIndex()
Gets the index of this property in the parent container.- Returns:
- int, the index of this property in the parent container, -1 if no parent or not found.
moveProp
boolean moveProp(PropCnr moveToContainer) throws PropException
Moves this property container to another container, without changing the listeners. The event "PropMoveEvent" is fired. For a client connection, this results in two operations: one add and one remove event.This method is only intended for the designer, and the interface "com.iizigo.prop.IPropDesigner" must be implemented in both this container as well as the receiver.
During the move, two "onPropParentChanged" calls are done to the property, first to set parent to null, then to the new parent.
Note: This method is not thread-safe, but used in an "SWT-thread-safe'd" environment, in conjunction with Eclipse Data Structure Integrity within a project in a workspace, it is safe.
- Parameters:
moveToContainer
- The container to move this container to.- Returns:
- true for success, false for failure (e.g. property not found in the parent). true is returned even if there is no change in the move operation.
- Throws:
PropException
- If the destination container cannot receive this container due to duplicate name or that it is read-only. It is also thrown if this container has no parent or the parent is read-only.
moveProp
boolean moveProp(PropCnr moveToContainer, Atom newName, Atom reference, boolean isAfter) throws PropException
Moves this property container to another container, without changing the listeners. The event "PropMoveEvent" is fired. For a client connection, this results in two operations: one add and one remove event.This method is only intended for the designer, and the interface "com.iizigo.prop.IPropDesigner" must be implemented in both this container as well as the receiver.
During the move, two "onPropParentChanged" calls are done to the property, first to set parent to null, then to the new parent.
Note: This method is not thread-safe, but used in an "SWT-thread-safe'd" environment, in conjunction with Eclipse Data Structure Integrity within a project in a workspace, it is safe.
- Parameters:
moveToContainer
- The container to move this container to.newName
- The new name of the property, null for same.reference
- The reference atom where to place the moved property (before or after), null indicates added last.isAfter
- Flag to move the property after reference (if non-null), otherwise it's before.- Returns:
- true for success, false for failure (e.g. property not found in the parent). true is returned even if there is no change in the move operation.
- Throws:
PropException
- If the destination container cannot receive this container due to duplicate name or that it is read-only. It is also thrown if this container has no parent or the parent is read-only.
moveProp
boolean moveProp(PropCnr moveToContainer, Atom newName, int destinationIndex) throws PropException
Moves this property container to another container, without changing the listeners. The event "PropMoveEvent" is fired. For a client connection, this results in two operations: one add and one remove event.This method is only intended for the designer, and the interface "com.iizigo.prop.IPropDesigner" must be implemented in both this container as well as the receiver.
During the move, two "onPropParentChanged" calls are done to the property, first to set parent to null, then to the new parent.
Note: This method is not thread-safe, but used in an "SWT-thread-safe'd" environment, in conjunction with Eclipse Data Structure Integrity within a project in a workspace, it is safe.
- Parameters:
moveToContainer
- The container to move this container to.newName
- The new name of the property, null for same.destinationIndex
- The reference atom where to place the moved property (before or after), null indicates added last.- Returns:
- true for success, false for failure (e.g. property not found in the parent). true is returned even if there is no change in the move operation.
- Throws:
PropException
- If the destination container cannot receive this container due to duplicate name or that it is read-only. It is also thrown if this container has no parent or the parent is read-only.
setChanged
void setChanged()
Forces setting of the change flag. If the flag was cleared prior to this call, thesetChanged
will propagate to the topmost parent (if any).
hasChanged
boolean hasChanged()
Checks if the value has been changed since last time the other party was updated by a call toappend
or since last call toresetChanged
.- Returns:
- true if changed, false otherwise.
setPropPrivate
boolean setPropPrivate(boolean on)
Sets the flag indicating property is private.- Parameters:
on
- flag indicating if it's private or not.- Returns:
- true for changed, false for no change.
isPropPrivate
boolean isPropPrivate()
Checks if this property is private, i.e. is not sent to the remote party (server to client or vice versa).- Returns:
- true if private, false otherwise.
isPropCommunicating
boolean isPropCommunicating()
Checks if this property container is used with the communication framework.- Returns:
- true if property is attached to a container that is communicating with a client, false otherwise.
isPropVirtualized
boolean isPropVirtualized()
Checks if this property has been virtualized.- Returns:
- true if the property is virtualized, false otherwise.
setPropReadOnly
boolean setPropReadOnly(boolean on)
Sets the flag indicating property is read-only.- Parameters:
on
- flag indicating if it's read-only or not.- Returns:
- true for changed, false for no change.
isPropReadOnly
boolean isPropReadOnly()
Checks if this property is read-only.- Returns:
- true if read-only, false otherwise.
setPropNullable
boolean setPropNullable(boolean on)
Sets the flag indicating property is nullable with setPropValue.- Parameters:
on
- flag indicating if it's nullable or not.- Returns:
- true for changed, false for no change.
isPropNullable
boolean isPropNullable()
Checks if this property is nullable.- Returns:
- true if property is nullable, false otherwise.
getErrorsProp
ErrorsProp getErrorsProp()
Gets the error property from the parent. If not found, the property up to the root is searched and if found, that error property is returned. Several property containers, such as UIComp, override this method and creates the error property in its own container, and that error property is returned.- Returns:
- The error property for this property or above in the property tree.
addPropError
boolean addPropError(IPropErrorItem item)
Adds an error input to the property.- Parameters:
item
- The error item.- Returns:
- true for changed, false for no change.
removePropError
boolean removePropError(java.lang.String id)
Removes an error input from the property.- Parameters:
id
- The error ID or null for "".- Returns:
- true for changed, false for no change or error ID not found.
getPropError
PropError getPropError()
Gets the property error instance.- Returns:
- The error property instance null for no error.
getPropError
IPropErrorItem getPropError(java.lang.String id)
Gets the error input item with specified ID, for none specify empty string.- Parameters:
id
- The ID for the error, can be empty string (null means default empty string).- Returns:
- The error item for the ID, or null for not found.
setPropError
boolean setPropError(PropError error)
Sets all or clears the errors for the property. If theerror
instance is non-null, a check if done if theerror
instance is empty, and if so, changed to null, causing it to have the same effect as to callsetPropError(null)
.- Parameters:
error
- The error property or null to clear the errors.- Returns:
- true for changed, false for no change.
hasPropError
boolean hasPropError()
Checks if this property has an error. If this property object has a registered errors, true is returned.- Returns:
- true if an error is registered for the property.
getPropErrorSeverity
int getPropErrorSeverity()
Gets the error severity of this property.- Returns:
- -1 for none, otherwise IPropErrorItem.INFO=0, WARNING=1, ERROR=2.
hasPropTreeError
boolean hasPropTreeError(boolean excludeExtends)
Checks if any property in the tree below this property has an error.- Parameters:
excludeExtends
- Flag indicating the properties that originates from the Extends Framework should be excluded from the search.- Returns:
- true if any error is present in any property or their values.
getPropTreeErrorSeverity
int getPropTreeErrorSeverity(boolean excludeExtends)
Gets the error severity of this property or any property below.- Parameters:
excludeExtends
- Flag indicating the properties that originates from the Extends Framework should be excluded from the search.- Returns:
- -1 for none, otherwise IPropErrorItem.INFO=0, WARNING=1, ERROR=2.
getErroredProps
void getErroredProps(java.util.ArrayList<GProp<?>> list, boolean excludeExtends)
Retrieves the properties containing errors.- Parameters:
list
- The list that will be filled in with the errored properties.excludeExtends
- Flag indicating the properties that originates from the Extends Framework should be excluded from the search.
getErroredPropItems
void getErroredPropItems(java.util.ArrayList<PropErrorItemOrigin> list, boolean excludeExtends)
Retrieves the list of error items for this property and its children (if this property is a container).- Parameters:
list
- The list that will be filled with error items.excludeExtends
- Flag indicating the properties that originates from the Extends Framework should be excluded from the search.
isPropCreateRequired
boolean isPropCreateRequired()
Checks if this property requires a "create transaction" when sent to the other party (server to client or vice versa).- Returns:
- true if the property needs creation for transactions, false otherwise.
setPrivateChangeEventProp
boolean setPrivateChangeEventProp(boolean on)
Sets the flag indicating this property uses a "private" change event, i.e. doesn't inform the parent when value changes.- Parameters:
on
- flag indicates this is set (true) or cleared (false).- Returns:
- true for changed, false for no change.
hasPrivateChangeEventProp
boolean hasPrivateChangeEventProp()
Checks the flag indicating this property uses a "private" change event, i.e. doesn't inform the parent when value changes.- Returns:
- true if the change event is "private", false otherwise.
setConstraints
java.lang.Object setConstraints(java.lang.String constraints, org.w3c.dom.Element element) throws PropException
Sets the constraints for the property.This method must be overridden by subclasses in order to load the constraints properly if the constraints-string is not sufficient, i.e. that additional settings must be loaded from the XML Element.
- Parameters:
constraints
- The constraints string from the properties definition.element
- The Element that loads the property class from the properties definition. Note that Element may benull
if the constructor isn't called from the PropertyFactory.- Returns:
- The constraints object for reuse by the
PropertyFactory
with a subsequentsetConstraints(Object)
call instead of to this method. This method always returnsnull
and must be overridden by subclasses. - Throws:
PropException
- For errors in the constraints definitions.
setConstraints
void setConstraints(java.lang.Object constraints, java.lang.String prevConstraints, org.w3c.dom.Element prevElement) throws PropException
Sets the constraints for the property previously returned from the same constraints call tosetConstraints(String,Element)
with the same String and Element as this instance would require.This method must be overridden by subclasses in order to load the constraints properly if the constraints-string is not sufficient, i.e. that additional settings must be loaded from the XML Element.
- Parameters:
constraints
- The constraints Object from the properties definition.prevConstraints
- The previous constraints string from the properties definition.prevElement
- The previous Element that loads the property class from the properties definition.- Throws:
PropException
- For errors in the constraints definitions.
getConstraints
java.lang.String getConstraints()
Gets the constraints string for this property.This method must be overridden by subclasses in order to return something of interest, because this method by default returns
null
.- Returns:
- The constraints string used to in
setConstraints
to initiate the constraints for this property.
setPropValue
boolean setPropValue(java.lang.Object newValue) throws PropException
Sets a new value for this property. If any listener is present and the value has changed compare to the last value, the listener is informed.- Parameters:
newValue
- the new value.- Returns:
- boolean true for value has changed, false for same value as current value.
- Throws:
PropException
- When the new value doesn't validate correctly.PropTypeException
- If the property is read-only.
setPropValue
boolean setPropValue(java.lang.Object newValue, IGProp<?> trigger) throws PropException
Sets a new value for this property. If any listener is present and the value has changed compare to the last value, the listener is informed.- Parameters:
newValue
- The new value.trigger
- The trigger property, or null for none.- Returns:
- boolean true for value has changed, false for same value as current value.
- Throws:
PropException
- When the new value doesn't validate correctly.PropTypeException
- If the property is read-only.
validateProp
void validateProp(java.lang.Object newValue) throws PropException
Validates the value to set by first callingvalidateType
, thenvalidateValue
.Note: When this method is called, synchronization is done at the property itself, so no synchronization on the tree should be done. This method calls
validatePropertyType
andvalidatePropertyValue
in the property-synchronized code, so these methods should not synchronize the tree either.- Parameters:
newValue
- The new value to set.- Throws:
PropException
- when the new value doesn't validate correctly.
validatePropType
void validatePropType(java.lang.Object newValue) throws PropTypeException
Validates the newValue against the property object type. Subclasses must override this method to perform optional value type validation.Note: When this method is called, synchronization is done at the property itself, so no synchronization on the tree should be done.
- Parameters:
newValue
- The new value to set.- Throws:
PropTypeException
- when the new value isn't of the correct class.
validatePropValue
void validatePropValue(java.lang.Object newValue) throws PropException
Validates the value to set. Subclasses can override this method to perform optional value validation. No validation is performed in this method.Note: When this method is called, synchronization is done at the property itself, so no synchronization on the tree should be done.
- Parameters:
newValue
- The new value to set.- Throws:
PropException
- when the new value doesn't validate correctly.
getPropValue
VALUE getPropValue()
Gets the current value set, null for an uninitialized value.- Returns:
- Object the value or null for uninitialized value.
getPropValue
java.lang.Object getPropValue(java.lang.Class<?> requestedType) throws java.lang.IllegalArgumentException, java.lang.Exception
Gets the property value in another class form than the "native" one. This method tries conversion of a "native" property value into another class type. This method is used when filling in a POJO variable (Plain Old Java Object Field) from a "native" property value.Subclasses overrides the method
getPropertyValue0
in order to provide the appropriate conversion.- Parameters:
requestedType
- The requested class type of the property value, using appropriate conversion.- Returns:
- The property value in the requested class, after conversion.
- Throws:
java.lang.IllegalArgumentException
- If the class is not supported by the property for conversion.java.lang.Exception
- Other exceptions that could occur.
addPropListener
void addPropListener(EventListener l)
Adds a listener for the property.- Parameters:
l
- The listener to add.
removePropListener
void removePropListener(EventListener l)
Removes a listener for the property.- Parameters:
l
- The listener to remove.
onEvent
void onEvent(GEvent event)
Called when a property event is send to this property.If this property is disposed, no processing will take place.
This method checks the event's Operations to perform and handles it accordingly.
If, at any time, the event is canceled, the processing is stopped.
- Parameters:
event
- The property event.
onEventSelf
void onEventSelf(GEvent event)
Called when a property event is send to this property.A subclass can override this method to perform appropriate processing and is not required to call
super.onEventSelf(e)
.- Parameters:
event
- The property event.
onRemoteEvent
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.
- Parameters:
event
- The property event.
triggerRemoteEvent
void triggerRemoteEvent(int localID)
Triggers a remote event for execution at the remote partyonRemoteEvent()
method of this remote property instance.- Parameters:
localID
- The property-local event ID.
triggerRemoteEvent
void triggerRemoteEvent(int localID, PropCnr params)
Triggers a remote event for execution at the remote partyonRemoteEvent()
method of this remote property instance.- Parameters:
localID
- The local event ID received on the other end.params
- A new (unnamed) property container, or null for none.
initializeGProp
void initializeGProp(org.w3c.dom.Element element) throws PropException
Called to initialize the generic property from anElement
.This method initializes the generic property and then calls the
initializeProperty(AtomManager atomManager,Element element)
.The attributes "readOnly", "private" and "informParent" are read from the Element.
- Parameters:
element
- TheElement
.- Throws:
PropException
- when the initialization fails.
fromElementString
java.lang.Object fromElementString(java.lang.String string) throws PropException
Called from theinitializeProperty(Element element)
method once the element String is retrieved from the "value" attribute of the element. Override this method to provide the appropriateString
toObject
conversion.The default implementation returns the
String
passed as the parameter.- Parameters:
string
- the String value of the object from the String value attribute.- Returns:
- the Object in "native" property value form of the string value.
- Throws:
PropException
- when the conversion fails.
onPropTreeInitialized
void onPropTreeInitialized() throws java.io.IOException, PropException
Called when the property has initialized from the Element when streamed from an XML file, has had all (if any) children elements and nodes added as properties and that the property has been added into it's parent.This method does nothing and may be overridden by any subclasses to perform custom processing. The
PropertyContainer
calls all its children with this method in order to inform the tree.The
ExtendablePropertyContainer
overrides this method to load all extended containers.- Throws:
java.io.IOException
- For file errors.PropException
- When there is an initialization problem.
initializeGElement
void initializeGElement(org.w3c.dom.Element element)
Called when the XML file for the property tree is serialized from properties. The property should fill attributes and nodes with appropriate information.This method initializes the generic property and then calls the
initializeElement(Element element)
.The attributes "readOnly", "private" and "informParent" are set for the Element.
- Parameters:
element
- The element.
toElementString
java.lang.String toElementString(java.lang.Object value)
Called from theinitializeElement(Element element)
method. Override this method to provide the appropriateObject
toString
conversion.The default implementation returns the
Object value.toString()
return code. If the value is null, null is returned.- Parameters:
value
- the value in the object to convert to a string.- Returns:
- the string corresponding to the object value, or null for a null value.
toNativeValue
java.lang.Object toNativeValue(java.lang.Object value) throws java.lang.NullPointerException, java.lang.Exception
Tries conversion of possibly accepted properties values using thesetPropertyValue
method into the most preferred property value type. If the input value already is of the preferred type, the same object is returned.Subclasses overrides the method
toNativeValue0
in order to provide the appropriate conversion.- Parameters:
value
- the input value to convert to native value.- Returns:
- The converted input value in the preferred property value object type.
- Throws:
java.lang.NullPointerException
- If the input Object value is null.java.lang.Exception
- Other exceptions.
verifyHasPropertyItem
boolean verifyHasPropertyItem(java.lang.String propertyItem)
Checks if this property has the property item during validation of references. The default behavior is to return false, because a property by default doesn't have a "property item", but e.g. the Text Table has, so that property overrides this method.- Parameters:
propertyItem
- The property item name.- Returns:
- false Always, unless overridden by a subclass.
getReferences
int getReferences(java.util.List<Reference> references)
Gets the references of this property top others. This method is typically used in the Designer to search for circular references during verification.- Parameters:
references
- The references array is filled in by this method.- Returns:
- The count of references added.
verify
boolean verify(PropVerification verification)
Verifies this property. The check performed is the extension of classes and that no circular reference is present.- Parameters:
verification
- The property verification class.- Returns:
- true if verification should proceed, false if disposed of and verification should not take place.
equals
boolean equals(java.lang.Object o, int how)
Checks for equality.- Parameters:
o
- The other property to compare with.how
- Flags EQC_* values for equal checking.- Returns:
- Both atom and value are equal.
list
void list()
Prints a listing of this property to the standard system output streamSystem.out
.
list
void list(java.io.PrintStream out)
Prints a listing of this property to the specified output stream.- Parameters:
out
- a print stream.
list
void list(java.io.PrintStream out, int indent)
Prints out a list, starting at the specified indentation, to the specified print stream.- Parameters:
out
- a print stream.indent
- number of spaces to indent.
list
void list(java.io.PrintWriter out)
Prints a listing to the specified print writer.- Parameters:
out
- The print writer to print to.
list
void list(java.io.PrintWriter out, int indent)
Prints out a list, starting at the specified indentation, to the specified print writer.- Parameters:
out
- The print writer to print to.indent
- The number of spaces to indent.
finest
void finest(java.lang.String msg)
Logs a finest event.- Parameters:
msg
- The message.
finest
void finest(java.lang.String msg, java.lang.Object... params)
Logs a finest event.- Parameters:
msg
- The message.params
- Parameters.
finer
void finer(java.lang.String msg)
Logs a finer event.- Parameters:
msg
- The message.
finer
void finer(java.lang.String msg, java.lang.Object... params)
Logs a finer event.- Parameters:
msg
- The message.params
- Parameters.
fine
void fine(java.lang.String msg)
Logs a fine event.- Parameters:
msg
- The message.
fine
void fine(java.lang.String msg, java.lang.Object... params)
Logs a fine event.- Parameters:
msg
- The message.params
- Parameters.
info
void info(java.lang.String msg)
Logs an informational event.- Parameters:
msg
- The message.
info
void info(java.lang.String msg, java.lang.Object... params)
Logs an informational event.- Parameters:
msg
- The message.params
- Parameters.
warning
void warning(java.lang.String msg)
Logs a warning event.- Parameters:
msg
- The message.
warning
void warning(java.lang.String msg, java.lang.Object... params)
Logs a warning event.- Parameters:
msg
- The message.params
- Parameters.
warning
void warning(java.lang.String msg, java.lang.Throwable exception)
Logs a warning event.- Parameters:
msg
- The message.exception
- The exception.
severe
void severe(java.lang.String msg)
Logs a severe event.- Parameters:
msg
- The message.
severe
void severe(java.lang.String msg, java.lang.Throwable exception)
Logs a severe event.- Parameters:
msg
- The message.exception
- The exception.
severe
void severe(java.lang.String msg, java.lang.Object... params)
Logs a severe event.- Parameters:
msg
- The message.params
- Parameters.