类com.fasterxml.jackson.databind.ser.std.StdScalarSerializer源码实例Demo

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

源代码1 项目: caravan   文件: EnumCustomizationFactory.java
@Override
public JsonSerializer createSerializer() {
  return new StdScalarSerializer<Enum>(Enum.class) {
    @Override
    public void serialize(Enum value, JsonGenerator gen, SerializerProvider provider) throws IOException {
      ProtobufGenerator pgen = (ProtobufGenerator) gen;

      switch (protobufConfig.getEnumMode()) {
        case ByOrdinal:
          // plus 1 to match .net
          pgen.writeNumber(value.ordinal() + 1);
          break;
        case ByValue:
          pgen.writeNumber(fetchValueOfEnum(value));
          break;
      }
    }
  };
}
 
源代码2 项目: halyard   文件: DecryptingObjectMapper.java
protected StdScalarSerializer<Object> getSecretSerializer() {
  return new StdScalarSerializer<Object>(String.class, false) {
    @Override
    public void serialize(Object value, JsonGenerator gen, SerializerProvider provider)
        throws IOException {
      if (value != null) {
        String sValue = value.toString();
        if (EncryptedSecret.isEncryptedSecret(sValue)) {
          gen.writeString(secretSessionManager.decrypt(sValue));
        } else {
          gen.writeString(sValue);
        }
      }
    }
  };
}
 
源代码3 项目: halyard   文件: DecryptingObjectMapper.java
protected StdScalarSerializer<Object> getSecretFileSerializer(
    BeanPropertyWriter beanPropertyWriter, SecretFile annotation, boolean shouldDecrypt) {
  return new StdScalarSerializer<Object>(String.class, false) {
    @Override
    public void serialize(Object value, JsonGenerator gen, SerializerProvider provider)
        throws IOException {
      if (value != null) {
        String sValue = value.toString();
        if (!EncryptedSecret.isEncryptedSecret(sValue) && !isURL(sValue)) {
          // metadataUrl is either a URL or a filepath, so only add prefix if it's a path
          sValue = annotation.prefix() + sValue;
        }
        if (EncryptedSecret.isEncryptedSecret(sValue) && shouldDecrypt) {
          // Decrypt the content of the file and store on the profile under a random
          // generated file name
          String name = newRandomFilePath(beanPropertyWriter.getName());
          byte[] bytes = secretSessionManager.decryptAsBytes(sValue);
          profile.getDecryptedFiles().put(name, bytes);
          sValue = annotation.prefix() + getCompleteFilePath(name);
        }
        gen.writeString(sValue);
      }
    }
  };
}
 
源代码4 项目: caravan   文件: BigIntegerCustomizationFactory.java
@Override
public JsonSerializer<BigInteger> createSerializer() {
  return new StdScalarSerializer<BigInteger>(BigInteger.class) {
    @Override
    public void serialize(BigInteger value, JsonGenerator gen, SerializerProvider provider) throws IOException {
      ProtobufGenerator pgen = (ProtobufGenerator) gen;

      // Just write. If value is bigger than Long.MAX_VALUE then the sign bit will match ulong.
      pgen.writeNumber(value.longValue());
    }
  };
}
 
源代码5 项目: caravan   文件: DurationCustomizationFactory.java
@Override
public JsonSerializer<Duration> createSerializer() {
  return new StdScalarSerializer<Duration>(Duration.class) {

    @Override
    public void serialize(Duration value, JsonGenerator gen, SerializerProvider provider) throws IOException {
      // TODO .net TimeSpan to string logic is not clear yet
      gen.writeString("1");
    }
  };
}
 
源代码6 项目: caravan   文件: ShortCustomizationFactory.java
@Override
public JsonSerializer<Short> createSerializer() {
  return new StdScalarSerializer<Short>(Short.class) {

    @Override
    public void serialize(Short value, JsonGenerator gen, SerializerProvider provider) throws IOException {
      ProtobufGenerator pgen = (ProtobufGenerator) gen;
      pgen.writeNumber((int) value);
    }
  };
}
 
源代码7 项目: caravan   文件: ByteCustomizationFactory.java
@Override
public JsonSerializer<Byte> createSerializer() {
  return new StdScalarSerializer<Byte>(Byte.class) {

    @Override
    public void serialize(Byte value, JsonGenerator gen, SerializerProvider provider) throws IOException {
      ProtobufGenerator pgen = (ProtobufGenerator) gen;
      pgen.writeNumber((int) value);
    }
  };
}
 
源代码8 项目: caravan   文件: BooleanCustomizationFactory.java
@Override
public JsonSerializer<Boolean> createSerializer() {
  return new StdScalarSerializer<Boolean>(Boolean.class) {

    @Override
    public void serialize(Boolean value, JsonGenerator gen, SerializerProvider provider) throws IOException {
      ProtobufGenerator pgen = (ProtobufGenerator) gen;
      pgen.writeNumber(value ? 1 : 0);
    }
  };
}
 
源代码9 项目: caravan   文件: CharacterCustomizationFactory.java
@SuppressWarnings("serial")
@Override
public JsonSerializer<Character> createSerializer() {
  return new StdScalarSerializer<Character>(Character.class) {
    @Override
    public void serialize(Character value, JsonGenerator gen, SerializerProvider provider) throws IOException {
      ProtobufGenerator pgen = (ProtobufGenerator) gen;
      pgen.writeNumber(value);
    }
  };
}
 
private static ObjectMapper createObjectMapper() {
    final ObjectMapper mapper = new ObjectMapper();
    mapper.configure(SerializationFeature.FAIL_ON_EMPTY_BEANS, false);
    final SimpleModule mod = new SimpleModule("form module");
    mod.addSerializer(Form.class, new StdScalarSerializer<Form>(Form.class){
        @Override
        public void serialize(final Form value, final JsonGenerator gen, final SerializerProvider provider) throws IOException {
            gen.writeObject(value.data());
        }
    });
    mapper.registerModule(mod);
    return mapper;
}
 
 同包方法