Java 类com.fasterxml.jackson.databind.ser.BeanPropertyWriter 实例源码

项目:backstopper    文件:JsonUtilWithDefaultErrorContractDTOSupportTest.java   
@Test
public void MetadataPropertyWriter_serializeAsField_still_works_for_non_Error_objects() throws Exception {
    // given
    final MetadataPropertyWriter mpw = new MetadataPropertyWriter(mock(BeanPropertyWriter.class));

    // when
    Throwable ex = catchThrowable(new ThrowableAssert.ThrowingCallable() {
        @Override
        public void call() throws Throwable {
            mpw.serializeAsField(new Object(), mock(JsonGenerator.class), mock(SerializerProvider.class));
        }
    });

    // then
    // We expect a NPE because mocking a base BeanPropertyWriter is incredibly difficult and not worth the effort.
    assertThat(ex).isInstanceOf(NullPointerException.class);
}
项目:backstopper    文件:JsonUtilWithDefaultErrorContractDTOSupportTest.java   
@Test
public void SmartErrorCodePropertyWriter_serializeAsField_still_works_for_non_Error_objects() throws Exception {
    // given
    final SmartErrorCodePropertyWriter secpw = new SmartErrorCodePropertyWriter(mock(BeanPropertyWriter.class));

    // when
    Throwable ex = catchThrowable(new ThrowableAssert.ThrowingCallable() {
        @Override
        public void call() throws Throwable {
            secpw.serializeAsField(new Object(), mock(JsonGenerator.class), mock(SerializerProvider.class));
        }
    });

    // then
    // We expect a NPE because mocking a base BeanPropertyWriter is incredibly difficult and not worth the effort.
    assertThat(ex).isInstanceOf(NullPointerException.class);
}
项目:jddd    文件:SimpleValueObjectSerializerModifier.java   
@Override
public BeanSerializerBuilder updateBuilder(SerializationConfig config, BeanDescription beanDesc,
        BeanSerializerBuilder builder) {

    for (BeanPropertyWriter writer : builder.getProperties()) {

        JavaType propertyType = writer.getMember().getType();
        Class<?> type = propertyType.getRawClass();
        List<BeanPropertyDefinition> properties = getProperties(propertyType, config);

        Optional.ofNullable(AnnotationUtils.findAnnotation(type, ValueObject.class))//
                .filter(it -> properties.size() == 1)//
                .flatMap(it -> properties.stream().findFirst())//
                .ifPresent(it -> writer.assignSerializer(new PropertyAccessingSerializer(it)));
    }

    return builder;
}
项目:bowman    文件:JacksonClientModule.java   
public JacksonClientModule() {
    setSerializerModifier(new BeanSerializerModifier() {

        @Override
        public List<BeanPropertyWriter> changeProperties(SerializationConfig config, BeanDescription beanDesc,
                List<BeanPropertyWriter> beanProperties) {

            for (BeanPropertyWriter writer : beanProperties) {
                if (writer.getAnnotation(LinkedResource.class) != null) {
                    writer.assignSerializer(new LinkedResourceUriSerializer());
                }
            }

            return beanProperties;
        }
    });

    setMixInAnnotation(Resource.class, ResourceMixin.class);
}
项目:aem-core-wcm-components    文件:DefaultMethodSkippingModuleProvider.java   
public DefaultMethodSkippingModuleProvider() {
    module = new SimpleModule();
    module.setSerializerModifier(new BeanSerializerModifier() {
        @Override
        public List<BeanPropertyWriter> changeProperties(SerializationConfig config, BeanDescription beanDesc, List<BeanPropertyWriter> beanProperties) {

            return super.changeProperties(config, beanDesc, beanProperties.stream().filter(bpw -> {
                final AnnotatedMember jacksonMember = bpw.getMember();
                final Member member = jacksonMember.getMember();
                if (member instanceof Method) {
                    final Method method = (Method) member;
                    if (method.isDefault()) {
                        // only exclude default methods if they are defined on interfaces from the core components
                        return !method.getDeclaringClass().getName().startsWith(PACKAGE_CORE_COMPONENTS);
                    }
                }
                return true;
            }).collect(Collectors.toList()));
        }
    });
}
项目:logback-steno    文件:RedactionFilter.java   
/**
 * {@inheritDoc}
 *
 * @deprecated Provided for compatibility with deprecated method in Jackson.
 */
@Override
@Deprecated
public void serializeAsField(
        final Object pojo,
        final JsonGenerator jgen,
        final SerializerProvider prov,
        final BeanPropertyWriter writer) throws Exception {
    if (writer.getAnnotation(LogRedact.class) == null) {
        super.serializeAsField(pojo, jgen, prov, writer);
    } else { // since 2.3
        if (_allowNull && writer.get(pojo) == null) {
            super.serializeAsField(pojo, jgen, prov, writer);
        } else {
            jgen.writeStringField(writer.getSerializedName().getValue(), REDACTION_STRING);
        }
    }
}
项目:logback-steno    文件:RedactionFilter.java   
@Override
public void serializeAsField(
        final Object pojo,
        final JsonGenerator jgen,
        final SerializerProvider prov,
        final PropertyWriter writer) throws Exception {
    if (writer instanceof BeanPropertyWriter) {
        final BeanPropertyWriter beanPropertyWriter = (BeanPropertyWriter) writer;
        if (beanPropertyWriter.getAnnotation(LogRedact.class) == null) {
            super.serializeAsField(pojo, jgen, prov, writer);
        } else {
            if (_allowNull && beanPropertyWriter.get(pojo) == null) {
                super.serializeAsField(pojo, jgen, prov, writer);
            } else {
                jgen.writeStringField(beanPropertyWriter.getSerializedName().getValue(), REDACTION_STRING);
            }
        }
    } else {
        super.serializeAsField(pojo, jgen, prov, writer);
    }
}
项目:vethrfolnir-mu    文件:GenData.java   
@Override
public void serializeAsField(Object bean, JsonGenerator jgen, SerializerProvider provider, BeanPropertyWriter writer) throws Exception {
    if (include(writer)) {
        Field[] fields = bean.getClass().getDeclaredFields();
        for (int i = 0; i < fields.length; i++) {
            Field field = fields[i];

            if(field.getType() == Integer.TYPE) {
                int value = (int) field.get(bean);
                if(value <= 0) {
                    writer.serializeAsField(bean, jgen, provider);
                }
                else
                    super.serializeAsField(bean, jgen, provider, writer);
            }
            else {

            }
        }
    }
  }
