Java 类com.esotericsoftware.kryo.factories.ReflectionSerializerFactory 实例源码

项目:EsperDist    文件:Kryo.java   
/** Returns the best matching serializer for a class. This method can be overridden to implement custom logic to choose a
 * serializer. */
public Serializer getDefaultSerializer (Class type) {
    if (type == null) throw new IllegalArgumentException("type cannot be null.");

    if (type.isAnnotationPresent(DefaultSerializer.class)) {
        DefaultSerializer defaultSerializerAnnotation = (DefaultSerializer)type.getAnnotation(DefaultSerializer.class);
        return ReflectionSerializerFactory.makeSerializer(this, defaultSerializerAnnotation.value(), type);
    }

    for (int i = 0, n = defaultSerializers.size(); i < n; i++) {
        DefaultSerializerEntry entry = defaultSerializers.get(i);
        if (entry.type.isAssignableFrom(type)) {
            Serializer defaultSerializer = entry.serializerFactory.makeSerializer(this, type);
            //Remember that it is a default serializer set internally by Kryo
            if(i > n - lowPriorityDefaultSerializerCount)
                defaultSerializer.setDefaultSerializer(true);
            return defaultSerializer;
        }
    }

    return newDefaultSerializer(type);
}
项目:flink    文件:KryoRegistration.java   
public Serializer<?> getSerializer(Kryo kryo) {
    switch (serializerDefinitionType) {
        case UNSPECIFIED:
            return null;
        case CLASS:
            return ReflectionSerializerFactory.makeSerializer(kryo, serializerClass, registeredClass);
        case INSTANCE:
            return serializableSerializerInstance.getSerializer();
        default:
            // this should not happen; adding as a guard for the future
            throw new IllegalStateException(
                    "Unrecognized Kryo registration serializer definition type: " + serializerDefinitionType);
    }
}
项目:EsperDist    文件:Kryo.java   
protected Serializer getDefaultSerializerForAnnotatedType(Class type)
{
    if (type.isAnnotationPresent(DefaultSerializer.class)) {
        DefaultSerializer defaultSerializerAnnotation = (DefaultSerializer)type.getAnnotation(DefaultSerializer.class);
        return ReflectionSerializerFactory.makeSerializer(this, defaultSerializerAnnotation.value(), type);
    }

    return null;
}
项目:JourneyPlanner    文件:Kryo.java   
protected Serializer getDefaultSerializerForAnnotatedType(Class type)
{
    if (type.isAnnotationPresent(DefaultSerializer.class)) {
        DefaultSerializer defaultSerializerAnnotation = (DefaultSerializer)type.getAnnotation(DefaultSerializer.class);
        return ReflectionSerializerFactory.makeSerializer(this, defaultSerializerAnnotation.value(), type);
    }

    return null;
}
项目:EsperDist    文件:Kryo.java   
/** Sets the serializer to use when no {@link #addDefaultSerializer(Class, Class) default serializers} match an object's type.
 * Default is {@link FieldSerializer}.
 * @see #newDefaultSerializer(Class) */
public void setDefaultSerializer (Class<? extends Serializer> serializer) {
    if (serializer == null) throw new IllegalArgumentException("serializer cannot be null.");
    defaultSerializer = new ReflectionSerializerFactory(serializer);
}
项目:EsperDist    文件:Kryo.java   
/** Sets the serializer to use when no {@link #addDefaultSerializer(Class, Class) default serializers} match an object's type.
 * Default is {@link FieldSerializer}.
 * @see #newDefaultSerializer(Class) */
public void setDefaultSerializer (Class<? extends Serializer> serializer) {
    if (serializer == null) throw new IllegalArgumentException("serializer cannot be null.");
    defaultSerializer = new ReflectionSerializerFactory(serializer);
}
项目:JourneyPlanner    文件:Kryo.java   
/** Sets the serializer to use when no {@link #addDefaultSerializer(Class, Class) default serializers} match an object's type.
 * Default is {@link FieldSerializer}.
 * @see #newDefaultSerializer(Class) */
public void setDefaultSerializer (Class<? extends Serializer> serializer) {
    if (serializer == null) throw new IllegalArgumentException("serializer cannot be null.");
    defaultSerializer = new ReflectionSerializerFactory(serializer);
}