类com.fasterxml.jackson.core.SerializableString源码实例Demo

下面列出了怎么用com.fasterxml.jackson.core.SerializableString的API类实例代码及写法,或者点击链接到github查看源代码。

源代码1 项目: lams   文件: WritableObjectId.java
/**
 * Method called to output Object Id as specified.
 */
public void writeAsField(JsonGenerator gen, SerializerProvider provider,
        ObjectIdWriter w) throws IOException
{
    idWritten = true;

    // 03-Aug-2013, tatu: Prefer Native Object Ids if available
    if (gen.canWriteObjectId()) {
        // Need to assume String(ified) ids, for now... could add 'long' variant?
        gen.writeObjectId(String.valueOf(id));
        return;
    }
    
    SerializableString name = w.propertyName;
    if (name != null) {
        gen.writeFieldName(name);
        w.serializer.serialize(id, gen, provider);
    }
}
 
源代码2 项目: lams   文件: EnumValues.java
public static EnumValues constructFromName(MapperConfig<?> config, Class<Enum<?>> enumClass)
{
    // Enum types with per-instance sub-classes need special handling
    Class<? extends Enum<?>> enumCls = ClassUtil.findEnumType(enumClass);
    Enum<?>[] enumValues = enumCls.getEnumConstants();
    if (enumValues == null) {
        throw new IllegalArgumentException("Cannot determine enum constants for Class "+enumClass.getName());
    }
    String[] names = config.getAnnotationIntrospector().findEnumValues(enumCls, enumValues, new String[enumValues.length]);
    SerializableString[] textual = new SerializableString[enumValues.length];
    for (int i = 0, len = enumValues.length; i < len; ++i) {
        Enum<?> en = enumValues[i];
        String name = names[i];
        if (name == null) {
            name = en.name();
        }
        textual[en.ordinal()] = config.compileString(name);
    }
    return new EnumValues(enumClass, textual);
}
 
@Override
public void writeFieldName(SerializableString name) throws IOException {
  TokenFilter state = filterContext.setFieldName(name.getValue());
  if (state == null) {
    itemFilter = null;
  } else if (state == TokenFilter.INCLUDE_ALL) {
    itemFilter = state;
    delegate.writeFieldName(name);
  } else {
    state = state.includeProperty(name.getValue());
    itemFilter = state;
    if (state != null) {
      delegate.writeFieldName(name);
    }
  }
}
 
源代码4 项目: metafacture-core   文件: JsonEncoder.java
/**
 * By default JSON output does only have escaping where it is strictly
 * necessary. This is recommended in the most cases. Nevertheless it can
 * be sometimes useful to have some more escaping.
 *
 * @param escapeCharacters an array which defines which characters should be
 *                         escaped and how it will be done. See
 *                         {@link CharacterEscapes}. In most cases this should
 *                         be null. Use like this:
 *                         <pre>{@code int[] esc = CharacterEscapes.standardAsciiEscapesForJSON();
 *                            // and force escaping of a few others:
 *                            esc['\''] = CharacterEscapes.ESCAPE_STANDARD;
 *                         JsonEncoder.useEscapeJavaScript(esc);
 *                         }</pre>
 */
public void setJavaScriptEscapeChars(final int[] escapeCharacters) {

    final CharacterEscapes ce = new CharacterEscapes() {

        private static final long serialVersionUID = 1L;

        @Override
        public int[] getEscapeCodesForAscii() {
            if (escapeCharacters == null) {
                return CharacterEscapes.standardAsciiEscapesForJSON();
            }
            return escapeCharacters;
        }

        @Override
        public SerializableString getEscapeSequence(final int ch) {
            final String jsEscaped = escapeChar((char) ch);
            return new SerializedString(jsEscaped);
        }

    };

    jsonGenerator.setCharacterEscapes(ce);
}
 
源代码5 项目: lams   文件: ObjectIdWriter.java
@SuppressWarnings("unchecked")
protected ObjectIdWriter(JavaType t, SerializableString propName,
        ObjectIdGenerator<?> gen, JsonSerializer<?> ser, boolean alwaysAsId)
{
    idType = t;
    propertyName = propName;
    generator = gen;
    serializer = (JsonSerializer<Object>) ser;
    this.alwaysAsId = alwaysAsId;
}
 
