当前位置: 首页>>代码示例>>Java>>正文


Java SchemaAware类代码示例

本文整理汇总了Java中org.codehaus.jackson.schema.SchemaAware的典型用法代码示例。如果您正苦于以下问题:Java SchemaAware类的具体用法?Java SchemaAware怎么用?Java SchemaAware使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。


SchemaAware类属于org.codehaus.jackson.schema包,在下文中一共展示了SchemaAware类的11个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。

示例1: getSchema

import org.codehaus.jackson.schema.SchemaAware; //导入依赖的package包/类
public JsonNode getSchema(SerializerProvider provider, Type typeHint)
    throws JsonMappingException
{
    ObjectNode o = createSchemaNode("array", true);
    if (typeHint != null) {
        JavaType javaType = TypeFactory.type(typeHint);
        if (javaType.isArrayType()) {
            Class<?> componentType = ((ArrayType) javaType).getContentType().getRawClass();
            JsonSerializer<Object> ser = provider.findValueSerializer(componentType);
            JsonNode schemaNode = (ser instanceof SchemaAware) ?
                    ((SchemaAware) ser).getSchema(provider, null) :
                    JsonSchema.getDefaultSchemaNode();
            o.put("items", schemaNode);
        }
    }
    return o;
}
 
开发者ID:r00li,项目名称:RHome,代码行数:18,代码来源:ArraySerializers.java

示例2: getSchema

import org.codehaus.jackson.schema.SchemaAware; //导入依赖的package包/类
@SuppressWarnings("unchecked")
@Override
public JsonNode getSchema(SerializerProvider provider, Type typeHint)
    throws JsonMappingException
{
    ObjectNode o = createSchemaNode("object", true);
    if (typeHint instanceof ParameterizedType) {
        Type[] typeArgs = ((ParameterizedType) typeHint).getActualTypeArguments();
        if (typeArgs.length == 2) {
            JavaType enumType = TypeFactory.type(typeArgs[0]);
            JavaType valueType = TypeFactory.type(typeArgs[1]);
            ObjectNode propsNode = JsonNodeFactory.instance.objectNode();
            Class<Enum<?>> enumClass = (Class<Enum<?>>) enumType.getRawClass();
            for (Enum<?> enumValue : enumClass.getEnumConstants()) {
                JsonSerializer<Object> ser = provider.findValueSerializer(valueType.getRawClass());
                JsonNode schemaNode = (ser instanceof SchemaAware) ?
                        ((SchemaAware) ser).getSchema(provider, null) :
                        JsonSchema.getDefaultSchemaNode();
                propsNode.put(provider.getConfig().getAnnotationIntrospector().findEnumValue((Enum<?>)enumValue), schemaNode);
            }
            o.put("properties", propsNode);
        }
    }
    return o;
}
 
开发者ID:r00li,项目名称:RHome,代码行数:26,代码来源:EnumMapSerializer.java

示例3: getSchema

import org.codehaus.jackson.schema.SchemaAware; //导入依赖的package包/类
public JsonNode getSchema(SerializerProvider paramSerializerProvider, Type paramType)
  throws JsonMappingException
{
  if ((this._valueSerializer instanceof SchemaAware))
    return ((SchemaAware)this._valueSerializer).getSchema(paramSerializerProvider, null);
  return JsonSchema.getDefaultSchemaNode();
}
 
开发者ID:zhangjianying,项目名称:12306-android-Decompile,代码行数:8,代码来源:JsonValueSerializer.java

示例4: getSchema

