
com.aerospike.mapper.tools.mappers.ArrayMapper Maven / Gradle / Ivy
package com.aerospike.mapper.tools.mappers;
import java.lang.reflect.Array;
import java.util.ArrayList;
import java.util.List;
import com.aerospike.mapper.tools.DeferredObjectLoader;
import com.aerospike.mapper.tools.TypeMapper;
import com.aerospike.mapper.tools.utils.TypeUtils;
import com.aerospike.mapper.tools.DeferredObjectLoader.DeferredObject;
import com.aerospike.mapper.tools.DeferredObjectLoader.DeferredObjectSetter;
import com.aerospike.mapper.tools.DeferredObjectLoader.DeferredSetter;
public class ArrayMapper extends TypeMapper {
private final Class> instanceClass;
private final boolean supportedWithoutTranslation;
private final TypeMapper instanceClassMapper;
private final Boolean allowBatch;
public ArrayMapper(final Class> instanceClass, final TypeMapper instanceClassMapper, final boolean allowBatch) {
this.instanceClass = instanceClass;
this.supportedWithoutTranslation = TypeUtils.isByteType(instanceClass);
this.instanceClassMapper = instanceClassMapper;
this.allowBatch = allowBatch;
}
@Override
public Object toAerospikeFormat(Object value) {
if (value == null) {
return null;
}
int length = Array.getLength(value);
if (this.supportedWithoutTranslation) {
return value;
}
List
© 2015 - 2025 Weber Informatics LLC | Privacy Policy