@SuppressWarnings({"rawtypes", "unchecked"}) private static <S, T> Class<TileSerializer<Pair<S, T>>> getGenericSerializerClass (Class<? extends S> keyType, Class<? extends T> valueType) { if (!PrimitiveAvroSerializer.isValidPrimitive(keyType) || !PrimitiveAvroSerializer.isValidPrimitive(valueType)) throw new IllegalArgumentException("Attempt to create pair array serializer factory with non-primitive class(es) "+keyType+" and/or "+valueType); return (Class) TileSerializer.class; }
@SuppressWarnings({"rawtypes", "unchecked"}) private static <S, T> Class<TileSerializer<List<Pair<S, T>>>> getGenericSerializerClass (Class<? extends S> keyType, Class<? extends T> valueType) { if (!PrimitiveAvroSerializer.isValidPrimitive(keyType) || !PrimitiveAvroSerializer.isValidPrimitive(valueType)) throw new IllegalArgumentException("Attempt to create pair array serializer factory with non-primitive class(es) "+keyType+" and/or "+valueType); return (Class) TileSerializer.class; }
@SuppressWarnings({"rawtypes", "unchecked"}) private static <T> Class<TileSerializer<List<T>>> getGenericSerializerClass (Class<? extends T> entryType) { if (!PrimitiveAvroSerializer.isValidPrimitive(entryType)) throw new IllegalArgumentException("Attempt to create primitive array serializer factory with non-primitive class "+entryType); return (Class) TileSerializer.class; }
@SuppressWarnings({"rawtypes", "unchecked"}) private static <ST> Class<TileSerializer<ST>> getGenericSerializerClass (Class<? extends ST> type) { if (!PrimitiveAvroSerializer.isValidPrimitive(type)) throw new IllegalArgumentException("Attempt to create primitive serializer factory with non-primitive class "+type); return (Class) TileSerializer.class; }
private static <T> String getName (Class<? extends T> entryType) { if (!PrimitiveAvroSerializer.isValidPrimitive(entryType)) throw new IllegalArgumentException("Attempt to create primitive array serializer factory with non-primitive class "+entryType); return "["+entryType.getSimpleName().toLowerCase()+"]-a"; } // This is the only way to get a generified class object, but because of erasure, it's guaranteed to work.
private static <T> String getName (Class<? extends T> type) { if (!PrimitiveAvroSerializer.isValidPrimitive(type)) throw new IllegalArgumentException("Attempt to create primitive serializer factory with non-primitive class "+type); return type.getSimpleName().toLowerCase()+"-a"; } // This is the only way to get a generified class object, but because of erasure, it's guaranteed to work.
private static <S, T> String getName (Class<? extends S> keyType, Class<? extends T> valueType) { if (!PrimitiveAvroSerializer.isValidPrimitive(keyType) || !PrimitiveAvroSerializer.isValidPrimitive(valueType)) throw new IllegalArgumentException("Attempt to create pair serializer factory with non-primitive class(es) "+keyType+" and/or "+valueType); return "("+keyType.getSimpleName().toLowerCase()+", "+valueType.getSimpleName().toLowerCase()+")-a"; }
private static <S, T> String getName (Class<? extends S> keyType, Class<? extends T> valueType) { if (!PrimitiveAvroSerializer.isValidPrimitive(keyType) || !PrimitiveAvroSerializer.isValidPrimitive(valueType)) throw new IllegalArgumentException("Attempt to create pair array serializer factory with non-primitive class(es) "+keyType+" and/or "+valueType); return "[("+keyType.getSimpleName().toLowerCase()+", "+valueType.getSimpleName().toLowerCase()+")]-a"; }
/** * Wrap a primitive type in a type descriptor, making sure while doing so that it * actually is a primitive type. */ static <T> TypeDescriptor getPrimitiveTypeDescriptor (Class<? extends T> type) { if (!isValidPrimitive(type)) throw new IllegalArgumentException("Invalid type "+type+ ": Not one of the prescribed primitives allowed."); return new TypeDescriptor(type); }