- java.lang.Object
-
- org.praxislive.code.SharedCodeService
-
public class SharedCodeService extends Object implements Service
AServicefor handling shared code updates and creating dependentCodeContext. Must be running in the same process as the components due to task and result references. Should make use of aCodeCompilerServiceimplementation for compiling source code (which does support other processes).
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static classSharedCodeService.DependentResult<D extends CodeDelegate>A dependent result with new code context linked to new shared code classes.static classSharedCodeService.DependentTask<D extends CodeDelegate>A dependent task for recompiling aCodeDelegateagainst the new shared code classes.static classSharedCodeService.ResultResult with shared classes, dependent code contexts, and log.static classSharedCodeService.TaskTask containing new shared code and dependents to be updated, for sending to the SharedCodeService.-
Nested classes/interfaces inherited from interface org.praxislive.core.Protocol
Protocol.Type<T extends Protocol>, Protocol.TypeProvider
-
-
Field Summary
Fields Modifier and Type Field Description static StringNEW_SHAREDstatic ControlInfoNEW_SHARED_INFO
-
Constructor Summary
Constructors Constructor Description SharedCodeService()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description Stream<String>controls()The names of the controls that a component advertising this protocol must provide.ControlInfogetControlInfo(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, wait
-
Methods inherited from interface org.praxislive.core.Protocol
optionalControls
-
-
-
-
Field Detail
-
NEW_SHARED
public static final String NEW_SHARED
- See Also:
- Constant Field Values
-
NEW_SHARED_INFO
public static final ControlInfo NEW_SHARED_INFO
-
-
Method Detail
-
controls
public Stream<String> controls()
Description copied from interface:ProtocolThe names of the controls that a component advertising this protocol must provide.
-
getControlInfo
public ControlInfo getControlInfo(String control)
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
-
-