Top Description Inners Constructors Methods
com.fasterxml.jackson.dataformat.protobuf.schema

public abstract Class EnumLookup

extends Object
Class Inheritance
Known Direct Subclasses
com.fasterxml.jackson.dataformat.protobuf.schema.EnumLookup.Empty, com.fasterxml.jackson.dataformat.protobuf.schema.EnumLookup.Small1, com.fasterxml.jackson.dataformat.protobuf.schema.EnumLookup.Small2, com.fasterxml.jackson.dataformat.protobuf.schema.EnumLookup.Small3, com.fasterxml.jackson.dataformat.protobuf.schema.EnumLookup.Big
Imports
java.util.*, com.fasterxml.jackson.core.SerializableString

Helper class used for doing efficient lookups of protoc enums given enum name caller provides. Ideally this would be avoided, but at this point translation is unfortunately necessary.

Nested and Inner Type Summary

Modifier and TypeClass and Description
pack-priv static class
EnumLookup.Big

Raw mapping from keys to indices, optimized for fast access via better memory efficiency.

pack-priv static class
pack-priv static class
pack-priv static class
pack-priv static class

Constructor Summary

AccessConstructor and Description
public

Method Summary

Modifier and TypeMethod and Description
public static EnumLookup
public static EnumLookup
public abstract String
findEnumByIndex(int index)

public abstract int
public abstract int
public abstract Collection<String>
Inherited from java.lang.Object:
cloneequalsfinalizegetClasshashCodenotifynotifyAlltoStringwaitwaitwait

Constructor Detail

EnumLookupback to summary
public EnumLookup()

Method Detail

constructback to summary
public static EnumLookup construct(ProtobufEnum enumDef)
emptyback to summary
public static EnumLookup empty()
findEnumByIndexback to summary
public abstract String findEnumByIndex(int index)
findEnumIndexback to summary
public abstract int findEnumIndex(SerializableString key)
findEnumIndexback to summary
public abstract int findEnumIndex(String key)
getEnumValuesback to summary
public abstract Collection<String> getEnumValues()
com.fasterxml.jackson.dataformat.protobuf.schema back to summary

pack-priv final Class EnumLookup.Big

extends EnumLookup
Class Inheritance

Raw mapping from keys to indices, optimized for fast access via better memory efficiency. Hash area divide in three; main hash, half-size secondary, followed by as-big-as-needed spillover.

Field Summary

Modifier and TypeField and Description
protected final LinkedHashMap<Integer, String>
_enumsById

For fields of type FieldType#ENUM with non-standard indexing, mapping back from tag ids to enum names.

private final int
private final int[]
private final String[]
private final int

Constructor Summary

AccessConstructor and Description
private
Big(LinkedHashMap<Integer, String> byId, int hashMask, int spillCount, String[] keys, int[] indices)

Method Summary

Modifier and TypeMethod and Description
private int
public static EnumLookup.Big
public String
public int
public int
private static final int
findSize(int size)

public Collection<String>
Inherited from com.fasterxml.jackson.dataformat.protobuf.schema.EnumLookup:
constructempty

Field Detail

_enumsByIdback to summary
protected final LinkedHashMap<Integer, String> _enumsById

For fields of type FieldType#ENUM with non-standard indexing, mapping back from tag ids to enum names.

_hashMaskback to summary
private final int _hashMask
_indicesback to summary
private final int[] _indices
_keysback to summary
private final String[] _keys
_spillCountback to summary
private final int _spillCount

Constructor Detail

Bigback to summary
private Big(LinkedHashMap<Integer, String> byId, int hashMask, int spillCount, String[] keys, int[] indices)

Method Detail

_findFromSpillback to summary
private int _findFromSpill(String key)
constructback to summary
public static EnumLookup.Big construct(List<Map.Entry<String, Integer>> entries)
findEnumByIndexback to summary
public String findEnumByIndex(int index)

Implements abstract com.fasterxml.jackson.dataformat.protobuf.schema.EnumLookup.findEnumByIndex.

Annotations
@Override
findEnumIndexback to summary
public int findEnumIndex(SerializableString key0)

Implements abstract com.fasterxml.jackson.dataformat.protobuf.schema.EnumLookup.findEnumIndex.

Annotations
@Override
findEnumIndexback to summary
public int findEnumIndex(String key)

Implements abstract com.fasterxml.jackson.dataformat.protobuf.schema.EnumLookup.findEnumIndex.

Annotations
@Override
findSizeback to summary
private static final int findSize(int size)
getEnumValuesback to summary
public Collection<String> getEnumValues()

Implements abstract com.fasterxml.jackson.dataformat.protobuf.schema.EnumLookup.getEnumValues.

Annotations
@Override
com.fasterxml.jackson.dataformat.protobuf.schema back to summary

pack-priv Class EnumLookup.Empty

extends EnumLookup
Class Inheritance

Field Summary

Modifier and TypeField and Description
public static final EnumLookup.Empty

Constructor Summary

AccessConstructor and Description
private

Method Summary

Modifier and TypeMethod and Description
public String
public int
public int
public Collection<String>
Inherited from com.fasterxml.jackson.dataformat.protobuf.schema.EnumLookup:
constructempty

Field Detail

instanceback to summary
public static final EnumLookup.Empty instance

Constructor Detail

Emptyback to summary
private Empty()

Method Detail

findEnumByIndexback to summary
public String findEnumByIndex(int index)

Implements abstract com.fasterxml.jackson.dataformat.protobuf.schema.EnumLookup.findEnumByIndex.

Annotations
@Override
findEnumIndexback to summary
public int findEnumIndex(SerializableString key)