源代码6 项目: lams   文件: ObjectIdWriter.java
/**
 * Factory method called by {@link com.fasterxml.jackson.databind.ser.std.BeanSerializerBase}
 * with the initial information based on standard settings for the type
 * for which serializer is being built.
 * 
 * @since 2.3
 */
public static ObjectIdWriter construct(JavaType idType, PropertyName propName,
        ObjectIdGenerator<?> generator, boolean alwaysAsId)
{
    String simpleName = (propName == null) ? null : propName.getSimpleName();
    SerializableString serName = (simpleName == null) ? null : new SerializedString(simpleName);
    return new ObjectIdWriter(idType, serName, generator, null, alwaysAsId);
}
 
源代码7 项目: lams   文件: EnumValues.java
public static EnumValues constructFromToString(MapperConfig<?> config, Class<Enum<?>> enumClass)
{
    Class<? extends Enum<?>> cls = ClassUtil.findEnumType(enumClass);
    Enum<?>[] values = cls.getEnumConstants();
    if (values != null) {
        SerializableString[] textual = new SerializableString[values.length];
        for (Enum<?> en : values) {
            textual[en.ordinal()] = config.compileString(en.toString());
        }
        return new EnumValues(enumClass, textual);
    }
    throw new IllegalArgumentException("Cannot determine enum constants for Class "+enumClass.getName());
}
 
源代码8 项目: lams   文件: EnumValues.java
/**
 * Method used for serialization and introspection by core Jackson code.
 */
@SuppressWarnings({ "unchecked", "rawtypes" })
public EnumMap<?,SerializableString> internalMap() {
    EnumMap<?,SerializableString> result = _asMap;
    if (result == null) {
        // Alas, need to create it in a round-about way, due to typing constraints...
        Map<Enum<?>,SerializableString> map = new LinkedHashMap<Enum<?>,SerializableString>();
        for (Enum<?> en : _values) {
            map.put(en, _textual[en.ordinal()]);
        }
        result = new EnumMap(map);
    }
    return result;
}
 
源代码9 项目: lams   文件: RawValue.java
@Override
public void serializeWithType(JsonGenerator gen, SerializerProvider serializers,
        TypeSerializer typeSer) throws IOException
{
    if (_value instanceof JsonSerializable) {
        ((JsonSerializable) _value).serializeWithType(gen, serializers, typeSer);
    } else if (_value instanceof SerializableString) {
        /* Since these are not really to be deserialized (with or without type info),
         * just re-route as regular write, which will create one... hopefully it works
         */
        serialize(gen, serializers);
    }
}
 
源代码10 项目: lams   文件: RawValue.java
protected void _serialize(JsonGenerator gen) throws IOException
{
    if (_value instanceof SerializableString) {
        gen.writeRawValue((SerializableString) _value);
    } else {
        gen.writeRawValue(String.valueOf(_value));
    }
}
 
源代码11 项目: curiostack   文件: MessageMarshaller.java
@Override
@Nullable
public SerializableString getEscapeSequence(int ch) {
  switch (ch) {
    case '<':
      return HTML_ESCAPED_LESS_THAN;
    case '>':
      return HTML_ESCAPED_GREATER_THAN;
    default:
      return null;
  }
}
 
源代码12 项目: nexus-public   文件: SensitiveJsonGenerator.java
@Override
public void writeString(final SerializableString text) throws IOException {
  if (text != null && isSensitiveAttribute()) {
    super.writeString(passwordHelper.encrypt(text.getValue()));
  }
  else {
    super.writeString(text);
  }
}
 
源代码13 项目: webanno   文件: JSONUtil.java
@Override
public SerializableString getEscapeSequence(int aCh)
{
    switch (aCh) {
    case '\u2028':
        return new SerializedString("\\u2028");
    case '\u2029':
        return new SerializedString("\\u2029");
    default:
        return null;
    }
}
 
源代码14 项目: jackson-jr   文件: ObjectComposer.java
public ArrayComposer<ObjectComposer<PARENT>> startArrayField(SerializableString fieldName)
    throws IOException, JsonProcessingException
{
    _closeChild();
    _generator.writeFieldName(fieldName);
    return _startArray(this, _generator);
}
 
源代码15 项目: jackson-jr   文件: ObjectComposer.java
public ObjectComposer<ObjectComposer<PARENT>> startObjectField(SerializableString fieldName)
    throws IOException, JsonProcessingException
{
    _closeChild();
    _generator.writeFieldName(fieldName);
    return _startObject(this, _generator);
}
 
