Refactoring of ClusterTool to allow extension by premium tools + reuse of command operations.
The operations are separated to their own class ClusterToolOperator which can be used on its own + extended.
There is an interface ClusterTool.Action to define one action + a class ClusterTool.ClusterToolCommand which defines an action + its description.
ClusterTool main simply executes any command that exists in a predefined Map (by name == the arg for the command).
This preserves backward compatibility and allows to compose other mains of new/modified/reused commands.
Except main, all the other public static methods in ClusterTool also kept for backward compatibility and delegate to the ClusterToolOperator
Refactoring of ClusterTool to allow extension by premium tools + reuse of command operations.
The operations are separated to their own class
ClusterToolOperator
which can be used on its own + extended.There is an interface
ClusterTool.Action
to define one action + a classClusterTool.ClusterToolCommand
which defines an action + its description.ClusterTool
main simply executes anycommand
that exists in a predefined Map (by name == the arg for the command).This preserves backward compatibility and allows to compose other mains of new/modified/reused commands.
Except
main
, all the other public static methods inClusterTool
also kept for backward compatibility and delegate to theClusterToolOperator