import org.codehaus.jackson.schema.SchemaAware; //导入依赖的package包/类
public JsonNode getSchema(SerializerProvider paramSerializerProvider, Type paramType)
  throws JsonMappingException
{
  ObjectNode localObjectNode = createSchemaNode("array", true);
  JavaType localJavaType = null;
  if (paramType != null)
  {
    localJavaType = paramSerializerProvider.constructType(paramType).getContentType();
    if ((localJavaType == null) && ((paramType instanceof ParameterizedType)))
    {
      Type[] arrayOfType = ((ParameterizedType)paramType).getActualTypeArguments();
      if (arrayOfType.length == 1)
        localJavaType = paramSerializerProvider.constructType(arrayOfType[0]);
    }
  }
  if ((localJavaType == null) && (this._elementType != null))
    localJavaType = this._elementType;
  if (localJavaType != null)
  {
    Class localClass = localJavaType.getRawClass();
    JsonNode localJsonNode = null;
    if (localClass != Object.class)
    {
      JsonSerializer localJsonSerializer = paramSerializerProvider.findValueSerializer(localJavaType, this._property);
      boolean bool = localJsonSerializer instanceof SchemaAware;
      localJsonNode = null;
      if (bool)
        localJsonNode = ((SchemaAware)localJsonSerializer).getSchema(paramSerializerProvider, null);
    }
    if (localJsonNode == null)
      localJsonNode = JsonSchema.getDefaultSchemaNode();
    localObjectNode.put("items", localJsonNode);
  }
  return localObjectNode;
}
 
开发者ID:zhangjianying,项目名称:12306-android-Decompile,代码行数:36,代码来源:ContainerSerializers.java

示例5: generateJsonSchema

import org.codehaus.jackson.schema.SchemaAware; //导入依赖的package包/类
public JsonSchema generateJsonSchema(Class<?> paramClass, SerializationConfig paramSerializationConfig, SerializerFactory paramSerializerFactory)
  throws JsonMappingException
{
  if (paramClass == null)
    throw new IllegalArgumentException("A class must be provided");
  StdSerializerProvider localStdSerializerProvider = createInstance(paramSerializationConfig, paramSerializerFactory);
  if (localStdSerializerProvider.getClass() != getClass())
    throw new IllegalStateException("Broken serializer provider: createInstance returned instance of type " + localStdSerializerProvider.getClass() + "; blueprint of type " + getClass());
  JsonSerializer localJsonSerializer = localStdSerializerProvider.findValueSerializer(paramClass, null);
  if ((localJsonSerializer instanceof SchemaAware));
  for (JsonNode localJsonNode = ((SchemaAware)localJsonSerializer).getSchema(localStdSerializerProvider, null); !(localJsonNode instanceof ObjectNode); localJsonNode = JsonSchema.getDefaultSchemaNode())
    throw new IllegalArgumentException("Class " + paramClass.getName() + " would not be serialized as a JSON object and therefore has no schema");
  return new JsonSchema((ObjectNode)localJsonNode);
}
 
开发者ID:zhangjianying,项目名称:12306-android-Decompile,代码行数:15,代码来源:StdSerializerProvider.java

示例6: getSchema

import org.codehaus.jackson.schema.SchemaAware; //导入依赖的package包/类
public JsonNode getSchema(SerializerProvider paramSerializerProvider, Type paramType)
  throws JsonMappingException
{
  ObjectNode localObjectNode1 = createSchemaNode("object", true);
  if ((paramType instanceof ParameterizedType))
  {
    Type[] arrayOfType = ((ParameterizedType)paramType).getActualTypeArguments();
    if (arrayOfType.length == 2)
    {
      JavaType localJavaType1 = paramSerializerProvider.constructType(arrayOfType[0]);
      JavaType localJavaType2 = paramSerializerProvider.constructType(arrayOfType[1]);
      ObjectNode localObjectNode2 = JsonNodeFactory.instance.objectNode();
      Enum[] arrayOfEnum = (Enum[])localJavaType1.getRawClass().getEnumConstants();
      int i = arrayOfEnum.length;
      int j = 0;
      if (j < i)
      {
        Enum localEnum = arrayOfEnum[j];
        JsonSerializer localJsonSerializer = paramSerializerProvider.findValueSerializer(localJavaType2.getRawClass(), this._property);
        if ((localJsonSerializer instanceof SchemaAware));
        for (JsonNode localJsonNode = ((SchemaAware)localJsonSerializer).getSchema(paramSerializerProvider, null); ; localJsonNode = JsonSchema.getDefaultSchemaNode())
        {
          localObjectNode2.put(paramSerializerProvider.getConfig().getAnnotationIntrospector().findEnumValue(localEnum), localJsonNode);
          j++;
          break;
        }
      }
      localObjectNode1.put("properties", localObjectNode2);
    }
  }
  return localObjectNode1;
}
 
