More detailed labels for arguments in the gakdocs (requested by David)

This commit is contained in:
Geraldine Van der Auwera 2013-08-16 14:25:53 -04:00
parent 3841635fcb
commit 80ed186971
3 changed files with 58 additions and 9 deletions

View File

@ -159,6 +159,22 @@ public class ArgumentSource {
return field.isAnnotationPresent(Advanced.class);
}
/**
* Is the given argument an output.
* @return True if so. False otherwise.
*/
public boolean isOutput() {
return field.isAnnotationPresent(Output.class);
}
/**
* Is the given argument an input.
* @return True if so. False otherwise.
*/
public boolean isInput() {
return field.isAnnotationPresent(Input.class);
}
/**
* Is this command-line argument dependent on some primitive argument types?
* @return True if this command-line argument depends on other arguments; false otherwise.

View File

@ -194,11 +194,26 @@ public class GenericDocumentationHandler extends DocumentedGATKFeatureHandler {
@Requires("argumentSource != null")
@Ensures("result != null")
private String docKindOfArg(ArgumentSource argumentSource) {
if (argumentSource.isRequired()) return "required";
else if (argumentSource.isAdvanced()) return "advanced";
if (argumentSource.isRequired()) {
if (argumentSource.isInput()) return "required_in";
else if (argumentSource.isOutput()) return "required_out";
else if (argumentSource.isFlag()) return "required_flag";
else return "required_param";
}
else if (argumentSource.isAdvanced()) {
if (argumentSource.isInput()) return "advanced_in";
else if (argumentSource.isOutput()) return "advanced_out";
else if (argumentSource.isFlag()) return "advanced_flag";
else return "advanced_param";
}
else if (argumentSource.isHidden()) return "hidden";
else if (argumentSource.isDeprecated()) return "deprecated";
else return "optional";
else {
if (argumentSource.isInput()) return "optional_in";
else if (argumentSource.isOutput()) return "optional_out";
else if (argumentSource.isFlag()) return "optional_flag";
else return "optional_param";
}
}
/**
@ -238,9 +253,18 @@ public class GenericDocumentationHandler extends DocumentedGATKFeatureHandler {
private Map<String, List<Map<String, Object>>> createArgumentMap() {
Map<String, List<Map<String, Object>>> args = new HashMap<String, List<Map<String, Object>>>();
args.put("all", new ArrayList<Map<String, Object>>());
args.put("required", new ArrayList<Map<String, Object>>());
args.put("optional", new ArrayList<Map<String, Object>>());
args.put("advanced", new ArrayList<Map<String, Object>>());
args.put("required_in", new ArrayList<Map<String, Object>>());
args.put("required_out", new ArrayList<Map<String, Object>>());
args.put("required_param", new ArrayList<Map<String, Object>>());
args.put("required_flag", new ArrayList<Map<String, Object>>());
args.put("optional_in", new ArrayList<Map<String, Object>>());
args.put("optional_out", new ArrayList<Map<String, Object>>());
args.put("optional_param", new ArrayList<Map<String, Object>>());
args.put("optional_flag", new ArrayList<Map<String, Object>>());
args.put("advanced_in", new ArrayList<Map<String, Object>>());
args.put("advanced_out", new ArrayList<Map<String, Object>>());
args.put("advanced_param", new ArrayList<Map<String, Object>>());
args.put("advanced_flag", new ArrayList<Map<String, Object>>());
args.put("hidden", new ArrayList<Map<String, Object>>());
args.put("deprecated", new ArrayList<Map<String, Object>>());
return args;

View File

@ -235,9 +235,18 @@
</tr>
</thead>
<tbody>
<@argumentlist name="Required" myargs=arguments.required/>
<@argumentlist name="Optional" myargs=arguments.optional/>
<@argumentlist name="Advanced" myargs=arguments.advanced/>
<@argumentlist name="Required Inputs" myargs=arguments.required_in/>
<@argumentlist name="Required Outputs" myargs=arguments.required_out/>
<@argumentlist name="Required Parameters" myargs=arguments.required_param/>
<@argumentlist name="Required Flags" myargs=arguments.required_flag/>
<@argumentlist name="Optional Inputs" myargs=arguments.optional_in/>
<@argumentlist name="Optional Outputs" myargs=arguments.optional_out/>
<@argumentlist name="Optional Parameters" myargs=arguments.optional_param/>
<@argumentlist name="Optional Flags" myargs=arguments.optional_flag/>
<@argumentlist name="Advanced Inputs" myargs=arguments.advanced_in/>
<@argumentlist name="Advanced Outputs" myargs=arguments.advanced_out/>
<@argumentlist name="Advanced Parameters" myargs=arguments.advanced_param/>
<@argumentlist name="Advanced Flags" myargs=arguments.advanced_flag/>
<@argumentlist name="Hidden" myargs=arguments.hidden/>
<@argumentlist name="Deprecated" myargs=arguments.deprecated/>
</tbody>