- java.lang.Object
-
- org.praxislive.code.SharedCodeService
-
public class SharedCodeService extends Object implements Service
AService
for 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 aCodeCompilerService
implementation for compiling source code (which does support other processes).
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static class
SharedCodeService.DependentResult<D extends CodeDelegate>
A dependent result with new code context linked to new shared code classes.static class
SharedCodeService.DependentTask<D extends CodeDelegate>
A dependent task for recompiling aCodeDelegate
against the new shared code classes.static class
SharedCodeService.Result
Result with shared classes, dependent code contexts, and log.static class
SharedCodeService.Task
Task 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 String
NEW_SHARED
static ControlInfo
NEW_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.ControlInfo
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, 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:Protocol
The names of the controls that a component advertising this protocol must provide.
-
getControlInfo
public ControlInfo getControlInfo(String control)
Description copied from interface:Protocol
Query 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:
getControlInfo
in interfaceProtocol
- Parameters:
control
- name of control- Returns:
- control info for named control
-
-