public AbstractOption( String aShortOption, String aLongOption, Class<T> aType, String aAlias, String aDescription ) {
super( aType, aAlias, aDescription );
if ( aShortOption != null && (!aShortOption.startsWith( CommandArgPrefix.POSIX_SHORT_OPTION.getPrefix() ) || aShortOption.startsWith( CommandArgPrefix.POSIX_LONGT_OPTION.getPrefix() )) ) {
throw new IllegalArgumentException( "Your short-option \"" + aShortOption + "\" must start exactly with \"" + CommandArgPrefix.POSIX_SHORT_OPTION.getPrefix() + "\"." );
}
if ( aLongOption != null && !aLongOption.startsWith( CommandArgPrefix.POSIX_LONGT_OPTION.getPrefix() ) ) {
throw new IllegalArgumentException( "Your long-option \"" + aLongOption + "\" must start exactly with \"" + CommandArgPrefix.POSIX_SHORT_OPTION.getPrefix() + "\"." );
}
_shortOption = aShortOption;
_longOption = aLongOption;
}