Package com.google.common.geometry
Class S2TaggedShapeCoder.Builder
- java.lang.Object
-
- com.google.common.geometry.S2TaggedShapeCoder.Builder
-
- Enclosing class:
- S2TaggedShapeCoder
public static class S2TaggedShapeCoder.Builder extends java.lang.Object
A builder for creatingS2TaggedShapeCoder
instances.
-
-
Field Summary
Fields Modifier and Type Field Description private boolean
allowReservedTags
private java.util.IdentityHashMap<java.lang.Class<? extends S2Shape>,java.lang.Integer>
classToTypeTag
static int
MIN_USER_TYPE_TAG
The minimum non-reserved type tag.private java.util.Map<java.lang.Integer,S2Coder<? extends S2Shape>>
typeTagToCoder
-
Constructor Summary
Constructors Modifier Constructor Description private
Builder(boolean allowReservedTags)
private
Builder(java.util.IdentityHashMap<java.lang.Class<? extends S2Shape>,java.lang.Integer> classToTypeTag, java.util.Map<java.lang.Integer,S2Coder<? extends S2Shape>> typeTagToCoder)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description (package private) <T extends S2Shape>
S2TaggedShapeCoder.Builderadd(java.lang.Class<? extends T> clazz, S2Coder<T> coder, int typeTag)
Associatesclazz
with a uniquecoder
andtypeTag
.(package private) <T extends S2Shape>
S2TaggedShapeCoder.Builderadd(java.util.List<java.lang.Class<? extends T>> clazzes, S2Coder<T> coder, int typeTag)
Same asadd(Class, S2Coder, int)
, but associates all elements ofclazzes
with a uniquecoder
andtypeTag
.(package private) S2TaggedShapeCoder
build()
Returns a newly-createdS2TaggedShapeCoder
.private <T extends S2Shape>
voidvalidateClass(java.lang.Class<? extends T> clazz)
private void
validateTypeTag(int typeTag)
-
-
-
Field Detail
-
MIN_USER_TYPE_TAG
public static final int MIN_USER_TYPE_TAG
The minimum non-reserved type tag.- See Also:
- Constant Field Values
-
allowReservedTags
private final boolean allowReservedTags
-
classToTypeTag
private final java.util.IdentityHashMap<java.lang.Class<? extends S2Shape>,java.lang.Integer> classToTypeTag
-
-
Method Detail
-
add
<T extends S2Shape> S2TaggedShapeCoder.Builder add(java.lang.Class<? extends T> clazz, S2Coder<T> coder, int typeTag)
Associatesclazz
with a uniquecoder
andtypeTag
.If
clazz
ortypeTag
was already added, anIllegalArgumentException
is thrown.
-
add
<T extends S2Shape> S2TaggedShapeCoder.Builder add(java.util.List<java.lang.Class<? extends T>> clazzes, S2Coder<T> coder, int typeTag)
Same asadd(Class, S2Coder, int)
, but associates all elements ofclazzes
with a uniquecoder
andtypeTag
.
-
validateTypeTag
private void validateTypeTag(int typeTag)
-
validateClass
private <T extends S2Shape> void validateClass(java.lang.Class<? extends T> clazz)
-
build
S2TaggedShapeCoder build()
Returns a newly-createdS2TaggedShapeCoder
.
-
-