@Override public void acceptJsonFormatVisitor(final JsonFormatVisitorWrapper wrapper, final JavaType hint) throws JsonMappingException { final JsonObjectFormatVisitor visitor = wrapper.expectObjectFormat(hint); visitor.property(names.getAmount(), wrapper.getProvider().findValueSerializer(writer.getType()), wrapper.getProvider().constructType(writer.getType())); visitor.property(names.getCurrency(), wrapper.getProvider().findValueSerializer(CurrencyUnit.class), wrapper.getProvider().constructType(CurrencyUnit.class)); visitor.optionalProperty(names.getFormatted(), wrapper.getProvider().findValueSerializer(String.class), wrapper.getProvider().constructType(String.class)); }
public void acceptJsonFormatVisitor(JsonFormatVisitorWrapper paramJsonFormatVisitorWrapper, JavaType paramJavaType) { JsonSerializer localJsonSerializer1 = this._valueSerializer; Object localObject = localJsonSerializer1; if (localJsonSerializer1 == null) { if (paramJavaType == null) { if (this._property != null) paramJavaType = this._property.getType(); if (paramJavaType == null) paramJavaType = paramJsonFormatVisitorWrapper.getProvider().constructType(this._accessorMethod.getReturnType()); } JsonSerializer localJsonSerializer2 = paramJsonFormatVisitorWrapper.getProvider().findTypedValueSerializer(paramJavaType, false, this._property); localObject = localJsonSerializer2; if (localJsonSerializer2 == null) { paramJsonFormatVisitorWrapper.expectAnyFormat(paramJavaType); return; } } ((JsonSerializer)localObject).acceptJsonFormatVisitor(paramJsonFormatVisitorWrapper, null); }
public void acceptJsonFormatVisitor(JsonFormatVisitorWrapper paramJsonFormatVisitorWrapper, JavaType paramJavaType) { JsonMapFormatVisitor localJsonMapFormatVisitor1; if (paramJsonFormatVisitorWrapper == null) localJsonMapFormatVisitor1 = null; else localJsonMapFormatVisitor1 = paramJsonFormatVisitorWrapper.expectMapFormat(paramJavaType); JsonMapFormatVisitor localJsonMapFormatVisitor2 = localJsonMapFormatVisitor1; if (localJsonMapFormatVisitor1 != null) { localJsonMapFormatVisitor2.keyFormat(this._keySerializer, this._keyType); JsonSerializer localJsonSerializer1 = this._valueSerializer; JsonSerializer localJsonSerializer2 = localJsonSerializer1; if (localJsonSerializer1 == null) localJsonSerializer2 = _findAndAddDynamic(this._dynamicValueSerializers, this._valueType, paramJsonFormatVisitorWrapper.getProvider()); localJsonMapFormatVisitor2.valueFormat(localJsonSerializer2, this._valueType); } }
public void acceptJsonFormatVisitor(JsonFormatVisitorWrapper paramJsonFormatVisitorWrapper, JavaType paramJavaType) { boolean bool1 = this._useTimestamp; boolean bool2 = bool1; if ((!bool1) && (this._customFormat == null)) bool2 = paramJsonFormatVisitorWrapper.getProvider().isEnabled(SerializationFeature.WRITE_DATES_AS_TIMESTAMPS); if (bool2) { JsonIntegerFormatVisitor localJsonIntegerFormatVisitor = paramJsonFormatVisitorWrapper.expectIntegerFormat(paramJavaType); if (localJsonIntegerFormatVisitor != null) { localJsonIntegerFormatVisitor.numberType(JsonParser.NumberType.LONG); localJsonIntegerFormatVisitor.format(JsonValueFormat.UTC_MILLISEC); } return; } JsonStringFormatVisitor localJsonStringFormatVisitor = paramJsonFormatVisitorWrapper.expectStringFormat(paramJavaType); if (localJsonStringFormatVisitor != null) localJsonStringFormatVisitor.format(JsonValueFormat.DATE_TIME); }
public void acceptJsonFormatVisitor(JsonFormatVisitorWrapper paramJsonFormatVisitorWrapper, JavaType paramJavaType) { if (paramJsonFormatVisitorWrapper.getProvider().isEnabled(SerializationFeature.WRITE_ENUMS_USING_INDEX)) { JsonIntegerFormatVisitor localJsonIntegerFormatVisitor = paramJsonFormatVisitorWrapper.expectIntegerFormat(paramJavaType); if (localJsonIntegerFormatVisitor != null) localJsonIntegerFormatVisitor.numberType(JsonParser.NumberType.INT); return; } JsonStringFormatVisitor localJsonStringFormatVisitor = paramJsonFormatVisitorWrapper.expectStringFormat(paramJavaType); if ((paramJavaType != null) && (localJsonStringFormatVisitor != null) && (paramJavaType.isEnumType())) { LinkedHashSet localLinkedHashSet = new LinkedHashSet(); Iterator localIterator = this._values.values().iterator(); while (localIterator.hasNext()) localLinkedHashSet.add(((SerializedString)localIterator.next()).getValue()); localJsonStringFormatVisitor.enumTypes(localLinkedHashSet); } }
public void acceptJsonFormatVisitor(JsonFormatVisitorWrapper paramJsonFormatVisitorWrapper, JavaType paramJavaType) { JsonObjectFormatVisitor localJsonObjectFormatVisitor1; if (paramJsonFormatVisitorWrapper == null) localJsonObjectFormatVisitor1 = null; else localJsonObjectFormatVisitor1 = paramJsonFormatVisitorWrapper.expectObjectFormat(paramJavaType); JsonObjectFormatVisitor localJsonObjectFormatVisitor2 = localJsonObjectFormatVisitor1; if (localJsonObjectFormatVisitor1 != null) { if (this._propertyFilterId != null) { BeanPropertyFilter localBeanPropertyFilter = findFilter(paramJsonFormatVisitorWrapper.getProvider()); for (int j = 0; j < this._props.length; j++) localBeanPropertyFilter.depositSchemaProperty(this._props[j], localJsonObjectFormatVisitor2, paramJsonFormatVisitorWrapper.getProvider()); return; } for (int i = 0; i < this._props.length; i++) this._props[i].depositSchemaProperty(localJsonObjectFormatVisitor2); } }
public void acceptJsonFormatVisitor(JsonFormatVisitorWrapper paramJsonFormatVisitorWrapper, JavaType paramJavaType) { JsonArrayFormatVisitor localJsonArrayFormatVisitor1; if (paramJsonFormatVisitorWrapper == null) localJsonArrayFormatVisitor1 = null; else localJsonArrayFormatVisitor1 = paramJsonFormatVisitorWrapper.expectArrayFormat(paramJavaType); JsonArrayFormatVisitor localJsonArrayFormatVisitor2 = localJsonArrayFormatVisitor1; if (localJsonArrayFormatVisitor1 != null) { JavaType localJavaType = paramJsonFormatVisitorWrapper.getProvider().getTypeFactory().moreSpecificType(this._elementType, paramJavaType.getContentType()); if (localJavaType == null) throw new JsonMappingException("Could not resolve type"); JsonSerializer localJsonSerializer1 = this._elementSerializer; JsonSerializer localJsonSerializer2 = localJsonSerializer1; if (localJsonSerializer1 == null) localJsonSerializer2 = paramJsonFormatVisitorWrapper.getProvider().findValueSerializer(localJavaType, this._property); localJsonArrayFormatVisitor2.itemsFormat(localJsonSerializer2, localJavaType); } }
@Override public void acceptJsonFormatVisitor(JsonFormatVisitorWrapper visitor, JavaType typeHint) { //todo: (ryan) add a format for the date in the schema? boolean asNumber = _useTimestamp; if (!asNumber) { if (_customFormat == null) { asNumber = visitor.getProvider().isEnabled(SerializationFeature.WRITE_DATES_AS_TIMESTAMPS); } } if (asNumber) { visitor.expectNumberFormat(typeHint).format(JsonValueFormat.UTC_MILLISEC); } else { visitor.expectStringFormat(typeHint).format(JsonValueFormat.DATE_TIME); } }
@Override public void acceptJsonFormatVisitor(JsonFormatVisitorWrapper visitor, JavaType typeHint) { // [JACKSON-684]: serialize as index? if (visitor.getProvider().isEnabled(SerializationFeature.WRITE_ENUMS_USING_INDEX)) { visitor.expectIntegerFormat(typeHint); } else { JsonStringFormatVisitor stringVisitor = visitor.expectStringFormat(typeHint); if (typeHint != null) { if (typeHint.isEnumType()) { Set<String> enums = new HashSet<String>(); for (SerializedString value : _values.values()) { enums.add(value.getValue()); } stringVisitor.enumTypes(enums); } } } }
@Override public void acceptJsonFormatVisitor(JsonFormatVisitorWrapper visitor, JavaType typeHint) throws JsonMappingException { //deposit your output format JsonObjectFormatVisitor objectVisitor = visitor.expectObjectFormat(typeHint); if (_propertyFilterId != null) { BeanPropertyFilter filter = findFilter(visitor.getProvider()); for (int i = 0; i < _props.length; i++) { filter.depositSchemaProperty(_props[i], objectVisitor, visitor.getProvider()); } } else { for (int i = 0; i < _props.length; i++) { _props[i].depositSchemaProperty(objectVisitor); } } }
@Override public void acceptJsonFormatVisitor(JsonFormatVisitorWrapper visitor, JavaType typeHint) throws JsonMappingException { JsonObjectFormatVisitor objectVisitor = visitor.expectObjectFormat(typeHint); /* JavaType enumType = typeHint.containedType(0); if (enumType == null) { enumType = visitor.getProvider().constructType(Object.class); } */ JavaType valueType = typeHint.containedType(1); if (valueType == null) { valueType = visitor.getProvider().constructType(Object.class); } JsonSerializer<Object> ser = _valueSerializer; // Class<Enum<?>> enumClass = (Class<Enum<?>>) enumType.getRawClass(); for (Map.Entry<?,SerializedString> entry : _keyEnums.internalMap().entrySet()) { String name = entry.getValue().getValue(); // should all have the same type, so: if (ser == null) { ser = visitor.getProvider().findValueSerializer(entry.getKey().getClass(), _property); } objectVisitor.property(name, (JsonFormatVisitable) ser, valueType); } }
@Override public void acceptJsonFormatVisitor(JsonFormatVisitorWrapper visitor, JavaType typeHint) throws JsonMappingException { if (visitor != null) { visitor.expectStringFormat(typeHint); } }
@Override protected void _acceptTimestampVisitor(JsonFormatVisitorWrapper visitor, JavaType typeHint) throws JsonMappingException { SerializerProvider provider = visitor.getProvider(); boolean useTimestamp = (provider != null) && useTimestamp(provider); if (useTimestamp) { super._acceptTimestampVisitor(visitor, typeHint); } else { JsonStringFormatVisitor v2 = visitor.expectStringFormat(typeHint); if (v2 != null) { v2.format(JsonValueFormat.DATE_TIME); } } }
@Override protected void _acceptTimestampVisitor(JsonFormatVisitorWrapper visitor, JavaType typeHint) throws JsonMappingException { JsonIntegerFormatVisitor v2 = visitor.expectIntegerFormat(typeHint); if (v2 != null) { v2.numberType(JsonParser.NumberType.LONG); SerializerProvider provider = visitor.getProvider(); if ((provider != null) && provider.isEnabled(SerializationFeature.WRITE_DATE_TIMESTAMPS_AS_NANOSECONDS)) { // big number, no more specific qualifier to use... } else { // otherwise good old Unix timestamp, in milliseconds v2.format(JsonValueFormat.UTC_MILLISEC); } } }
@Override public void acceptJsonFormatVisitor(JsonFormatVisitorWrapper visitor, JavaType typeHint) throws JsonMappingException { SerializerProvider provider = visitor.getProvider(); boolean useTimestamp = (provider != null) && useTimestamp(provider); if (useTimestamp) { _acceptTimestampVisitor(visitor, typeHint); } else { JsonStringFormatVisitor v2 = visitor.expectStringFormat(typeHint); if (v2 != null) { v2.format(JsonValueFormat.DATE_TIME); } } }
protected void _acceptTimestampVisitor(JsonFormatVisitorWrapper visitor, JavaType typeHint) throws JsonMappingException { // By default, most sub-types use JSON Array, so do this: JsonArrayFormatVisitor v2 = visitor.expectArrayFormat(typeHint); if (v2 != null) { v2.itemsFormat(JsonFormatTypes.INTEGER); } }
@Override public void acceptJsonFormatVisitor(JsonFormatVisitorWrapper visitor, JavaType typeHint) throws JsonMappingException { SerializerProvider provider = visitor.getProvider(); boolean useTimestamp = (provider != null) && useTimestamp(provider); if (useTimestamp) { _acceptTimestampVisitor(visitor, typeHint); } else { JsonStringFormatVisitor v2 = visitor.expectStringFormat(typeHint); if (v2 != null) { v2.format(JsonValueFormat.DATE); } } }
@Override protected void _acceptTimestampVisitor(JsonFormatVisitorWrapper visitor, JavaType typeHint) throws JsonMappingException { JsonIntegerFormatVisitor v2 = visitor.expectIntegerFormat(typeHint); if (v2 != null) { v2.numberType(JsonParser.NumberType.LONG); } }
@Override public void acceptJsonFormatVisitor(JsonFormatVisitorWrapper visitor, JavaType typeHint) throws JsonMappingException { if (visitor != null) { visitor.expectBooleanFormat(typeHint); } }
private void visitType(BeanProperty prop, String jsonName, String fieldName, JavaType fieldType, JsonSerializer<?> ser) throws JsonMappingException { String fieldPath = path + (path.isEmpty() ? "" : ".") + jsonName; log.debug("({}) {}", fieldPath, fieldType.getRawClass().getSimpleName()); Class<?> javaBaseClass = prop.getMember().getDeclaringClass(); boolean shouldExpand = shouldExpand(prop); InternalFieldInfo fieldInfo = new InternalFieldInfo(javaBaseClass, fieldName, fieldType, fieldPath, shouldExpand); JsonFormatVisitorWrapper visitor = new FieldDocumentationVisitorWrapper(getProvider(), context, fieldPath, fieldInfo, typeRegistry, typeFactory); ser.acceptJsonFormatVisitor(visitor, fieldType); }
@Override public void itemsFormat(JsonFormatVisitable handler, JavaType elementType) throws JsonMappingException { String elementPath = path + "[]"; JsonFormatVisitorWrapper visitor = new FieldDocumentationVisitorWrapper(getProvider(), context, elementPath, null, typeRegistry, typeFactory); handler.acceptJsonFormatVisitor(visitor, elementType); }
@Override public void acceptJsonFormatVisitor(JsonFormatVisitorWrapper visitor, JavaType typeHint) throws JsonMappingException { if (visitor != null) { visitor.expectNumberFormat(typeHint); } }
public void acceptJsonFormatVisitor(JavaType paramJavaType, JsonFormatVisitorWrapper paramJsonFormatVisitorWrapper) { if (paramJavaType == null) throw new IllegalArgumentException("A class must be provided"); paramJsonFormatVisitorWrapper.setProvider(this); findValueSerializer(paramJavaType, null).acceptJsonFormatVisitor(paramJsonFormatVisitorWrapper, paramJavaType); }
public void acceptJsonFormatVisitor(JsonFormatVisitorWrapper paramJsonFormatVisitorWrapper, JavaType paramJavaType) { JsonStringFormatVisitor localJsonStringFormatVisitor1; if (paramJsonFormatVisitorWrapper == null) localJsonStringFormatVisitor1 = null; else localJsonStringFormatVisitor1 = paramJsonFormatVisitorWrapper.expectStringFormat(paramJavaType); JsonStringFormatVisitor localJsonStringFormatVisitor2 = localJsonStringFormatVisitor1; if (localJsonStringFormatVisitor1 != null) localJsonStringFormatVisitor2.format(JsonValueFormat.DATE_TIME); }
public void acceptJsonFormatVisitor(JsonFormatVisitorWrapper paramJsonFormatVisitorWrapper, JavaType paramJavaType) { JsonArrayFormatVisitor localJsonArrayFormatVisitor = paramJsonFormatVisitorWrapper.expectArrayFormat(paramJavaType); if (localJsonArrayFormatVisitor != null) { JavaType localJavaType = paramJsonFormatVisitorWrapper.getProvider().getTypeFactory().moreSpecificType(this._elementType, paramJavaType.getContentType()); if (localJavaType == null) throw new JsonMappingException("Could not resolve type"); JsonSerializer localJsonSerializer1 = this._elementSerializer; JsonSerializer localJsonSerializer2 = localJsonSerializer1; if (localJsonSerializer1 == null) localJsonSerializer2 = paramJsonFormatVisitorWrapper.getProvider().findValueSerializer(localJavaType, this._property); localJsonArrayFormatVisitor.itemsFormat(localJsonSerializer2, localJavaType); } }
public final void acceptJsonFormatVisitor(JsonFormatVisitorWrapper paramJsonFormatVisitorWrapper, JavaType paramJavaType) { if (paramJsonFormatVisitorWrapper != null) { JsonArrayFormatVisitor localJsonArrayFormatVisitor = paramJsonFormatVisitorWrapper.expectArrayFormat(paramJavaType); if (localJsonArrayFormatVisitor != null) localJsonArrayFormatVisitor.itemsFormat(JsonFormatTypes.BOOLEAN); } }
public final void acceptJsonFormatVisitor(JsonFormatVisitorWrapper paramJsonFormatVisitorWrapper, JavaType paramJavaType) { if (paramJsonFormatVisitorWrapper != null) { JsonArrayFormatVisitor localJsonArrayFormatVisitor = paramJsonFormatVisitorWrapper.expectArrayFormat(paramJavaType); if (localJsonArrayFormatVisitor != null) localJsonArrayFormatVisitor.itemsFormat(JsonFormatTypes.STRING); } }
public final void acceptJsonFormatVisitor(JsonFormatVisitorWrapper paramJsonFormatVisitorWrapper, JavaType paramJavaType) { if (paramJsonFormatVisitorWrapper != null) { JsonArrayFormatVisitor localJsonArrayFormatVisitor = paramJsonFormatVisitorWrapper.expectArrayFormat(paramJavaType); if (localJsonArrayFormatVisitor != null) localJsonArrayFormatVisitor.itemsFormat(JsonFormatTypes.NUMBER); } }
public final void acceptJsonFormatVisitor(JsonFormatVisitorWrapper paramJsonFormatVisitorWrapper, JavaType paramJavaType) { if (paramJsonFormatVisitorWrapper != null) { JsonArrayFormatVisitor localJsonArrayFormatVisitor = paramJsonFormatVisitorWrapper.expectArrayFormat(paramJavaType); if (localJsonArrayFormatVisitor != null) localJsonArrayFormatVisitor.itemsFormat(JsonFormatTypes.INTEGER); } }
public void acceptJsonFormatVisitor(JsonFormatVisitorWrapper paramJsonFormatVisitorWrapper, JavaType paramJavaType) { if (paramJsonFormatVisitorWrapper != null) { JsonArrayFormatVisitor localJsonArrayFormatVisitor = paramJsonFormatVisitorWrapper.expectArrayFormat(paramJavaType); if (localJsonArrayFormatVisitor != null) localJsonArrayFormatVisitor.itemsFormat(JsonFormatTypes.STRING); } }
/** * The method to be called by {@link ObjectMapper} and {@link ObjectWriter} * to to expose the format of the given to to the given visitor * * @param javaType The type for which to generate format * @param visitor the visitor to accept the format */ public void acceptJsonFormatVisitor(JavaType javaType, JsonFormatVisitorWrapper visitor) throws JsonMappingException { if (javaType == null) { throw new IllegalArgumentException("A class must be provided"); } /* no need for embedded type information for JSON schema generation (all * type information it needs is accessible via "untyped" serializer) */ findValueSerializer(javaType, null).acceptJsonFormatVisitor(visitor, javaType); }
@Override public void acceptJsonFormatVisitor(JsonFormatVisitorWrapper visitor, JavaType typeHint) { /* 01-Jan-2010, tatu: Not 100% sure what we should say here: * type is basically not known. This seems closest * approximation */ visitor.expectAnyFormat(typeHint); }