- java.lang.Object
-
- com.github.rvesse.airline.model.OptionMetadata
-
public class OptionMetadata extends java.lang.Object
-
-
Field Summary
Fields Modifier and Type Field Description private java.util.Set<Accessor>
accessors
private int
arity
private java.lang.String
description
private boolean
hidden
private java.util.Set<java.lang.String>
options
private OptionType
optionType
private boolean
overrides
private TypeConverterProvider
provider
private java.util.List<OptionRestriction>
restrictions
private boolean
sealed
private java.util.List<java.lang.String>
titles
-
Constructor Summary
Constructors Constructor Description OptionMetadata(OptionType optionType, java.lang.Iterable<java.lang.String> options, java.lang.Iterable<java.lang.String> titles, java.lang.String description, int arity, boolean hidden, boolean overrides, boolean sealed, java.lang.Iterable<OptionRestriction> restrictions, TypeConverterProvider typeConverterProvider, java.lang.Iterable<java.lang.reflect.Field> path)
OptionMetadata(java.lang.Iterable<OptionMetadata> options)
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Deprecated Methods Modifier and Type Method Description boolean
equals(java.lang.Object o)
java.util.Set<Accessor>
getAccessors()
int
getArity()
java.lang.String
getDescription()
java.lang.Class<?>
getJavaType()
java.util.Set<java.lang.String>
getOptions()
OptionType
getOptionType()
java.util.List<OptionRestriction>
getRestrictions()
java.lang.String
getTitle()
Deprecated.Options now support multiple titles, usegetTitle(int)
to get a specific title orgetTitles()
to get all titlesjava.lang.String
getTitle(int index)
java.util.List<java.lang.String>
getTitles()
TypeConverterProvider
getTypeConverterProvider()
int
hashCode()
boolean
isHidden()
boolean
isMultiValued()
boolean
isOverride()
boolean
isRequired()
boolean
isSealed()
static OptionMetadata
override(java.util.Set<java.lang.String> names, OptionMetadata parent, OptionMetadata child)
Tries to merge the option metadata together such that the child metadata takes precedence.java.lang.String
toString()
-
-
-
Field Detail
-
optionType
private final OptionType optionType
-
options
private final java.util.Set<java.lang.String> options
-
titles
private final java.util.List<java.lang.String> titles
-
description
private final java.lang.String description
-
arity
private final int arity
-
hidden
private final boolean hidden
-
overrides
private final boolean overrides
-
sealed
private final boolean sealed
-
restrictions
private final java.util.List<OptionRestriction> restrictions
-
provider
private final TypeConverterProvider provider
-
accessors
private java.util.Set<Accessor> accessors
-
-
Constructor Detail
-
OptionMetadata
public OptionMetadata(OptionType optionType, java.lang.Iterable<java.lang.String> options, java.lang.Iterable<java.lang.String> titles, java.lang.String description, int arity, boolean hidden, boolean overrides, boolean sealed, java.lang.Iterable<OptionRestriction> restrictions, TypeConverterProvider typeConverterProvider, java.lang.Iterable<java.lang.reflect.Field> path)
-
OptionMetadata
public OptionMetadata(java.lang.Iterable<OptionMetadata> options)
-
-
Method Detail
-
getOptionType
public OptionType getOptionType()
-
getOptions
public java.util.Set<java.lang.String> getOptions()
-
getTitles
public java.util.List<java.lang.String> getTitles()
-
getTitle
@Deprecated public java.lang.String getTitle()
Deprecated.Options now support multiple titles, usegetTitle(int)
to get a specific title orgetTitles()
to get all titlesGets the first title- Returns:
- First title
-
getTitle
public java.lang.String getTitle(int index)
-
getDescription
public java.lang.String getDescription()
-
getArity
public int getArity()
-
isRequired
public boolean isRequired()
-
isHidden
public boolean isHidden()
-
isOverride
public boolean isOverride()
-
isSealed
public boolean isSealed()
-
isMultiValued
public boolean isMultiValued()
-
getJavaType
public java.lang.Class<?> getJavaType()
-
getAccessors
public java.util.Set<Accessor> getAccessors()
-
getRestrictions
public java.util.List<OptionRestriction> getRestrictions()
-
getTypeConverterProvider
public TypeConverterProvider getTypeConverterProvider()
-
equals
public boolean equals(java.lang.Object o)
- Overrides:
equals
in classjava.lang.Object
-
hashCode
public int hashCode()
- Overrides:
hashCode
in classjava.lang.Object
-
toString
public java.lang.String toString()
- Overrides:
toString
in classjava.lang.Object
-
override
public static OptionMetadata override(java.util.Set<java.lang.String> names, OptionMetadata parent, OptionMetadata child)
Tries to merge the option metadata together such that the child metadata takes precedence. Not all options can be successfully overridden and an error may be thrown in cases where merging is not possibleThe following pieces of metadata may be overridden:
- Title
- Description
- Required
- Hidden
- Parameters:
parent
- Parentchild
- Child- Returns:
- Merged metadata
-
-