package com.lexicalscope.jewel.cli; import java.util.List; import com.lexicalscope.fluentreflection.FluentMethod; import com.lexicalscope.jewel.cli.specification.OptionSpecification; import com.lexicalscope.jewel.cli.specification.SpecificationMultiplicity; class UnexpectedOptionSpecification implements OptionSpecification { private final String m_name; UnexpectedOptionSpecification(final String name) { m_name = name; } @Override public String getCanonicalIdentifier() { return m_name; } @Override public Class<?> getType() { return Void.class; } @Override public boolean isMultiValued() { return false; } @Override public boolean isOptional() { return false; } @Override public FluentMethod getMethod() { return null; } @Override public FluentMethod getOptionalityMethod() { return null; } @Override public List<String> getDefaultValue() { return null; } @Override public boolean hasDefaultValue() { return false; } @Override public boolean isHidden() { return false; } @Override public String getDescription() { return ""; } @Override public boolean allowedThisManyValues(final int count) { return false; } @Override public String toString() { final StringBuilder result = new StringBuilder(); result.append(m_name); return result.toString(); } @Override public boolean hasValue() { return false; } @Override public boolean hasExactCount() { return false; } @Override public int exactly() { return 0; } @Override public int minimum() { return 0; } @Override public int maximum() { return 0; } @Override public <T> T compareCountToSpecification( final int valueCount, final SpecificationMultiplicity<T> specificationMultiplicity) { return specificationMultiplicity.allowed(); } @Override public int maximumArgumentConsumption() { return 0; } }