java.lang.Object
org.praxislive.core.protocols.ComponentProtocol
- All Implemented Interfaces:
Protocol
Basic component protocol, providing access to the component info, and
optional support for attaching metadata.
-
Nested Class Summary
Nested classes/interfaces inherited from interface org.praxislive.core.Protocol
Protocol.Type<T extends Protocol>, Protocol.TypeProvider -
Field Summary
FieldsModifier and TypeFieldDescriptionstatic final ComponentInfoA component info for this protocol.static final StringName of the info control.static final ControlInfoControl info for theinfocontrol.static final StringName of the meta control.static final ControlInfoControl info for themetaproperty.static final StringName of the meta-merge control.static final ControlInfoControl info for themeta-mergecontrol. -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptioncontrols()The names of the controls that a component advertising this protocol must provide.getControlInfo(String control) Query the ControlInfo for the provided control name on this protocol.Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitMethods inherited from interface org.praxislive.core.Protocol
optionalControls
-
Field Details
-
INFO
Name of the info control.- See Also:
-
META
Name of the meta control.- See Also:
-
META_MERGE
Name of the meta-merge control.- See Also:
-
INFO_INFO
Control info for theinfocontrol. A read-only property that returns the component info. The response to calling this control should be the same as callingComponent.getInfo(). -
META_INFO
Control info for themetaproperty. This property allows for arbitrary metadata to be attached to a component. Implementations of this property may only allow the value to be set when the existing value is empty or the current value is empty. Themeta-mergecontrol should be used to update an existing meta map - seeMETA_MERGE_INFO. -
META_MERGE_INFO
Control info for themeta-mergecontrol. This control accepts a map to merge into the existing meta map, and returns the full resulting value.The merge is done according to the specification of
PMap.REPLACE. -
API_INFO
A component info for this protocol. Can be used withInfo.ComponentInfoBuilder.merge(org.praxislive.core.ComponentInfo).
-
-
Constructor Details
-
ComponentProtocol
public ComponentProtocol()
-
-
Method Details
-
controls
Description copied from interface:ProtocolThe names of the controls that a component advertising this protocol must provide. -
getControlInfo
Description copied from interface:ProtocolQuery the ControlInfo for the provided control name on this protocol. The component implementing this protocol will generally use the control info provided here inside its component info. In exceptional circumstances, the component may extend or adapt the behaviour of the control, as long as it is fully compatible with this control info and the specification.- Specified by:
getControlInfoin interfaceProtocol- Parameters:
control- name of control- Returns:
- control info for named control
-