package com.lexicalscope.jewel.cli; import java.util.HashMap; import java.util.Map; import com.lexicalscope.jewel.cli.specification.OptionSpecification; class TypedArgumentsImpl implements TypedArguments { private final Map<OptionSpecification, Object> m_values = new HashMap<OptionSpecification, Object>(); private Object m_unparsedValue; void add(final OptionSpecification optionSpecification, final Object value) { m_values.put(optionSpecification, value); } public boolean contains(final OptionSpecification optionSpecification) { return m_values.containsKey(optionSpecification); } public Object getValue(final OptionSpecification optionSpecification) { return m_values.get(optionSpecification); } void setUnparsedValue(final Object unparsedValue) { m_unparsedValue = unparsedValue; } public Object getUnparsedValue() { return m_unparsedValue; } public boolean hasUnparsedValue() { return m_unparsedValue != null; } }