Class OptionMetadata


  • public class OptionMetadata
    extends java.lang.Object
    • Field Detail

      • 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
      • 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, use getTitle(int) to get a specific title or getTitles() to get all titles
        Gets 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()
      • equals

        public boolean equals​(java.lang.Object o)
        Overrides:
        equals in class java.lang.Object
      • hashCode

        public int hashCode()
        Overrides:
        hashCode in class java.lang.Object
      • toString

        public java.lang.String toString()
        Overrides:
        toString in class java.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 possible

        The following pieces of metadata may be overridden:

        • Title
        • Description
        • Required
        • Hidden
        Parameters:
        parent - Parent
        child - Child
        Returns:
        Merged metadata