Example usage for org.springframework.data.solr.core.mapping SolrPersistentEntity isConstructorArgument

List of usage examples for org.springframework.data.solr.core.mapping SolrPersistentEntity isConstructorArgument

Introduction

In this page you can find the example usage for org.springframework.data.solr.core.mapping SolrPersistentEntity isConstructorArgument.

Prototype

boolean isConstructorArgument(PersistentProperty<?> property);

Source Link

Document

Returns whether the given PersistentProperty is referred to by a constructor argument of the PersistentEntity .

Usage

From source file:org.springframework.data.solr.core.convert.MappingSolrConverter.java

private <S extends Object> S read(final SolrPersistentEntity<S> entity, final Map<String, ?> source,
        Object parent) {//from   www  . j  av  a 2  s . co  m
    ParameterValueProvider<SolrPersistentProperty> parameterValueProvider = getParameterValueProvider(entity,
            source, parent);

    EntityInstantiator instantiator = instantiators.getInstantiatorFor(entity);
    final S instance = instantiator.createInstance(entity, parameterValueProvider);
    final PersistentPropertyAccessor accessor = new ConvertingPropertyAccessor(
            entity.getPropertyAccessor(instance), getConversionService());

    entity.doWithProperties(new PropertyHandler<SolrPersistentProperty>() {

        @Override
        public void doWithPersistentProperty(SolrPersistentProperty persistentProperty) {
            if (entity.isConstructorArgument(persistentProperty)) {
                return;
            }

            Object o = getValue(persistentProperty, source, instance);
            if (o != null) {
                accessor.setProperty(persistentProperty, o);
            }

        }
    });

    return instance;
}