
com.aerospike.mapper.tools.mappers.MapMapper Maven / Gradle / Ivy
package com.aerospike.mapper.tools.mappers;
import java.util.Map;
import java.util.TreeMap;
import com.aerospike.mapper.tools.*;
import com.aerospike.mapper.tools.DeferredObjectLoader.DeferredObject;
import com.aerospike.mapper.tools.DeferredObjectLoader.DeferredObjectSetter;
import com.aerospike.mapper.tools.DeferredObjectLoader.DeferredSetter;
import com.aerospike.mapper.tools.TypeUtils.AnnotatedType;
public class MapMapper extends TypeMapper {
@SuppressWarnings("unused")
private final Class> referencedClass;
@SuppressWarnings("unused")
private final Class> itemClass;
@SuppressWarnings("unused")
private final Class> keyClass;
private final IBaseAeroMapper mapper;
private final boolean supportedWithoutTranslation;
private final TypeMapper itemMapper;
private final TypeMapper keyMapper;
public MapMapper(final Class> clazz, final Class> keyClass, final Class> itemClass,
final TypeMapper keyMapper, final TypeMapper itemMapper, final IBaseAeroMapper mapper) {
this.referencedClass = clazz;
this.mapper = mapper;
this.keyMapper = keyMapper;
this.keyClass = keyClass;
this.itemMapper = itemMapper;
this.itemClass = itemClass;
this.supportedWithoutTranslation = TypeUtils.isAerospikeNativeType(itemClass) && TypeUtils.isAerospikeNativeType(keyClass);
}
@Override
public Object toAerospikeFormat(Object value) {
if (value == null) {
return null;
}
Map, ?> map = (Map, ?>)value;
if (map.size() == 0 || this.supportedWithoutTranslation) {
return value;
}
Map
© 2015 - 2025 Weber Informatics LLC | Privacy Policy