private EntityValue convertOnWriteSingleEmbedded(Object val, String kindName) { return applyEntityValueBuilder(kindName, (builder) -> this.datastoreEntityConverter.write(val, builder)); }
public DefaultDatastoreEntityConverter(DatastoreMappingContext mappingContext, ObjectToKeyFactory objectToKeyFactory) { this(mappingContext, new TwoStepsConversions(new DatastoreCustomConversions(), objectToKeyFactory)); }
public DefaultDatastoreEntityConverter(DatastoreMappingContext mappingContext, ReadWriteConversions conversions) { this.mappingContext = mappingContext; this.conversions = conversions; conversions.registerEntityConverter(this); }
@Override @SuppressWarnings("unchecked") public Value convertOnWriteSingle(Object propertyVal) { Object result = propertyVal; if (result != null) { TypeTargets typeTargets = computeTypeTargets(result.getClass()); if (typeTargets.getFirstStepTarget() != null) { result = this.conversionService.convert(propertyVal, typeTargets.getFirstStepTarget()); } if (typeTargets.getSecondStepTarget() != null) { result = this.internalConversionService.convert(result, typeTargets.getSecondStepTarget()); } } return DatastoreNativeTypes.wrapValue(result); }
private TypeTargets computeTypeTargets(Class<?> firstStepSource) { Class<?> firstStepTarget = null; Class<?> secondStepTarget = null; if (!DatastoreNativeTypes.isNativeType(firstStepSource)) { Optional<Class<?>> simpleType = this.customConversions.getCustomWriteTarget(firstStepSource); if (simpleType.isPresent()) { firstStepTarget = simpleType.get(); } Class<?> effectiveFirstStepTarget = (firstStepTarget != null) ? firstStepTarget : firstStepSource; Optional<Class<?>> datastoreBasicType = getCustomWriteTarget(effectiveFirstStepTarget); if (datastoreBasicType.isPresent()) { secondStepTarget = datastoreBasicType.get(); } } return new TypeTargets(firstStepTarget, secondStepTarget); }
boolean isNonEntityReturnedType(Class returnedType) { return this.datastoreTemplate.getDatastoreEntityConverter().getConversions() .getDatastoreCompatibleType(returnedType).isPresent(); }
private Object convertCollectionResult(Class returnedItemType, boolean isNonEntityReturnType, List rawResult) { Object result = this.datastoreTemplate.getDatastoreEntityConverter() .getConversions().convertOnRead( isNonEntityReturnType ? rawResult : applyProjection(rawResult), this.queryMethod.getCollectionReturnType(), returnedItemType); return result; }
@Override public Key createKey(String kind, Object id) { return this.objectToKeyFactory.getKeyFromId(id, kind); }
@Override public <T> T convertOnRead(Object val, Class targetCollectionType, Class targetComponentType) { return (T) convertOnRead(val, EmbeddedType.NOT_EMBEDDED, targetCollectionType, ClassTypeInformation.from(targetComponentType)); }
@Override public <T> T getPropertyValue(DatastorePersistentProperty persistentProperty) { if (!persistentProperty.isColumnBacked()) { return null; } return getPropertyValue(persistentProperty.getFieldName(), persistentProperty.getEmbeddedType(), persistentProperty.getTypeInformation()); }
@Override public Value convertOnWrite(Object proppertyVal, DatastorePersistentProperty persistentProperty) { return convertOnWrite(proppertyVal, persistentProperty.getEmbeddedType(), persistentProperty.getFieldName(), persistentProperty.getTypeInformation()); }
public DefaultDatastoreEntityConverter(DatastoreMappingContext mappingContext, ObjectToKeyFactory objectToKeyFactory) { this(mappingContext, new TwoStepsConversions(new DatastoreCustomConversions(), objectToKeyFactory)); }
@Override @SuppressWarnings("unchecked") public Value convertOnWriteSingle(Object propertyVal) { Object result = propertyVal; if (result != null) { TypeTargets typeTargets = computeTypeTargets(result.getClass()); if (typeTargets.getFirstStepTarget() != null) { result = this.conversionService.convert(propertyVal, typeTargets.getFirstStepTarget()); } if (typeTargets.getSecondStepTarget() != null) { result = this.internalConversionService.convert(result, typeTargets.getSecondStepTarget()); } } return DatastoreNativeTypes.wrapValue(result); }
private TypeTargets computeTypeTargets(Class<?> firstStepSource) { Class<?> firstStepTarget = null; Class<?> secondStepTarget = null; if (!DatastoreNativeTypes.isNativeType(firstStepSource)) { Optional<Class<?>> simpleType = this.customConversions.getCustomWriteTarget(firstStepSource); if (simpleType.isPresent()) { firstStepTarget = simpleType.get(); } Class<?> effectiveFirstStepTarget = (firstStepTarget != null) ? firstStepTarget : firstStepSource; Optional<Class<?>> datastoreBasicType = getCustomWriteTarget(effectiveFirstStepTarget); if (datastoreBasicType.isPresent()) { secondStepTarget = datastoreBasicType.get(); } } return new TypeTargets(firstStepTarget, secondStepTarget); }
private EntityValue convertOnWriteSingleEmbedded(Object val, String kindName) { return applyEntityValueBuilder(kindName, (builder) -> this.datastoreEntityConverter.write(val, builder)); }
public DefaultDatastoreEntityConverter(DatastoreMappingContext mappingContext, ReadWriteConversions conversions) { this.mappingContext = mappingContext; this.conversions = conversions; conversions.registerEntityConverter(this); }
@Override public Key createKey(String kind, Object id) { return this.objectToKeyFactory.getKeyFromId(id, kind); }
@Override public <T> T convertOnRead(Object val, Class targetCollectionType, Class targetComponentType) { return (T) convertOnRead(val, EmbeddedType.NOT_EMBEDDED, targetCollectionType, ClassTypeInformation.from(targetComponentType)); }
@Override public <T> T getPropertyValue(DatastorePersistentProperty persistentProperty) { if (!persistentProperty.isColumnBacked()) { return null; } return getPropertyValue(persistentProperty.getFieldName(), persistentProperty.getEmbeddedType(), persistentProperty.getTypeInformation()); }
@Override public Value convertOnWrite(Object proppertyVal, DatastorePersistentProperty persistentProperty) { return convertOnWrite(proppertyVal, persistentProperty.getEmbeddedType(), persistentProperty.getFieldName(), persistentProperty.getTypeInformation()); }