开发者ID:zhangjianying,项目名称:12306-android-Decompile,代码行数:33,代码来源:EnumMapSerializer.java

示例7: getSchema

import org.codehaus.jackson.schema.SchemaAware; //导入依赖的package包/类
public JsonNode getSchema(SerializerProvider provider, Type typeHint)
    throws JsonMappingException
{
    return (_valueSerializer instanceof SchemaAware) ?
            ((SchemaAware) _valueSerializer).getSchema(provider, null) :
            JsonSchema.getDefaultSchemaNode();
}
 
开发者ID:r00li,项目名称:RHome,代码行数:8,代码来源:JsonValueSerializer.java

示例8: getSchema

import org.codehaus.jackson.schema.SchemaAware; //导入依赖的package包/类
@Override
public JsonNode getSchema(SerializerProvider provider, Type typeHint)
    throws JsonMappingException
{
    /* 15-Jan-2010, tatu: This should probably be rewritten, given that
     *    more information about content type is actually being explicitly
     *    passed. So there should be less need to try to re-process that
     *    information.
     */
    ObjectNode o = createSchemaNode("array", true);
    JavaType contentType = null;
    if (typeHint != null) {
        JavaType javaType = TypeFactory.type(typeHint);
        contentType = javaType.getContentType();
        if (contentType == null) { // could still be parametrized (Iterators)
            if (typeHint instanceof ParameterizedType) {
                Type[] typeArgs = ((ParameterizedType) typeHint).getActualTypeArguments();
                if (typeArgs.length == 1) {
                    contentType = TypeFactory.type(typeArgs[0]);
                }
            }
        }
    }
    if (contentType == null && _elementType != null) {
        contentType = _elementType;
    }
    if (contentType != null) {
        JsonSerializer<Object> ser = provider.findValueSerializer(contentType);
        JsonNode schemaNode = (ser instanceof SchemaAware) ?
                ((SchemaAware) ser).getSchema(provider, null) :
                JsonSchema.getDefaultSchemaNode();
        o.put("items", schemaNode);
    }
    return o;
}
 
开发者ID:r00li,项目名称:RHome,代码行数:36,代码来源:ContainerSerializers.java

示例9: generateJsonSchema

import org.codehaus.jackson.schema.SchemaAware; //导入依赖的package包/类
@Override
public JsonSchema generateJsonSchema(Class<?> type, SerializationConfig config, SerializerFactory jsf)
        throws JsonMappingException
{
    if (type == null) {
        throw new IllegalArgumentException("A class must be provided.");
    }

    /* First: we need a separate instance, which will hold a copy of the
     * non-shared ("local") read-only lookup Map for fast
     * class-to-serializer lookup
     */
    StdSerializerProvider inst = createInstance(config, jsf);
    // sanity check to avoid weird errors; to ensure sub-classes do override createInstance
    if (inst.getClass() != getClass()) {
        throw new IllegalStateException("Broken serializer provider: createInstance returned instance of type "+inst.getClass()+"; blueprint of type "+getClass());
    }
    /* no need for embedded type information for JSON schema generation (all
     * type information it needs is accessible via "untyped" serializer)
     */
    JsonSerializer<Object> ser = inst.findValueSerializer(type);
    JsonNode schemaNode = (ser instanceof SchemaAware) ?
            ((SchemaAware) ser).getSchema(inst, null) : 
            JsonSchema.getDefaultSchemaNode();
    if (!(schemaNode instanceof ObjectNode)) {
        throw new IllegalArgumentException("Class " + type.getName() +
                " would not be serialized as a JSON object and therefore has no schema.");
    }

    return new JsonSchema((ObjectNode) schemaNode);
}
 