源代码16 项目: Bats   文件: DescribeSchemaHandler.java
@Override
public SerializableString getEscapeSequence(int i) {
  // no further escaping (beyond ASCII chars) needed
  return null;
}
 
源代码17 项目: lams   文件: BeanPropertyWriter.java
public SerializableString getSerializedName() {
    return _name;
}
 
源代码18 项目: lams   文件: EnumValues.java
private EnumValues(Class<Enum<?>> enumClass, SerializableString[] textual)
{
    _enumClass = enumClass;
    _values = enumClass.getEnumConstants();
    _textual = textual;
}
 
源代码19 项目: lams   文件: EnumValues.java
public SerializableString serializedValueFor(Enum<?> key) {
    return _textual[key.ordinal()];
}
 
源代码20 项目: lams   文件: EnumValues.java
public Collection<SerializableString> values() {
    return Arrays.asList(_textual);
}
 
源代码21 项目: lams   文件: RawValue.java
public RawValue(SerializableString v) {
    _value = v;
}
 
源代码22 项目: etf-webapp   文件: ObjectMapperFactory.java
@Override
public SerializableString getEscapeSequence(int ch) {
    return new SerializedString("\\u" + String.format("%04x", ch));
}
 
源代码23 项目: nexus-public   文件: JsonParserDecorator.java
@Override
public boolean nextFieldName(final SerializableString str) throws IOException {
  return jsonParser.nextFieldName(str);
}
 
源代码24 项目: ojai   文件: DocumentGenerator.java
@Override
public void writeFieldName(SerializableString fieldName)
    throws IOException {
  currFieldName = fieldName.getValue();
}
 
源代码25 项目: ojai   文件: DocumentGenerator.java
@Override
public void writeString(SerializableString value) throws IOException {
  writeString(value.getValue());
}
 
源代码26 项目: agrest   文件: JacksonService.java
public JacksonService() {

		// fun Jackson API with circular dependencies ... so we create a mapper
		// first, and grab implicitly created factory from it
		this.sharedMapper = new ObjectMapper();
		this.sharedFactory = sharedMapper.getFactory();

		final SerializableString LINE_SEPARATOR = new SerializedString("\\u2028");
		final SerializableString PARAGRAPH_SEPARATOR = new SerializedString("\\u2029");

		this.sharedFactory.setCharacterEscapes(new CharacterEscapes() {

			private static final long serialVersionUID = 3995801066651016289L;

			@Override
			public int[] getEscapeCodesForAscii() {
				return standardAsciiEscapesForJSON();
			}

			@Override
			public SerializableString getEscapeSequence(int ch) {
				// see ECMA-262 Section 7.3;
				// in most cases our client is browser,
				// and JSON is parsed into JS;
				// therefore these two whitespace characters,
				// which are perfectly valid in JSON but invalid in JS strings,
				// need to be escaped...
				switch (ch) {
				case '\u2028':
					return LINE_SEPARATOR;
				case '\u2029':
					return PARAGRAPH_SEPARATOR;
				default:
					return null;
				}
			}
		});

		// make sure mapper does not attempt closing streams it does not
		// manage... why is this even a default in jackson?
		sharedFactory.disable(Feature.AUTO_CLOSE_TARGET);

		// do not flush every time. why would we want to do that?
		// this is having a HUGE impact on extrest serializers (5x speedup)
		sharedMapper.disable(SerializationFeature.FLUSH_AFTER_WRITE_VALUE);
	}
 
@Override
public void writeString(SerializableString value) throws IOException {
  if (itemFilter != null) {
    delegate.writeString(value);
  }
}
 
@Override
public void writeRaw(SerializableString text) throws IOException {
  if (itemFilter != null) {
    delegate.writeRaw(text);
  }
}
 
源代码29 项目: jackson-jr   文件: MapComposer.java
public CollectionComposer<MapComposer<PARENT>,?> startArrayField(SerializableString fieldName) {
    return startArrayField(fieldName.getValue());
}
 
源代码30 项目: jackson-jr   文件: MapComposer.java
public MapComposer<MapComposer<PARENT>> startObjectField(SerializableString fieldName) {
    return startObjectField(fieldName.getValue());
}
 
 类方法
 同包方法