Package com.squareup.protoparser
Class EnumType
- java.lang.Object
-
- com.squareup.protoparser.EnumType
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static classEnumType.ValueAn enum constant.
-
Field Summary
Fields Modifier and Type Field Description private booleanallowAliasprivate java.lang.Stringdocumentationprivate java.lang.Stringfqnameprivate java.lang.Stringnameprivate java.util.List<Option>optionsprivate java.util.List<EnumType.Value>values
-
Constructor Summary
Constructors Constructor Description EnumType(java.lang.String name, java.lang.String fqname, java.lang.String documentation, java.util.List<Option> options, java.util.List<EnumType.Value> values)
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description booleanallowAlias()True if allowing multiple values to have the same tag.booleanequals(java.lang.Object other)java.lang.StringgetDocumentation()java.lang.StringgetFullyQualifiedName()java.lang.StringgetName()java.util.List<Type>getNestedTypes()java.util.List<Option>getOptions()java.util.List<EnumType.Value>getValues()inthashCode()private static booleanparseAllowAlias(java.util.List<Option> options)java.lang.StringtoString()private static voidvalidateTagUniqueness(java.lang.String type, java.util.List<EnumType.Value> values)(package private) static voidvalidateValueUniquenessInScope(java.lang.String type, java.util.List<Type> nestedTypes)Though not mentioned in the spec, enum names use C++ scoping rules, meaning that enum values are siblings of their type, not children of it.
-
-
-
Field Detail
-
name
private final java.lang.String name
-
fqname
private final java.lang.String fqname
-
documentation
private final java.lang.String documentation
-
options
private final java.util.List<Option> options
-
values
private final java.util.List<EnumType.Value> values
-
allowAlias
private final boolean allowAlias
-
-
Constructor Detail
-
EnumType
public EnumType(java.lang.String name, java.lang.String fqname, java.lang.String documentation, java.util.List<Option> options, java.util.List<EnumType.Value> values)
-
-
Method Detail
-
validateTagUniqueness
private static void validateTagUniqueness(java.lang.String type, java.util.List<EnumType.Value> values)
-
parseAllowAlias
private static boolean parseAllowAlias(java.util.List<Option> options)
-
validateValueUniquenessInScope
static void validateValueUniquenessInScope(java.lang.String type, java.util.List<Type> nestedTypes)Though not mentioned in the spec, enum names use C++ scoping rules, meaning that enum values are siblings of their type, not children of it.
-
getFullyQualifiedName
public java.lang.String getFullyQualifiedName()
- Specified by:
getFullyQualifiedNamein interfaceType
-
getDocumentation
public java.lang.String getDocumentation()
- Specified by:
getDocumentationin interfaceType
-
getOptions
public java.util.List<Option> getOptions()
- Specified by:
getOptionsin interfaceType
-
getValues
public java.util.List<EnumType.Value> getValues()
-
allowAlias
public boolean allowAlias()
True if allowing multiple values to have the same tag.
-
getNestedTypes
public java.util.List<Type> getNestedTypes()
- Specified by:
getNestedTypesin interfaceType
-
equals
public boolean equals(java.lang.Object other)
- Overrides:
equalsin classjava.lang.Object
-
hashCode
public int hashCode()
- Overrides:
hashCodein classjava.lang.Object
-
toString
public java.lang.String toString()
- Overrides:
toStringin classjava.lang.Object
-
-