Implements abstract com.fasterxml.jackson.dataformat.protobuf.schema.EnumLookup.findEnumIndex.

Annotations
@Override
findEnumIndexback to summary
public int findEnumIndex(String key)

Implements abstract com.fasterxml.jackson.dataformat.protobuf.schema.EnumLookup.findEnumIndex.

Annotations
@Override
getEnumValuesback to summary
public Collection<String> getEnumValues()

Implements abstract com.fasterxml.jackson.dataformat.protobuf.schema.EnumLookup.getEnumValues.

Annotations
@Override
com.fasterxml.jackson.dataformat.protobuf.schema back to summary

pack-priv Class EnumLookup.Small1

extends EnumLookup
Class Inheritance

Field Summary

Modifier and TypeField and Description
protected final int
protected final String

Constructor Summary

AccessConstructor and Description
pack-priv
Small1(String key, int index)

Method Summary

Modifier and TypeMethod and Description
public String
public int
public int
public Collection<String>
Inherited from com.fasterxml.jackson.dataformat.protobuf.schema.EnumLookup:
constructempty

Field Detail

index1back to summary
protected final int index1
key1back to summary
protected final String key1

Constructor Detail

Small1back to summary
pack-priv Small1(String key, int index)

Method Detail

findEnumByIndexback to summary
public String findEnumByIndex(int index)

Implements abstract com.fasterxml.jackson.dataformat.protobuf.schema.EnumLookup.findEnumByIndex.

Annotations
@Override
findEnumIndexback to summary
public int findEnumIndex(SerializableString key)

Implements abstract com.fasterxml.jackson.dataformat.protobuf.schema.EnumLookup.findEnumIndex.

Annotations
@Override
findEnumIndexback to summary
public int findEnumIndex(String key)

Implements abstract com.fasterxml.jackson.dataformat.protobuf.schema.EnumLookup.findEnumIndex.

Annotations
@Override
getEnumValuesback to summary
public Collection<String> getEnumValues()

Implements abstract com.fasterxml.jackson.dataformat.protobuf.schema.EnumLookup.getEnumValues.

Annotations
@Override
com.fasterxml.jackson.dataformat.protobuf.schema back to summary

pack-priv final Class EnumLookup.Small2

extends EnumLookup
Class Inheritance

Field Summary

Modifier and TypeField and Description
protected final int
protected final int
protected final String
protected final String

Constructor Summary

AccessConstructor and Description
pack-priv
Small2(String k1, int i1, String k2, int i2)

Method Summary

Modifier and TypeMethod and Description
public String
public int
public int
public Collection<String>
Inherited from com.fasterxml.jackson.dataformat.protobuf.schema.EnumLookup:
constructempty

Field Detail

index1back to summary
protected final int index1
index2back to summary
protected final int index2
key1back to summary
protected final String key1
key2back to summary
protected final String key2

Constructor Detail

Small2back to summary
pack-priv Small2(String k1, int i1, String k2, int i2)

Method Detail

findEnumByIndexback to summary
public String findEnumByIndex(int index)

Implements abstract com.fasterxml.jackson.dataformat.protobuf.schema.EnumLookup.findEnumByIndex.

Annotations
@Override
findEnumIndexback to summary
public int findEnumIndex(SerializableString key0)

Implements abstract com.fasterxml.jackson.dataformat.protobuf.schema.EnumLookup.findEnumIndex.

Annotations
@Override
findEnumIndexback to summary
public int findEnumIndex(String key)

Implements abstract com.fasterxml.jackson.dataformat.protobuf.schema.EnumLookup.findEnumIndex.

Annotations
@Override
getEnumValuesback to summary
public Collection<String> getEnumValues()

Implements abstract com.fasterxml.jackson.dataformat.protobuf.schema.EnumLookup.getEnumValues.

Annotations
@Override
com.fasterxml.jackson.dataformat.protobuf.schema back to summary

pack-priv final Class EnumLookup.Small3

extends EnumLookup
Class Inheritance

Field Summary

Modifier and TypeField and Description
protected final int
protected final int
protected final int
protected final String
protected final String
protected final String

Constructor Summary

AccessConstructor and Description
pack-priv
Small3(String k1, int i1, String k2, int i2, String k3, int i3)

Method Summary

Modifier and TypeMethod and Description
private int
public String
public int
public int
public Collection<String>
Inherited from com.fasterxml.jackson.dataformat.protobuf.schema.EnumLookup:
constructempty

Field Detail

index1back to summary
protected final int index1
index2back to summary
protected final int index2
index3back to summary
protected final int index3
key1back to summary
protected final String key1
key2back to summary
protected final String key2
key3back to summary
protected final String key3

Constructor Detail

Small3back to summary
pack-priv Small3(String k1, int i1, String k2, int i2, String k3, int i3)

Method Detail

_findIndex2back to summary
private int _findIndex2(String key)
findEnumByIndexback to summary
public String findEnumByIndex(int index)

Implements abstract com.fasterxml.jackson.dataformat.protobuf.schema.EnumLookup.findEnumByIndex.

Annotations
@Override
findEnumIndexback to summary
public int findEnumIndex(SerializableString key0)

Implements abstract com.fasterxml.jackson.dataformat.protobuf.schema.EnumLookup.findEnumIndex.

Annotations
@Override
findEnumIndexback to summary
public int findEnumIndex(String key)

Implements abstract com.fasterxml.jackson.dataformat.protobuf.schema.EnumLookup.findEnumIndex.

Annotations
@Override
getEnumValuesback to summary
public Collection<String> getEnumValues()

Implements abstract com.fasterxml.jackson.dataformat.protobuf.schema.EnumLookup.getEnumValues.

Annotations
@Override