org.modeshape.graph.request.function
Interface FunctionContext


public interface FunctionContext

The context in which a Function is executed.


Method Summary
 Location appliedAt()
          Get the location of the node at which the function is to be applied.
 RequestBuilder builder()
          Return a build that can be used to build, immediately execute, and return the executed requests.
 void execute(Request request)
          Immediately execute the supplied request on this connector.
 ExecutionContext getExecutionContext()
          The context in which this function is executing.
 DateTime getNowInUtc()
          Get the 'current time' for this processor, which is usually a constant during its lifetime.
 Object input(String name)
          Get the value for the named input to this function.
<T> T
input(String name, Class<T> type)
          Get the value for the named input to this function.
<T> T
input(String name, Class<T> type, T defaultValue)
          Get the value for the named input to this function.
<T> T
input(String name, PropertyType type, T defaultValue)
          Get the value for the named input to this function.
 boolean isCancelled()
          Determine whether this execution has been cancelled.
<T> T
output(String name, Class<T> type, T defaultValue)
          Get the value for the named output to this function.
<T> T
output(String name, PropertyType type, T defaultValue)
          Get the value for the named output to this function.
 void setError(Throwable t)
          Record that an error occurred.
 void setOutput(String name, Serializable value)
          Set the value for the named output parameter for the function.
 String workspace()
          Get the name of the workspace in which this function is being applied.
 

Method Detail

getExecutionContext

ExecutionContext getExecutionContext()
The context in which this function is executing.

Returns:
the execution context; never null

appliedAt

Location appliedAt()
Get the location of the node at which the function is to be applied.

Returns:
the location where the function is to be applied; never null

workspace

String workspace()
Get the name of the workspace in which this function is being applied.

Returns:
the workspace name

input

Object input(String name)
Get the value for the named input to this function. The actual value is returned as is.

Parameters:
name - the name of the input parameter
Returns:
the (possibly null) value for the named input, or null if there is no such named parameter

input

<T> T input(String name,
            Class<T> type)
Get the value for the named input to this function. If the actual value corresponds to a PropertyType, then the value will be converted to the specified type using the ExecutionContext's ValueFactories. Otherwise, the value will simply be cast to the supplied type.

Type Parameters:
T - the desired type of the value
Parameters:
name - the name of the input parameter
type - the expected type of the value
Returns:
the (possibly null) value for the named input, or null if there is no such named parameter
Throws:
ValueFormatException - if the conversion from to the expected value could not be performed

input

<T> T input(String name,
            Class<T> type,
            T defaultValue)
Get the value for the named input to this function. If the actual value corresponds to a PropertyType, then the value will be converted to the specified type using the ExecutionContext's ValueFactories. Otherwise, the value will simply be cast to the supplied type.

Type Parameters:
T - the desired type of the value
Parameters:
name - the name of the input parameter
type - the expected type of the value
defaultValue - the default value for the parameter
Returns:
the (possibly null) value for the named input, or the default value if there is no such named parameter
Throws:
ValueFormatException - if the conversion from to the expected value could not be performed

input

<T> T input(String name,
            PropertyType type,
            T defaultValue)
Get the value for the named input to this function. The actual value will be converted to the specified type using the ExecutionContext's ValueFactories.

Type Parameters:
T - the desired type of the value
Parameters:
name - the name of the input parameter
type - the expected type of the value
defaultValue - the default value for the parameter
Returns:
the (possibly null) value for the named input, or the default value if there is no such named parameter
Throws:
ValueFormatException - if the conversion from to the expected value could not be performed

output

<T> T output(String name,
             Class<T> type,
             T defaultValue)
Get the value for the named output to this function. If the actual value corresponds to a PropertyType, then the value will be converted to the specified type using the ExecutionContext's ValueFactories. Otherwise, the value will simply be cast to the supplied type.

This is a convenience method, as the value would have already been set by the same function invocation using setOutput(String, Serializable).

Type Parameters:
T - the desired type of the value
Parameters:
name - the name of the output parameter
type - the expected type of the value
defaultValue - the default value for the parameter
Returns:
the (possibly null) value for the named output, or the default value if there is no such named parameter
Throws:
ValueFormatException - if the conversion from to the expected value could not be performed

output

<T> T output(String name,
             PropertyType type,
             T defaultValue)
Get the value for the named output to this function. The actual value will be converted to the specified type using the ExecutionContext's ValueFactories.

This is a convenience method, as the value would have already been set by the same function invocation using setOutput(String, Serializable).

Type Parameters:
T - the desired type of the value
Parameters:
name - the name of the output parameter
type - the expected type of the value
defaultValue - the default value for the parameter
Returns:
the (possibly null) value for the named output, or null if there is no such named parameter
Throws:
ValueFormatException - if the conversion from to the expected value could not be performed

setOutput

void setOutput(String name,
               Serializable value)
Set the value for the named output parameter for the function.

Parameters:
name - the name of the output parameter; may not be null
value - the value for the named parameter; must be Serializable

execute

void execute(Request request)
Immediately execute the supplied request on this connector. Note that the caller is responsible for checking whether the supplied request has an error, and if that error results in an error condition of the caller, then the caller is responsible for setting the error on this context.

Parameters:
request - the request to be performed; may not be null
See Also:
builder()

builder

RequestBuilder builder()
Return a build that can be used to build, immediately execute, and return the executed requests. When this is used, there is no need to execute(Request) them manually.

Returns:
the builder; never null
See Also:
execute(Request)

getNowInUtc

DateTime getNowInUtc()
Get the 'current time' for this processor, which is usually a constant during its lifetime.

Returns:
the current time in UTC; never null

setError

void setError(Throwable t)
Record that an error occurred.

Parameters:
t - the exception

isCancelled

boolean isCancelled()
Determine whether this execution has been cancelled. This should be checked periodically in longer-running functions.

Returns:
true if the execution has been cancelled, or false otherwise


Copyright © 2008-2011 JBoss, a division of Red Hat. All Rights Reserved.