All Downloads are FREE. Search and download functionalities are using the official Maven repository.

org.simpleflatmapper.datastax.SettableDataMapperBuilder Maven / Gradle / Ivy

There is a newer version: 8.2.3
Show newest version
package org.simpleflatmapper.datastax;


import com.datastax.driver.core.BoundStatement;
import com.datastax.driver.core.SettableByIndexData;
import org.simpleflatmapper.map.MappingContext;
import org.simpleflatmapper.map.mapper.AbstractConstantTargetMapperBuilder;
import org.simpleflatmapper.map.MapperConfig;
import org.simpleflatmapper.map.property.FieldMapperColumnDefinition;
import org.simpleflatmapper.map.mapper.ConstantTargetFieldMapperFactory;
import org.simpleflatmapper.reflect.BiInstantiator;
import org.simpleflatmapper.reflect.Instantiator;
import org.simpleflatmapper.reflect.meta.ClassMeta;

public class SettableDataMapperBuilder extends AbstractConstantTargetMapperBuilder> {

    public SettableDataMapperBuilder(
            ClassMeta classMeta,
            MapperConfig mapperConfig,
            ConstantTargetFieldMapperFactory fieldMapperFactory) {
        super(classMeta, SettableByIndexData.class, mapperConfig, fieldMapperFactory);
    }

    @Override
    protected BiInstantiator, SettableByIndexData> getInstantiator() {
        return new NullInstantiator();
    }

    @Override
    protected DatastaxColumnKey newKey(String column, int i, FieldMapperColumnDefinition columnDefinition) {
        return new DatastaxColumnKey(column, i);
    }

    private static class NullInstantiator implements BiInstantiator, SettableByIndexData> {
        @Override
        public BoundStatement newInstance(T o, MappingContext< ? super T> context) throws Exception {
            throw new UnsupportedOperationException();
        }
    }

    protected int getStartingIndex() {
        return 0;
    }


}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy