|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objectorg.jboss.dna.graph.commands.executor.AbstractCommandExecutor
org.jboss.dna.connector.federation.executor.FederatingCommandExecutor
@NotThreadSafe public class FederatingCommandExecutor
Constructor Summary | |
---|---|
FederatingCommandExecutor(ExecutionContext context,
String sourceName,
List<Projection> sourceProjections,
RepositoryConnectionFactory connectionFactory)
Create a command executor that federates (merges) the information from multiple sources described by the source projections. |
|
FederatingCommandExecutor(ExecutionContext context,
String sourceName,
Projection cacheProjection,
CachePolicy defaultCachePolicy,
List<Projection> sourceProjections,
RepositoryConnectionFactory connectionFactory)
Create a command executor that federates (merges) the information from multiple sources described by the source projections. |
Method Summary | |
---|---|
void |
close()
Close this executor, allowing it to clean up any open resources. |
void |
execute(GetChildrenCommand command)
Execute a command to get the children of a node. |
void |
execute(GetNodeCommand command)
Execute a command to get the properties and children of a node. GetNodeCommand is a subtype of both
GetPropertiesCommand and GetChildrenCommand , so this method will be called in place of the
CommandExecutor.execute(GetPropertiesCommand) and CommandExecutor.execute(GetChildrenCommand) methods.
This method implementation simply delegates to both the |
void |
execute(GetPropertiesCommand command)
Execute a command to get the properties of a node. |
Projection |
getCacheProjection()
Get the projection defining the cache. |
List<Projection> |
getSourceProjections()
Get an unmodifiable list of the immutable source projections. |
void |
setMergingStrategy(MergeStrategy mergingStrategy)
|
Methods inherited from class org.jboss.dna.graph.commands.executor.AbstractCommandExecutor |
---|
execute, execute, execute, execute, execute, execute, execute, execute, execute, getCurrentTimeInUtc, getExecutionContext, getSourceName |
Methods inherited from class java.lang.Object |
---|
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Constructor Detail |
---|
public FederatingCommandExecutor(ExecutionContext context, String sourceName, List<Projection> sourceProjections, RepositoryConnectionFactory connectionFactory)
constructor
that takes a cache projection
.
context
- the execution context in which the executor will be run; may not be nullsourceName
- the name of the RepositorySource
that is making use of this executor; may not be null or emptysourceProjections
- the source projections; may not be nullconnectionFactory
- the factory for RepositoryConnection
instancespublic FederatingCommandExecutor(ExecutionContext context, String sourceName, Projection cacheProjection, CachePolicy defaultCachePolicy, List<Projection> sourceProjections, RepositoryConnectionFactory connectionFactory)
cache projection
to identify the
repository source
for the cache as well as the rules
for
how the paths are mapped in the cache. This cache will be consulted first for the requested information, and will be kept
up to date as changes are made to the federated information.
context
- the execution context in which the executor will be run; may not be nullsourceName
- the name of the RepositorySource
that is making use of this executor; may not be null or emptycacheProjection
- the projection used for the cached information; may be null if there is no cachedefaultCachePolicy
- the default caching policy that outlines the length of time that information should be cached, or
null if there is no cache or no specific cache policysourceProjections
- the source projections; may not be nullconnectionFactory
- the factory for RepositoryConnection
instancesMethod Detail |
---|
public void setMergingStrategy(MergeStrategy mergingStrategy)
mergingStrategy
- Sets mergingStrategy to the specified value.public List<Projection> getSourceProjections()
public Projection getCacheProjection()
public void close()
close
in interface CommandExecutor
close
in class AbstractCommandExecutor
AbstractCommandExecutor.close()
public void execute(GetNodeCommand command) throws RepositorySourceException
GetNodeCommand
is a subtype of both
GetPropertiesCommand
and GetChildrenCommand
, so this method will be called in place of the
CommandExecutor.execute(GetPropertiesCommand)
and CommandExecutor.execute(GetChildrenCommand)
methods.
This method implementation simply delegates to both the AbstractCommandExecutor.execute(GetPropertiesCommand)
and
AbstractCommandExecutor.execute(GetChildrenCommand)
methods, and should be overridden by subclasses that can process
GetNodeCommand
more efficiently as a single command.
This class overrides the default behavior
and instead processes the
command in a more efficient manner.
execute
in interface CommandExecutor
execute
in class AbstractCommandExecutor
command
- the command to be executed; may not be null
RepositorySourceException
- if there is an error executing the commandAbstractCommandExecutor.execute(org.jboss.dna.graph.commands.GetNodeCommand)
public void execute(GetPropertiesCommand command) throws RepositorySourceException
execute
in interface CommandExecutor
execute
in class AbstractCommandExecutor
command
- the command to be executed; may not be null
RepositorySourceException
- if there is an error executing the commandAbstractCommandExecutor.execute(org.jboss.dna.graph.commands.GetPropertiesCommand)
public void execute(GetChildrenCommand command) throws RepositorySourceException
execute
in interface CommandExecutor
execute
in class AbstractCommandExecutor
command
- the command to be executed; may not be null
RepositorySourceException
- if there is an error executing the commandAbstractCommandExecutor.execute(org.jboss.dna.graph.commands.GetChildrenCommand)
|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |