Skip to content
Browse files
Refactored the tool api to allow the usage of the Java ServiceLoader …
  • Loading branch information
chrisdutz committed Nov 5, 2014
1 parent afa10c7 commit 73e4a8edb2c8c95987b739195a4927093a14c4b9
Showing 3 changed files with 60 additions and 4 deletions.
@@ -55,4 +55,16 @@


@@ -25,15 +25,22 @@
public interface FlexTool {

String getToolName();

String getToolGroupName();
* Return the name of the tool. This name should match the names of
* tools in alternate tool groups: MXML, COMPC, ASDOC
* An enum was deliberately not selected in order to allow easy addition
* of new future tools without having to touch the tool-api.
* @return Symbolic name of this tool.
String getName();

* Execute the flex tool and pass in an array of commandline arguments.
* @param args arguments passed to the tool.
* @return the return code returned by the tool.
int executeTool(String[] args);
int execute(String[] args);

@@ -0,0 +1,37 @@
* Licensed to the Apache Software Foundation (ASF) under one or more
* contributor license agreements. See the NOTICE file distributed with
* this work for additional information regarding copyright ownership.
* The ASF licenses this file to You under the Apache License, Version 2.0
* (the "License"); you may not use this file except in compliance with
* the License. You may obtain a copy of the License at
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* See the License for the specific language governing permissions and
* limitations under the License.


import java.util.Collection;

* Interface for defining a group of flex tools. Classes implementing this
* interface will allow loading of flex tools using the java ServiceLoader
* mechanism.
public interface FlexToolGroup {

String getName();

Collection<String> getFlexToolNames();

FlexTool getFlexTool(String name);


0 comments on commit 73e4a8e

Please sign in to comment.