项目:SensorThingsServer    文件:EntitySerializer.java   
protected void serializeFieldTyped(
        Entity entity,
        JsonGenerator gen,
        SerializerProvider serializers,
        BeanDescription beanDescription,
        BeanPropertyDefinition beanPropertyDefinition,
        TypeSerializer typeSerializer) throws Exception {
    try {
        if (typeSerializer == null) {
            typeSerializer = serializers.findTypeSerializer(serializers.constructType(beanPropertyDefinition.getAccessor().getRawType()));
        }
        if (typeSerializer == null) {
            // if not static type if available use dynamic type if available
            Object propertyValue = beanPropertyDefinition.getAccessor().getValue(entity);
            if (propertyValue != null) {
                typeSerializer = serializers.findTypeSerializer(serializers.constructType(propertyValue.getClass()));
            }
        }

        BeanPropertyWriter bpw = new BeanPropertyWriter(
                beanPropertyDefinition,
                beanPropertyDefinition.getAccessor(),
                beanDescription.getClassAnnotations(),
                beanPropertyDefinition.getAccessor().getType(),
                null, // will be searched automatically
                typeSerializer, // will not be searched automatically
                beanPropertyDefinition.getAccessor().getType(),
                suppressNulls(serializers.getConfig().getDefaultPropertyInclusion()),
                suppressableValue(serializers.getConfig().getDefaultPropertyInclusion()));
        bpw.serializeAsField(entity, gen, serializers);
    } catch (JsonMappingException ex) {
        Logger.getLogger(EntitySerializer.class.getName()).log(Level.SEVERE, null, ex);
    }
}
项目:QD    文件:DataMessageSerializer.java   
@Override
public void serialize(DataMessage value, JsonGenerator jgen, SerializerProvider provider)
    throws IOException
{
    Class<?> eventType = value.getEventType();
    EventBeanSerializer serializer = (EventBeanSerializer)findSerializer(eventType, provider, true);
    BeanPropertyWriter[] props = serializer.getProps();

    jgen.writeStartArray();
    if (value.isSendScheme())
        serializeScheme(eventType, jgen, props);
    else
        jgen.writeString(eventType.getSimpleName());
    jgen.writeStartArray();
    for (EventType<?> event : value.getEvents())
        for (BeanPropertyWriter prop : props)
            if (EVENT_SYMBOL.equals(prop.getName()))
                jgen.writeString(value.getSymbolMap().get(event.getEventSymbol()));
            else {
                Object propValue;
                try {
                    propValue = prop.get(event); // access property via reflection
                } catch (Exception e) {
                    throw new RuntimeException(e);
                }
                serializeValue(propValue, jgen, provider);
            }
    jgen.writeEndArray();
    jgen.writeEndArray();
}
项目:QD    文件:DataMessageSerializer.java   
private void serializeScheme(Class<?> eventType, JsonGenerator jgen, BeanPropertyWriter[] props)
    throws IOException
{
    jgen.writeStartArray();
    jgen.writeString(eventType.getSimpleName());
    jgen.writeStartArray();
    for (BeanPropertyWriter prop : props)
        jgen.writeString(prop.getName());
    jgen.writeEndArray();
    jgen.writeEndArray();
}
项目:backstopper    文件:JsonUtilWithDefaultErrorContractDTOSupport.java   
protected BeanPropertyWriter findPropWriter(List<BeanPropertyWriter> propWriters, String desiredFieldName) {
    for (BeanPropertyWriter propWriter : propWriters) {
        if (desiredFieldName.equals(propWriter.getName())) {
            return propWriter;
        }
    }

    return null;
}
项目:backstopper    文件:JsonUtilWithDefaultErrorContractDTOSupportTest.java   
@Test
public void ErrorContractSerializationFactory_findPropWriter_returns_null_if_it_cannot_find_() {
    // given
    ErrorContractSerializationFactory impl = new ErrorContractSerializationFactory(null, true, true);

    // when
    BeanPropertyWriter result = impl.findPropWriter(Collections.<BeanPropertyWriter>emptyList(), UUID.randomUUID().toString());

    // then
    assertThat(result).isNull();
}
项目:katharsis-framework    文件:KatharsisFieldPropertyFilter.java   
@Override
public void serializeAsField(Object bean, JsonGenerator jgen, SerializerProvider provider, BeanPropertyWriter writer)
    throws Exception {
    if (include(bean, writer)) {
        super.serializeAsField(bean, jgen, provider, writer);
    }
}
项目:https-github.com-g0t4-jenkins2-course-spring-boot    文件:ConfigurationPropertiesReportEndpoint.java   
@Override
public List<BeanPropertyWriter> changeProperties(SerializationConfig config,
        BeanDescription beanDesc, List<BeanPropertyWriter> beanProperties) {
    List<BeanPropertyWriter> result = new ArrayList<BeanPropertyWriter>();
    for (BeanPropertyWriter writer : beanProperties) {
        boolean readable = isReadable(beanDesc, writer);
        if (readable) {
            result.add(writer);
        }
    }
    return result;
}
项目:https-github.com-g0t4-jenkins2-course-spring-boot    文件:ConfigurationPropertiesReportEndpoint.java   
private boolean isReadable(BeanDescription beanDesc, BeanPropertyWriter writer) {
    Class<?> parentType = beanDesc.getType().getRawClass();
    Class<?> type = writer.getType().getRawClass();
    AnnotatedMethod setter = findSetter(beanDesc, writer);
    // If there's a setter, we assume it's OK to report on the value,
    // similarly, if there's no setter but the package names match, we assume
    // that its a nested class used solely for binding to config props, so it
    // should be kosher. This filter is not used if there is JSON metadata for
    // the property, so it's mainly for user-defined beans.
    return (setter != null) || ClassUtils.getPackageName(parentType)
            .equals(ClassUtils.getPackageName(type));
}
项目:https-github.com-g0t4-jenkins2-course-spring-boot    文件:ConfigurationPropertiesReportEndpoint.java   
private AnnotatedMethod findSetter(BeanDescription beanDesc,
        BeanPropertyWriter writer) {
    String name = "set" + StringUtils.capitalize(writer.getName());
    Class<?> type = writer.getType().getRawClass();
    AnnotatedMethod setter = beanDesc.findMethod(name, new Class<?>[] { type });
    // The enabled property of endpoints returns a boolean primitive but is set
    // using a Boolean class
    if (setter == null && type.equals(Boolean.TYPE)) {
        setter = beanDesc.findMethod(name, new Class<?>[] { Boolean.class });
    }
    return setter;
}
项目:https-github.com-g0t4-jenkins2-course-spring-boot    文件:DataSourceJsonSerializationTests.java   
@Override
public List<BeanPropertyWriter> changeProperties(SerializationConfig config,
        BeanDescription beanDesc, List<BeanPropertyWriter> beanProperties) {
    List<BeanPropertyWriter> result = new ArrayList<BeanPropertyWriter>();
    for (BeanPropertyWriter writer : beanProperties) {
        AnnotatedMethod setter = beanDesc.findMethod(
                "set" + StringUtils.capitalize(writer.getName()),
                new Class<?>[] { writer.getType().getRawClass() });
        if (setter != null && this.conversionService.canConvert(String.class,
                writer.getType().getRawClass())) {
            result.add(writer);
        }
    }
    return result;
}
项目:spring-boot-concourse    文件:ConfigurationPropertiesReportEndpoint.java   
@Override
public List<BeanPropertyWriter> changeProperties(SerializationConfig config,
        BeanDescription beanDesc, List<BeanPropertyWriter> beanProperties) {
    List<BeanPropertyWriter> result = new ArrayList<BeanPropertyWriter>();
    for (BeanPropertyWriter writer : beanProperties) {
        boolean readable = isReadable(beanDesc, writer);
        if (readable) {
            result.add(writer);
        }
    }
    return result;
}
项目:spring-boot-concourse    文件:ConfigurationPropertiesReportEndpoint.java   
private boolean isReadable(BeanDescription beanDesc, BeanPropertyWriter writer) {
    String parentType = beanDesc.getType().getRawClass().getName();
    String type = writer.getType().getTypeName();
    AnnotatedMethod setter = findSetter(beanDesc, writer);
    // If there's a setter, we assume it's OK to report on the value,
    // similarly, if there's no setter but the package names match, we assume
    // that its a nested class used solely for binding to config props, so it
    // should be kosher. This filter is not used if there is JSON metadata for
    // the property, so it's mainly for user-defined beans.
    return (setter != null) || ClassUtils.getPackageName(parentType)
            .equals(ClassUtils.getPackageName(type));
}
项目:spring-boot-concourse    文件:ConfigurationPropertiesReportEndpoint.java   
private AnnotatedMethod findSetter(BeanDescription beanDesc,
        BeanPropertyWriter writer) {
    String name = "set" + StringUtils.capitalize(writer.getName());
    Class<?> type = writer.getType().getRawClass();
    AnnotatedMethod setter = beanDesc.findMethod(name, new Class<?>[] { type });
    // The enabled property of endpoints returns a boolean primitive but is set
    // using a Boolean class
    if (setter == null && type.equals(Boolean.TYPE)) {
        setter = beanDesc.findMethod(name, new Class<?>[] { Boolean.class });
    }
    return setter;
}
项目:spring-boot-concourse    文件:DataSourceJsonSerializationTests.java   
@Override
public List<BeanPropertyWriter> changeProperties(SerializationConfig config,
        BeanDescription beanDesc, List<BeanPropertyWriter> beanProperties) {
    List<BeanPropertyWriter> result = new ArrayList<BeanPropertyWriter>();
    for (BeanPropertyWriter writer : beanProperties) {
        AnnotatedMethod setter = beanDesc.findMethod(
                "set" + StringUtils.capitalize(writer.getName()),
                new Class<?>[] { writer.getType().getRawClass() });
        if (setter != null && this.conversionService.canConvert(String.class,
                writer.getType().getRawClass())) {
            result.add(writer);
        }
    }
    return result;
}
项目:contestparser    文件:ConfigurationPropertiesReportEndpoint.java   
@Override
public List<BeanPropertyWriter> changeProperties(SerializationConfig config,
        BeanDescription beanDesc, List<BeanPropertyWriter> beanProperties) {
    List<BeanPropertyWriter> result = new ArrayList<BeanPropertyWriter>();
    for (BeanPropertyWriter writer : beanProperties) {
        boolean readable = isReadable(beanDesc, writer);
        if (readable) {
            result.add(writer);
        }
    }
    return result;
}
项目:contestparser    文件:ConfigurationPropertiesReportEndpoint.java   
private boolean isReadable(BeanDescription beanDesc, BeanPropertyWriter writer) {
    String parentType = beanDesc.getType().getRawClass().getName();
    String type = writer.getPropertyType().getName();
    AnnotatedMethod setter = findSetter(beanDesc, writer);
    // If there's a setter, we assume it's OK to report on the value,
    // similarly, if there's no setter but the package names match, we assume
    // that its a nested class used solely for binding to config props, so it
    // should be kosher. This filter is not used if there is JSON metadata for
    // the property, so it's mainly for user-defined beans.
    return (setter != null) || ClassUtils.getPackageName(parentType)
            .equals(ClassUtils.getPackageName(type));
}
项目:contestparser    文件:ConfigurationPropertiesReportEndpoint.java   
private AnnotatedMethod findSetter(BeanDescription beanDesc,
        BeanPropertyWriter writer) {
    String name = "set" + StringUtils.capitalize(writer.getName());
    Class<?> type = writer.getPropertyType();
    AnnotatedMethod setter = beanDesc.findMethod(name, new Class<?>[] { type });
    // The enabled property of endpoints returns a boolean primitive but is set
    // using a Boolean class
    if (setter == null && type.equals(Boolean.TYPE)) {
        setter = beanDesc.findMethod(name, new Class<?>[] { Boolean.class });
    }
    return setter;
}
项目:contestparser    文件:DataSourceJsonSerializationTests.java   
@Override
public List<BeanPropertyWriter> changeProperties(SerializationConfig config,
        BeanDescription beanDesc, List<BeanPropertyWriter> beanProperties) {
    List<BeanPropertyWriter> result = new ArrayList<BeanPropertyWriter>();
    for (BeanPropertyWriter writer : beanProperties) {
        AnnotatedMethod setter = beanDesc.findMethod(
                "set" + StringUtils.capitalize(writer.getName()),
                new Class<?>[] { writer.getPropertyType() });
        if (setter != null && this.conversionService.canConvert(String.class,
                writer.getPropertyType())) {
            result.add(writer);
        }
    }
    return result;
}
项目:QuizUpWinner    文件:BeanSerializerBase.java   
public BeanSerializerBase(JavaType paramJavaType, BeanSerializerBuilder paramBeanSerializerBuilder, BeanPropertyWriter[] paramArrayOfBeanPropertyWriter1, BeanPropertyWriter[] paramArrayOfBeanPropertyWriter2)
{
  super(paramJavaType);
  this._props = paramArrayOfBeanPropertyWriter1;
  this._filteredProps = paramArrayOfBeanPropertyWriter2;
  BeanSerializerBase localBeanSerializerBase;
  JsonFormat.Shape localShape;
  if (paramBeanSerializerBuilder == null)
  {
    this._typeId = null;
    this._anyGetterWriter = null;
    this._propertyFilterId = null;
    this._objectIdWriter = null;
    localBeanSerializerBase = this;
    localShape = null;
  }
  else
  {
    this._typeId = paramBeanSerializerBuilder.getTypeId();
    this._anyGetterWriter = paramBeanSerializerBuilder.getAnyGetter();
    this._propertyFilterId = paramBeanSerializerBuilder.getFilterId();
    this._objectIdWriter = paramBeanSerializerBuilder.getObjectIdWriter();
    JsonFormat.Value localValue = paramBeanSerializerBuilder.getBeanDescription().findExpectedFormat(null);
    localBeanSerializerBase = this;
    if (localValue == null)
      localShape = null;
    else
      localShape = localValue.getShape();
  }
  localBeanSerializerBase._serializationShape = localShape;
}
项目:QuizUpWinner    文件:BeanSerializerBase.java   
public BeanSerializerBase(BeanSerializerBase paramBeanSerializerBase, BeanPropertyWriter[] paramArrayOfBeanPropertyWriter1, BeanPropertyWriter[] paramArrayOfBeanPropertyWriter2)
{
  super(paramBeanSerializerBase._handledType);
  this._props = paramArrayOfBeanPropertyWriter1;
  this._filteredProps = paramArrayOfBeanPropertyWriter2;
  this._typeId = paramBeanSerializerBase._typeId;
  this._anyGetterWriter = paramBeanSerializerBase._anyGetterWriter;
  this._objectIdWriter = paramBeanSerializerBase._objectIdWriter;
  this._propertyFilterId = paramBeanSerializerBase._propertyFilterId;
  this._serializationShape = paramBeanSerializerBase._serializationShape;
}
项目:QuizUpWinner    文件:BeanSerializerBase.java   
public BeanSerializerBase(BeanSerializerBase paramBeanSerializerBase, String[] paramArrayOfString)
{
  super(paramBeanSerializerBase._handledType);
  HashSet localHashSet = ArrayBuilders.arrayToSet(paramArrayOfString);
  BeanPropertyWriter[] arrayOfBeanPropertyWriter1 = paramBeanSerializerBase._props;
  BeanPropertyWriter[] arrayOfBeanPropertyWriter2 = paramBeanSerializerBase._filteredProps;
  int i = arrayOfBeanPropertyWriter1.length;
  ArrayList localArrayList1 = new ArrayList(i);
  ArrayList localArrayList2;
  if (arrayOfBeanPropertyWriter2 == null)
    localArrayList2 = null;
  else
    localArrayList2 = new ArrayList(i);
  for (int j = 0; j < i; j++)
  {
    BeanPropertyWriter localBeanPropertyWriter = arrayOfBeanPropertyWriter1[j];
    if (!localHashSet.contains(localBeanPropertyWriter.getName()))
    {
      localArrayList1.add(localBeanPropertyWriter);
      if (arrayOfBeanPropertyWriter2 != null)
        localArrayList2.add(arrayOfBeanPropertyWriter2[j]);
    }
  }
  this._props = ((BeanPropertyWriter[])localArrayList1.toArray(new BeanPropertyWriter[localArrayList1.size()]));
  BeanPropertyWriter[] arrayOfBeanPropertyWriter3;
  if (localArrayList2 == null)
    arrayOfBeanPropertyWriter3 = null;
  else
    arrayOfBeanPropertyWriter3 = (BeanPropertyWriter[])localArrayList2.toArray(new BeanPropertyWriter[localArrayList2.size()]);
  this._filteredProps = arrayOfBeanPropertyWriter3;
  this._typeId = paramBeanSerializerBase._typeId;
  this._anyGetterWriter = paramBeanSerializerBase._anyGetterWriter;
  this._objectIdWriter = paramBeanSerializerBase._objectIdWriter;
  this._propertyFilterId = paramBeanSerializerBase._propertyFilterId;
  this._serializationShape = paramBeanSerializerBase._serializationShape;
}
项目:QuizUpWinner    文件:BeanSerializerBase.java   
private static final BeanPropertyWriter[] rename(BeanPropertyWriter[] paramArrayOfBeanPropertyWriter, NameTransformer paramNameTransformer)
{
  if ((paramArrayOfBeanPropertyWriter == null) || (paramArrayOfBeanPropertyWriter.length == 0) || (paramNameTransformer == null) || (paramNameTransformer == NameTransformer.NOP))
    return paramArrayOfBeanPropertyWriter;
  int i = paramArrayOfBeanPropertyWriter.length;
  BeanPropertyWriter[] arrayOfBeanPropertyWriter = new BeanPropertyWriter[i];
  for (int j = 0; j < i; j++)
  {
    BeanPropertyWriter localBeanPropertyWriter = paramArrayOfBeanPropertyWriter[j];
    if (localBeanPropertyWriter != null)
      arrayOfBeanPropertyWriter[j] = localBeanPropertyWriter.rename(paramNameTransformer);
  }
  return arrayOfBeanPropertyWriter;
}
项目:QuizUpWinner    文件:BeanSerializerBase.java   
protected JsonSerializer<Object> findConvertingSerializer(SerializerProvider paramSerializerProvider, BeanPropertyWriter paramBeanPropertyWriter)
{
  AnnotationIntrospector localAnnotationIntrospector = paramSerializerProvider.getAnnotationIntrospector();
  if (localAnnotationIntrospector != null)
  {
    Object localObject = localAnnotationIntrospector.findSerializationConverter(paramBeanPropertyWriter.getMember());
    if (localObject != null)
    {
      Converter localConverter = paramSerializerProvider.converterInstance(paramBeanPropertyWriter.getMember(), localObject);
      JavaType localJavaType = localConverter.getOutputType(paramSerializerProvider.getTypeFactory());
      return new StdDelegatingSerializer(localConverter, localJavaType, paramSerializerProvider.findValueSerializer(localJavaType, paramBeanPropertyWriter));
    }
  }
  return null;
}
项目:QuizUpWinner    文件:BeanSerializerBase.java   
public JsonNode getSchema(SerializerProvider paramSerializerProvider, Type paramType)
{
  ObjectNode localObjectNode1 = createSchemaNode("object", true);
  JsonSerializableSchema localJsonSerializableSchema = (JsonSerializableSchema)this._handledType.getAnnotation(JsonSerializableSchema.class);
  if (localJsonSerializableSchema != null)
  {
    String str = localJsonSerializableSchema.id();
    if ((str != null) && (str.length() > 0))
      localObjectNode1.put("id", str);
  }
  ObjectNode localObjectNode2 = localObjectNode1.objectNode();
  BeanPropertyFilter localBeanPropertyFilter;
  if (this._propertyFilterId != null)
    localBeanPropertyFilter = findFilter(paramSerializerProvider);
  else
    localBeanPropertyFilter = null;
  for (int i = 0; i < this._props.length; i++)
  {
    BeanPropertyWriter localBeanPropertyWriter = this._props[i];
    if (localBeanPropertyFilter == null)
      localBeanPropertyWriter.depositSchemaProperty(localObjectNode2, paramSerializerProvider);
    else
      localBeanPropertyFilter.depositSchemaProperty(localBeanPropertyWriter, localObjectNode2, paramSerializerProvider);
  }
  localObjectNode1.put("properties", localObjectNode2);
  return localObjectNode1;
}
项目:QuizUpWinner    文件:BeanAsArraySerializer.java   
private boolean hasSingleElement(SerializerProvider paramSerializerProvider)
{
  BeanPropertyWriter[] arrayOfBeanPropertyWriter;
  if ((this._filteredProps != null) && (paramSerializerProvider.getActiveView() != null))
    arrayOfBeanPropertyWriter = this._filteredProps;
  else
    arrayOfBeanPropertyWriter = this._props;
  return arrayOfBeanPropertyWriter.length == 1;
}
项目:jackson-datatype-bolts    文件:BoltsBeanSerializerModifier.java   
@Override
public List<BeanPropertyWriter> changeProperties(SerializationConfig config, BeanDescription beanDesc,
        List<BeanPropertyWriter> beanProperties)
{
    for (int i = 0; i < beanProperties.size(); ++i) {
        final BeanPropertyWriter writer = beanProperties.get(i);
        if (Option.class.isAssignableFrom(writer.getPropertyType()))
            beanProperties.set(i, new OptionBeanPropertyWriter(writer));
    }

    return beanProperties;
}
项目:logback-steno    文件:StenoBeanSerializerModifier.java   
@Override
public List<BeanPropertyWriter> changeProperties(
        final SerializationConfig config,
        final BeanDescription beanDesc,
        final List<BeanPropertyWriter> beanProperties) {
    final List<BeanPropertyWriter> beanPropertyWriters = super.changeProperties(config, beanDesc, beanProperties);

    // Determine if the bean is annotated with @Loggable
    Boolean isLoggable = LOGGABLE_CLASSES.get(beanDesc.getBeanClass());
    if (isLoggable == null) {
        isLoggable = beanDesc.getBeanClass().getAnnotation(Loggable.class) != null;
        LOGGABLE_CLASSES.put(beanDesc.getBeanClass(), isLoggable);
    }

    // Non-loggable beans under safe encoding should not log properties
    final boolean clearProperties = !isLoggable && _stenoEncoder.isSafe();
    if (clearProperties) {
        beanProperties.clear();
    }

    // Beans with cleared properties or with bean identifier injection enabled should include identifiers
    if (clearProperties || _stenoEncoder.isInjectBeanIdentifier()) {
        beanPropertyWriters.add(0, new BeanIdentifierPropertyWriter(config));
        beanPropertyWriters.add(1, new BeanClassPropertyWriter(config));
    }

    return beanPropertyWriters;
}
项目:logback-steno    文件:RedactionFilterTest.java   
@Override
public Void answer(final InvocationOnMock invocation) throws Throwable {
    // CHECKSTYLE.ON: IllegalThrows
    if (invocation.getArguments()[3] instanceof BeanPropertyWriter) {
        _redactionFilter.serializeAsField(invocation.getArguments()[0], (JsonGenerator) invocation.getArguments()[1],
                (SerializerProvider) invocation.getArguments()[2], (BeanPropertyWriter) invocation.getArguments()[3]);
    } else {
        _redactionFilter.serializeAsField(invocation.getArguments()[0],
                (JsonGenerator) invocation.getArguments()[1],
                (SerializerProvider) invocation.getArguments()[2],
                (PropertyWriter) invocation.getArguments()[3]);
    }
    return null;
}
项目:spring-boot-admin    文件:RegistrationBeanSerializerModifier.java   
@Override
public List<BeanPropertyWriter> changeProperties(SerializationConfig config,
                                                 BeanDescription beanDesc,
                                                 List<BeanPropertyWriter> beanProperties) {
    if (!Registration.class.isAssignableFrom(beanDesc.getBeanClass())) {
        return beanProperties;
    }

    beanProperties.stream()
                  .filter(beanProperty -> "metadata".equals(beanProperty.getName()))
                  .forEach(beanProperty -> beanProperty.assignSerializer(metadataSerializer));
    return beanProperties;
}
项目:joyplus-tv    文件:SimpleBeanPropertyFilter.java   
public void serializeAsField(Object bean, JsonGenerator jgen,
        SerializerProvider provider, BeanPropertyWriter writer) throws Exception
{
    if (include(writer)) {
        writer.serializeAsField(bean, jgen, provider);
    }
}
项目:joyplus-tv    文件:SimpleBeanPropertyFilter.java   
public void depositSchemaProperty(BeanPropertyWriter writer,
        ObjectNode propertiesNode, SerializerProvider provider)
    throws JsonMappingException
{
    if (include(writer)) {
        writer.depositSchemaProperty(propertiesNode, provider);
    }
}
项目:joyplus-tv    文件:SimpleBeanPropertyFilter.java   
public void depositSchemaProperty(BeanPropertyWriter writer,
        JsonObjectFormatVisitor objectVisitor, SerializerProvider provider)
    throws JsonMappingException
{
    if (include(writer)) {
        writer.depositSchemaProperty(objectVisitor);
    }
}