开发者ID:r00li,项目名称:RHome,代码行数:32,代码来源:StdSerializerProvider.java

示例10: getSchema

import org.codehaus.jackson.schema.SchemaAware; //导入依赖的package包/类
@Override
public JsonNode getSchema(SerializerProvider provider, Type typeHint)
    throws JsonMappingException
{
    ObjectNode o = createSchemaNode("object", true);
    //todo: should the classname go in the title?
    //o.put("title", _className);
    ObjectNode propertiesNode = o.objectNode();
    for (int i = 0; i < _props.length; i++) {
        BeanPropertyWriter prop = _props[i];
        Type hint = prop.getRawSerializationType();
        if (hint == null) {
            hint = prop.getGenericPropertyType();
        }
        // Maybe it already has annotated/statically configured serializer?
        JsonSerializer<Object> ser = prop.getSerializer();
        if (ser == null) { // nope
            Class<?> serType = prop.getRawSerializationType();
            if (serType == null) {
                serType = prop.getPropertyType();
            }
            ser = provider.findValueSerializer(serType);
        }
        JsonNode schemaNode = (ser instanceof SchemaAware) ?
                ((SchemaAware) ser).getSchema(provider, hint) : 
                JsonSchema.getDefaultSchemaNode();
        o.put("items", schemaNode);
        propertiesNode.put(prop.getName(), schemaNode);
    }
    o.put("properties", propertiesNode);
    return o;
}
 
开发者ID:r00li,项目名称:RHome,代码行数:33,代码来源:BeanSerializer.java

示例11: getSchema

import org.codehaus.jackson.schema.SchemaAware; //导入依赖的package包/类
@Override
public JsonNode getSchema(SerializerProvider provider, Type typeHint)
    throws JsonMappingException
{
    ObjectNode o = createSchemaNode("object", true);
    //todo: should the classname go in the title?
    //o.put("title", _className);
    ObjectNode propertiesNode = o.objectNode();
    for (int i = 0; i < _props.length; i++) {
        BeanPropertyWriter prop = _props[i];
        JavaType propType = prop.getSerializationType();
        // 03-Dec-2010, tatu: SchemaAware REALLY should use JavaType, but alas it doesn't...
        Type hint = (propType == null) ? prop.getGenericPropertyType() : propType.getRawClass();
        // Maybe it already has annotated/statically configured serializer?
        JsonSerializer<Object> ser = prop.getSerializer();
        if (ser == null) { // nope
            Class<?> serType = prop.getRawSerializationType();
            if (serType == null) {
                serType = prop.getPropertyType();
            }
            ser = provider.findValueSerializer(serType, prop);
        }
        JsonNode schemaNode = (ser instanceof SchemaAware) ?
                ((SchemaAware) ser).getSchema(provider, hint) : 
                JsonSchema.getDefaultSchemaNode();
        if(prop.getAnnotation(XmlAttribute.class)!=null && schemaNode instanceof ObjectNode)
        	((ObjectNode)schemaNode).put("isattr", true);
        propertiesNode.put(prop.getName(), schemaNode);
    }
    o.put("properties", propertiesNode);
    if(typeHint instanceof Class)
    {
    	Class<?> claz = (Class<?>)typeHint;
     if(claz.getAnnotation(XmlRootElement.class)!=null
     		&& !claz.getAnnotation(XmlRootElement.class).name().equals("##default"))
     	o.put("name", claz.getAnnotation(XmlRootElement.class).name());
     else if(claz.getAnnotation(XmlType.class)!=null
     		&& !claz.getAnnotation(XmlType.class).name().equals("##default"))
     	o.put("name", claz.getAnnotation(XmlType.class).name());
     else
     	o.put("name", claz.getSimpleName());
    }
    return o;
}
 
开发者ID:sumeetchhetri,项目名称:test-html-generator-plugin,代码行数:45,代码来源:BeanSerializerBase.java


注:本文中的org.codehaus.jackson.schema.SchemaAware类示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。