{
protected Map<Arg, ArgValues> m;
- protected ArgValuesMap()
+ private String linkedId;
+
+ protected ArgValuesMap(String linkedId)
{
+ this.linkedId = linkedId;
this.newMap();
}
- protected ArgValuesMap(Map<Arg, ArgValues> map)
+ protected ArgValuesMap(String linkedId, Map<Arg, ArgValues> map)
{
+ this.linkedId = linkedId;
this.m = map;
}
+ public String getLinkedId()
+ {
+ return linkedId;
+ }
+
private Map<Arg, ArgValues> getMap()
{
return m;
// specify an id in the subValues so wouldn't need to be guessed).
ArgValue closestAv = null;
int thisArgIndex = thisAv.getArgIndex();
+ if (!containsArg(a))
+ return null;
ArgValues compareAvs = this.getArgValues(a);
int closestNextIndex = Integer.MAX_VALUE;
for (ArgValue av : compareAvs.getArgValueList())
*/
public String getBasename()
{
- return getDirOrBasename(false);
+ return getDirBasenameOrExtension(false, false);
+ }
+
+ /*
+ * This method returns the basename of the first --append or --open value.
+ * Used primarily for substitutions in output filenames.
+ */
+ public String getExtension()
+ {
+ return getDirBasenameOrExtension(false, true);
}
/*
*/
public String getDirname()
{
- return getDirOrBasename(true);
+ return getDirBasenameOrExtension(true, false);
}
- public String getDirOrBasename(boolean dirname)
+ public String getDirBasenameOrExtension(boolean dirname,
+ boolean extension)
{
String filename = null;
String appendVal = getValue(Arg.APPEND);
return null;
File file = new File(filename);
- return dirname ? FileUtils.getDirname(file)
+ if (dirname)
+ {
+ return FileUtils.getDirname(file);
+ }
+ return extension ? FileUtils.getExtension(file)
: FileUtils.getBasename(file);
}
+
+ /*
+ * Checks if there is an Arg with Opt
+ */
+ public boolean hasArgWithOption(Opt o)
+ {
+ for (Arg a : getArgKeys())
+ {
+ if (a.hasOption(o))
+ return true;
+ }
+ return false;
+ }
}