Interface Extendable<T>
-
- All Known Subinterfaces:
AlarmConfiguration
,AlarmDefinition
,AlarmEvent
,AuthenticatedUser
,BoundPropertySet
,NotificationContext
,ObservablePropertySet
,PropertySet
,PropertySetEdit
,QualifiedValuePropertySet
,TagConfiguration
,TagConfigurationModel
,TagEditController<T>
,TagEventScripts
,TagGroup
,User
,VersionedPropertySet
- All Known Implementing Classes:
AbstractExtendedPropertySet
,ADSSOAuthChallenge
,AlarmConfigurationConfig
,AlarmConfigurationDiff
,AlarmDefinitionConfig
,AlarmDefinitionDiff
,AlarmEventInstance
,AuthChallenge
,BadgeAuthChallenge
,BasicAlarmConfiguration
,BasicAlarmDefinition
,BasicAlarmEvent
,BasicAuthChallenge
,BasicAuthenticatedUser
,BasicBoundPropertySet
,BasicPropertySet
,BasicTagConfiguration
,BasicTagConfigurationModel
,BasicTagEditController
,BasicTagEventScripts
,BasicUser
,BasicVersionedPropertySet
,BoundExtendedPropertySet
,BoundPropertySetConfig
,BoundPropertySetDiff
,ChartUIElement
,ComplexTagDefinition
,ComplexTagDiff
,CompositePropertySet
,DelegatePropertySet
,EventData
,ExtendedAlarmConfiguration
,ExtendedAlarmDefinition
,ExtendedPropertySet
,ExtendedTagEventScripts
,IdentityTraits
,ImmutablePropertySet
,IntersectedAlarmConfiguration
,IntersectedAlarmDefinition
,IntersectedBoundPropertySet
,IntersectedPropertySet
,IntersectedTagConfig
,IntersectedTagEditModel
,PipelineDescriptor
,PropertySetConfig
,PropertySetDiff
,PyAlarmEventImpl
,PyUser
,StorageTagConfiguration
,TagDefinition
,TagDiff
,TagEditResources
,TagEventScriptsDiff
,TagEventsScriptsConfig
,TagPropertySetWrapper
,UnfilteredEventData
public interface Extendable<T>
Extendable objects are complex objects that know how to deal with extensions, in the sense that one definition of the class will add additional details on to the same type of class. For example, when we override properties, those are represented by a PropertySet of overrides that are applied on top of the base properties. The properties themselves might be complex objects, like alarm configuration, or parameters, which need to be extensible.- Since:
- 8.0
-
-
Method Summary
All Methods Instance Methods Abstract Methods Modifier and Type Method Description T
extend(T parent)
If called on a child, gets the extension with the given parent.T
getExtension()
This returns an object that represents the value only for the most "local" level.T
newExtension()
Called on a base object, gets a new extension with a default config object for the child.
-
-
-
Method Detail
-
newExtension
T newExtension()
Called on a base object, gets a new extension with a default config object for the child.
-
getExtension
T getExtension()
This returns an object that represents the value only for the most "local" level. That is, this is the difference between the inherited base and the current extension. Complex objects should ensure that trait is true for all aspects of the returned value.
-
-