| | |
| | | private static final class Visitor implements |
| | | RelationDefinitionVisitor<Void, ManagedObjectPath<?, ?>> { |
| | | |
| | | // The application. |
| | | private final ConsoleApplication app; |
| | | |
| | | // Any exception that occurred whilst creating the sub-commands. |
| | | private ArgumentException exception = null; |
| | | |
| | |
| | | private final SubCommandArgumentParser parser; |
| | | |
| | | // Private constructor. |
| | | private Visitor(SubCommandArgumentParser parser) { |
| | | private Visitor(ConsoleApplication app, SubCommandArgumentParser parser) { |
| | | this.app = app; |
| | | this.parser = parser; |
| | | } |
| | | |
| | |
| | | handlers = new LinkedList<SubCommandHandler>(); |
| | | |
| | | // We always need a help properties sub-command handler. |
| | | helpHandler = HelpSubCommandHandler.create(parser); |
| | | helpHandler = HelpSubCommandHandler.create(app, parser); |
| | | handlers.add(helpHandler); |
| | | |
| | | processPath(ManagedObjectPath.emptyPath()); |
| | |
| | | ManagedObjectPath<?, ?> p) { |
| | | try { |
| | | // Create the sub-commands. |
| | | handlers.add(CreateSubCommandHandler.create(parser, p, r)); |
| | | handlers.add(DeleteSubCommandHandler.create(parser, p, r)); |
| | | handlers.add(ListSubCommandHandler.create(parser, p, r)); |
| | | handlers.add(GetPropSubCommandHandler.create(parser, p, r)); |
| | | handlers.add(SetPropSubCommandHandler.create(parser, p, r)); |
| | | handlers.add(CreateSubCommandHandler.create(app, parser, p, r)); |
| | | handlers.add(DeleteSubCommandHandler.create(app, parser, p, r)); |
| | | handlers.add(ListSubCommandHandler.create(app, parser, p, r)); |
| | | handlers.add(GetPropSubCommandHandler.create(app, parser, p, r)); |
| | | handlers.add(SetPropSubCommandHandler.create(app, parser, p, r)); |
| | | |
| | | // Process the referenced managed object definition and its |
| | | // sub-types. |
| | |
| | | ManagedObjectPath<?, ?> p) { |
| | | try { |
| | | // Create the sub-commands. |
| | | handlers.add(CreateSubCommandHandler.create(parser, p, r)); |
| | | handlers.add(DeleteSubCommandHandler.create(parser, p, r)); |
| | | handlers.add(ListSubCommandHandler.create(parser, p, r)); |
| | | handlers.add(GetPropSubCommandHandler.create(parser, p, r)); |
| | | handlers.add(SetPropSubCommandHandler.create(parser, p, r)); |
| | | handlers.add(CreateSubCommandHandler.create(app, parser, p, r)); |
| | | handlers.add(DeleteSubCommandHandler.create(app, parser, p, r)); |
| | | handlers.add(ListSubCommandHandler.create(app, parser, p, r)); |
| | | handlers.add(GetPropSubCommandHandler.create(app, parser, p, r)); |
| | | handlers.add(SetPropSubCommandHandler.create(app, parser, p, r)); |
| | | |
| | | // Process the referenced managed object definition and its |
| | | // sub-types. |
| | |
| | | ManagedObjectPath<?, ?> p) { |
| | | try { |
| | | // Create the sub-commands. |
| | | handlers.add(GetPropSubCommandHandler.create(parser, p, r)); |
| | | handlers.add(SetPropSubCommandHandler.create(parser, p, r)); |
| | | handlers.add(GetPropSubCommandHandler.create(app, parser, p, r)); |
| | | handlers.add(SetPropSubCommandHandler.create(app, parser, p, r)); |
| | | |
| | | // Process the referenced managed object definition and its |
| | | // sub-types. |
| | |
| | | /** |
| | | * Get the set of sub-command handlers constructed by this builder. |
| | | * |
| | | * @param app |
| | | * The console application. |
| | | * @param parser |
| | | * The sub-command argument parser. |
| | | * @return Returns the set of sub-command handlers constructed by |
| | |
| | | * If a sub-command could not be created successfully. |
| | | */ |
| | | public Collection<SubCommandHandler> getSubCommandHandlers( |
| | | SubCommandArgumentParser parser) throws ArgumentException { |
| | | Visitor v = new Visitor(parser); |
| | | ConsoleApplication app, SubCommandArgumentParser parser) |
| | | throws ArgumentException { |
| | | Visitor v = new Visitor(app, parser); |
| | | return v.getSubCommandHandlers(); |
| | | } |
| | | |