Example usage for com.fasterxml.jackson.databind JavaType isArrayType

List of usage examples for com.fasterxml.jackson.databind JavaType isArrayType

Introduction

In this page you can find the example usage for com.fasterxml.jackson.databind JavaType isArrayType.

Prototype

public boolean isArrayType() 

Source Link

Usage

From source file:org.springframework.amqp.support.converter.DefaultJackson2JavaTypeMapper.java

public JavaType toJavaType(MessageProperties properties) {
    JavaType classType = getClassIdType(retrieveHeader(properties, getClassIdFieldName()));
    if (!classType.isContainerType() || classType.isArrayType()) {
        return classType;
    }//from w w  w . j a  v  a2  s.  c  o m

    JavaType contentClassType = getClassIdType(retrieveHeader(properties, getContentClassIdFieldName()));
    if (classType.getKeyType() == null) {
        return CollectionType.construct(classType.getRawClass(), contentClassType);
    }

    JavaType keyClassType = getClassIdType(retrieveHeader(properties, getKeyClassIdFieldName()));
    return MapType.construct(classType.getRawClass(), keyClassType, contentClassType);

}

From source file:com.ebuddy.cassandra.databind.CustomTypeResolverBuilder.java

private boolean useForType(JavaType t) {
    return t.isArrayType() || Collection.class.isAssignableFrom(t.getRawClass());
}

From source file:org.springframework.amqp.support.converter.DefaultJackson2JavaTypeMapper.java

public void fromJavaType(JavaType javaType, MessageProperties properties) {
    addHeader(properties, getClassIdFieldName(), javaType.getRawClass());

    if (javaType.isContainerType() && !javaType.isArrayType()) {
        addHeader(properties, getContentClassIdFieldName(), javaType.getContentType().getRawClass());
    }/*from   ww  w .  java  2  s .c  om*/

    if (javaType.getKeyType() != null) {
        addHeader(properties, getKeyClassIdFieldName(), javaType.getKeyType().getRawClass());
    }
}

From source file:org.redisson.codec.JsonJacksonCodec.java

public JsonJacksonCodec() {
    createObjectMapper(objectMapper);/*from   w  w  w  .  java 2 s.com*/
    TypeResolverBuilder<?> typer = new DefaultTypeResolverBuilder(DefaultTyping.NON_FINAL);
    typer.init(JsonTypeInfo.Id.CLASS, null);
    typer.inclusion(JsonTypeInfo.As.PROPERTY);
    objectMapper.setDefaultTyping(typer);

    createObjectMapper(mapObjectMapper);
    // type info inclusion
    TypeResolverBuilder<?> mapTyper = new DefaultTypeResolverBuilder(DefaultTyping.NON_FINAL) {
        public boolean useForType(JavaType t) {
            switch (_appliesFor) {
            case NON_CONCRETE_AND_ARRAYS:
                while (t.isArrayType()) {
                    t = t.getContentType();
                }
                // fall through
            case OBJECT_AND_NON_CONCRETE:
                return (t.getRawClass() == Object.class) || !t.isConcrete();
            case NON_FINAL:
                while (t.isArrayType()) {
                    t = t.getContentType();
                }
                // to fix problem with wrong long to int conversion
                if (t.getRawClass() == Long.class) {
                    return true;
                }
                return !t.isFinal(); // includes Object.class
            default:
                //case JAVA_LANG_OBJECT:
                return (t.getRawClass() == Object.class);
            }
        }
    };
    mapTyper.init(JsonTypeInfo.Id.CLASS, null);
    mapTyper.inclusion(JsonTypeInfo.As.PROPERTY);
    mapObjectMapper.setDefaultTyping(mapTyper);
}

From source file:org.apache.ode.jacob.soup.jackson.JacobTypeResolverBuilder.java

private boolean useForType(JavaType t) {
    if (Runnable.class.isAssignableFrom(t.getRawClass())) {
        return true;
    }/*  w ww  .ja va 2s .  c o  m*/

    //TODO: check if still needed.
    if (Channel.class.isAssignableFrom(t.getRawClass())) {
        return true;
    }

    if (CommChannel.class.isAssignableFrom(t.getRawClass())) {
        return true;
    }

    if (ChannelRef.class.isAssignableFrom(t.getRawClass())) {
        return true;
    }

    if (MessageListener.class.isAssignableFrom(t.getRawClass())) {
        return true;
    }

    if (t.getRawClass() == Object.class || t.isArrayType()) {
        return true;
    }

    return false;
}

From source file:com.github.jasonruckman.sidney.core.JavaTypeRefBuilder.java

public static TypeRef buildTypeRef(Type type, TypeBindings parentBindings, Field field) {
    JavaType jt;
    TypeBindings typeBindings;//from   www .j  av  a 2  s . co m

    typeBindings = Types.binding(type, parentBindings);
    jt = Types.type(type, parentBindings);
    TypeRef ref;
    if (field == null) {
        ref = new TypeRef(jt.getRawClass());
    } else {
        Hint hint = field.getAnnotation(Hint.class);
        if (hint != null) {
            ref = new TypeRef.TypeFieldRef(hint.value(), field);
        } else {
            ref = new TypeRef.TypeFieldRef(jt.getRawClass(), field);
        }
    }

    for (Field subField : Fields.getAllFields(jt.getRawClass())) {
        Type subType = subField.getGenericType();
        TypeRef subRef = buildTypeRef(subType, typeBindings, subField);
        ref.addField((TypeRef.TypeFieldRef) subRef);
    }

    if (ParameterizedType.class.isAssignableFrom(type.getClass())) {
        ParameterizedType t = (ParameterizedType) type;
        for (Type actualTypeArg : t.getActualTypeArguments()) {
            ref.addTypeParameter(buildTypeRef(actualTypeArg, parentBindings, null));
        }
    } else if (TypeVariable.class.isAssignableFrom(type.getClass())) {
        TypeVariable t = (TypeVariable) type;
        for (Type typeBound : t.getBounds()) {
            ref.addTypeParameter(buildTypeRef(typeBound, parentBindings, null));
        }
    } else if (GenericArrayType.class.isAssignableFrom(type.getClass())) {
        GenericArrayType t = (GenericArrayType) type;
        ref.addTypeParameter(buildTypeRef(t.getGenericComponentType(), parentBindings, null));
    }

    if (jt.isArrayType() && !GenericArrayType.class.isAssignableFrom(type.getClass())) {
        ArrayType arrType = (ArrayType) jt;
        ref.addTypeParameter(buildTypeRef(arrType.getContentType().getRawClass(), null, null));
    }

    return ref;
}