dtKeyType = TypeHelper.toClass(keyValueTypeOfMap.getKeyType()); dtValueType = TypeHelper.toClass(keyValueTypeOfMap.getValueType()); if (TypeHelper.areEquals(keyValueTypeOfMap.getKeyType(), dtKeyType) && TypeHelper.areEquals(keyValueTypeOfMap.getValueType(), dtValueType)) { return new DatastaxMapGetter(key.getIndex(), TypeHelper.toClass(keyValueTypeOfMap.getKeyType()), TypeHelper.toClass(keyValueTypeOfMap.getValueType())); } else { ContextualConverter<?, ?> keyConverter = getConverter(keyValueTypeOfMap.getKeyType(), dtKeyType, dtKey); ContextualConverter<?, ?> valueConverter = getConverter(keyValueTypeOfMap.getValueType(), dtValueType, dtValue);
if (areSame(dtKeyType, keyValueTypeOfMap.getKeyType()) && areSame(dtValueType, keyValueTypeOfMap.getValueType())) { setter = new MapSettableDataSetter(arg.getColumnKey().getIndex()); } else { setter = new MapWithConverterSettableDataSetter(arg.getColumnKey().getIndex(), getConverter(keyValueTypeOfMap.getKeyType(), DataTypeHelper.asJavaClass(dtKeyType), dtKeyType, arg.getColumnDefinition(), contextFactoryBuilder), getConverter(keyValueTypeOfMap.getValueType(), DataTypeHelper.asJavaClass(dtValueType), dtValueType, arg.getColumnDefinition(), contextFactoryBuilder) );
public static MapEntryTypes getKeyValueTypeOfMap(Type outType) { Type[] parameterTypes = getGenericParameterForClass(outType, Map.class); if (parameterTypes != null) { return new MapEntryTypes(parameterTypes[0], parameterTypes[1]); } return MapEntryTypes.OBJECT_OBJECT; }
private <K, V> ClassMeta<Map<K,V>> newMapMeta(Type type) { TypeHelper.MapEntryTypes types = TypeHelper.getKeyValueTypeOfMap(type); return new MapClassMeta<Map<K, V>, K, V>(type, types.getKeyType(), types.getValueType(), this); } private <T, E> ClassMeta<T> newArrayMeta(Class<T> clazz) {
public static MapEntryTypes getKeyValueTypeOfMap(Type outType) { Type[] parameterTypes = getGenericParameterForClass(outType, Map.class); if (parameterTypes != null) { return new MapEntryTypes(parameterTypes[0], parameterTypes[1]); } return MapEntryTypes.OBJECT_OBJECT; }
private <K, V> ClassMeta<Map<K,V>> newMapMeta(Type type) { TypeHelper.MapEntryTypes types = TypeHelper.getKeyValueTypeOfMap(type); return new MapClassMeta<Map<K, V>, K, V>(type, types.getKeyType(), types.getValueType(), this); } private <T, E> ClassMeta<T> newArrayMeta(Class<T> clazz) {