public interface Operation
Modifier and Type | Interface and Description |
---|---|
static class |
Operation.Abstract
Abstract operation.
|
static class |
Operation.OverloadException
Overload Exception.
|
Modifier and Type | Method and Description |
---|---|
void |
execute(Task task)
Executes this for the specified Task.
|
Operation |
filter(Task task,
OperationReference reference)
Apply the overloading filters to locate the appropriate operation.
|
String |
getName()
Gets the name of this operation.
|
OperationReference |
newReference(Compiler compiler)
Returns a new reference to this operation.
|
void |
register(Map<String,Operation> registrations)
Registers itself on a registrations map.
|
void execute(@Nonnull Task task) throws Task.ExecuteException
task
- The Task.Task.ExecuteException
- when appropriate.@Nonnull @CheckReturnValue Operation filter(@Nonnull Task task, @Nonnull OperationReference reference) throws Task.ExecuteException
task
- The task owning the stack.reference
- The operation reference.Task.ExecuteException
- On failure.@Nonnull @CheckReturnValue String getName()
@Nonnull @CheckReturnValue OperationReference newReference(@Nonnull Compiler compiler) throws Compiler.CompileException
compiler
- The compiler generating the program.Compiler.CompileException
- On failure to build reference.void register(@Nonnull Map<String,Operation> registrations) throws Operation.OverloadException
registrations
- The registrations map.Operation.OverloadException
- When not a subclass of the overloaded.Copyright © 2003-2019 Serge Brisson. All Rights Reserved.