cl.getArgument().getValues().get(cl.getArgument().getValues().size() - 1),
cl.getArgument().getType(), false);
}
//get the last option
else if (cl.getOptions() != null && cl.getOptions().size() > 0) {
ProcessedOption po = cl.getOptions().get(cl.getOptions().size()-1);
//options ends with a separator and thus status should be set accordingly
if(po.getEndsWithSeparator())
endsWithSpace = true;
if(endsWithSpace && po.getValue() != null && po.getValue().length() > 0 &&
(po.getOptionType() == OptionType.NORMAL || po.getOptionType() == OptionType.BOOLEAN)) {
if(cl.getArgument() == null)
return new ParsedCompleteObject(true, "", 0);
else
return new ParsedCompleteObject(true);
}
else if(po.isLongNameUsed() || (po.getShortName() == null || po.getShortName().length() < 1))
return new ParsedCompleteObject(po.getName(),
endsWithSpace ? "" : po.getValues().get(po.getValues().size()-1),
po.getType(), true);
else
return new ParsedCompleteObject( po.getShortName(),
endsWithSpace ? "" : po.getValues().get(po.getValues().size()-1),
po.getType(), true);
}
//probably something wrong with the parser
else
return new ParsedCompleteObject(true, "", 0);
}