本文整理汇总了Java中com.google.cloud.datastore.FullEntity.Builder方法的典型用法代码示例。如果您正苦于以下问题:Java FullEntity.Builder方法的具体用法?Java FullEntity.Builder怎么用?Java FullEntity.Builder使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类com.google.cloud.datastore.FullEntity
的用法示例。
在下文中一共展示了FullEntity.Builder方法的6个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。
示例1: toEntity
import com.google.cloud.datastore.FullEntity; //导入方法依赖的package包/类
@SuppressWarnings("unchecked")
public FullEntity<? extends IncompleteKey> toEntity(Object object, Key key) {
FullEntity.Builder<? extends IncompleteKey> builder;
if (key == null) {
builder = Entity.newBuilder();
}
else {
builder = FullEntity.newBuilder(key);
}
if (object instanceof Map) {
for (Map.Entry<String, Object> entry : ((Map<String, Object>) object)
.entrySet()) {
setEntityValue(builder, entry.getKey(), entry.getValue());
}
}
else {
BeanWrapper beanWrapper = PropertyAccessorFactory
.forBeanPropertyAccess(object);
for (PropertyDescriptor propertyDescriptor : beanWrapper
.getPropertyDescriptors()) {
String name = propertyDescriptor.getName();
if ("class".equals(name))
continue;
setEntityValue(builder, name, beanWrapper.getPropertyValue(name));
}
}
return builder.build();
}
示例2: toDatastore
import com.google.cloud.datastore.FullEntity; //导入方法依赖的package包/类
@SuppressWarnings("unchecked")
@Override
public ValueBuilder<?, ?, ?> toDatastore(Object input) {
if (input == null) {
return NullValue.newBuilder();
}
Map<String, ?> map = (Map<String, ?>) input;
FullEntity.Builder<IncompleteKey> entityBuilder = FullEntity.newBuilder();
for (Map.Entry<String, ?> entry : map.entrySet()) {
String key = entry.getKey();
entityBuilder.set(key, valueMapper.toDatastore(entry.getValue()).build());
}
return EntityValue.newBuilder(entityBuilder.build());
}
示例3: toDatastore
import com.google.cloud.datastore.FullEntity; //导入方法依赖的package包/类
@Override
public ValueBuilder<?, ?, ?> toDatastore(Object input) {
if (input == null) {
return NullValue.newBuilder();
}
try {
FullEntity.Builder<IncompleteKey> entityBuilder = FullEntity.newBuilder();
for (PropertyMetadata propertyMetadata : metadata.getPropertyMetadataCollection()) {
Object propertyValue = propertyMetadata.getReadMethod().invoke(input);
if (propertyValue == null && propertyMetadata.isOptional()) {
continue;
}
ValueBuilder<?, ?, ?> valueBuilder = propertyMetadata.getMapper()
.toDatastore(propertyValue);
// ListValues cannot have indexing turned off. Indexing is turned on by
// default, so we don't touch excludeFromIndexes for ListValues.
if (valueBuilder.getValueType() != ValueType.LIST) {
valueBuilder.setExcludeFromIndexes(!propertyMetadata.isIndexed());
}
Value<?> value = valueBuilder.build();
entityBuilder.set(propertyMetadata.getMappedName(), value);
Indexer indexer = propertyMetadata.getSecondaryIndexer();
if (indexer != null) {
entityBuilder.set(propertyMetadata.getSecondaryIndexName(), indexer.index(value));
}
}
return EntityValue.newBuilder(entityBuilder.build());
} catch (Throwable exp) {
throw new MappingException(exp);
}
}
示例4: toDatastore
import com.google.cloud.datastore.FullEntity; //导入方法依赖的package包/类
@Override
public ValueBuilder<?, ?, ?> toDatastore(Object input) {
ValueBuilder<?, ?, ?> builder;
if (input == null) {
builder = NullValue.newBuilder();
} else if (input instanceof Long) {
builder = LongValue.newBuilder((long) input);
} else if (input instanceof Double) {
builder = DoubleValue.newBuilder((double) input);
} else if (input instanceof Boolean) {
builder = BooleanValue.newBuilder((boolean) input);
} else if (input instanceof String) {
builder = StringValue.newBuilder((String) input);
} else if (input instanceof DatastoreKey) {
builder = KeyValue.newBuilder(((DatastoreKey) input).nativeKey());
} else if (input instanceof GeoLocation) {
GeoLocation geoLocation = (GeoLocation) input;
builder = LatLngValue
.newBuilder(LatLng.of(geoLocation.getLatitude(), geoLocation.getLongitude()));
} else if (input instanceof Map) {
@SuppressWarnings("unchecked")
Map<String, ?> map = (Map<String, ?>) input;
FullEntity.Builder<IncompleteKey> entityBuilder = FullEntity.newBuilder();
for (Map.Entry<String, ?> entry : map.entrySet()) {
String key = entry.getKey();
entityBuilder.set(key, toDatastore(entry.getValue()).build());
}
builder = EntityValue.newBuilder(entityBuilder.build());
} else {
throw new MappingException(String.format("Unsupported type: %s", input.getClass().getName()));
}
return builder;
}
示例5: marshalWithImplodedStrategy
import com.google.cloud.datastore.FullEntity; //导入方法依赖的package包/类
/**
* Marshals the embedded field represented by the given metadata.
*
* @param embeddedMetadata
* the metadata of the embedded field.
* @param target
* the object in which the embedded field is defined/accessible from.
* @return the ValueBuilder equivalent to embedded object
*/
private ValueBuilder<?, ?, ?> marshalWithImplodedStrategy(EmbeddedMetadata embeddedMetadata,
Object target) {
try {
Object embeddedObject = embeddedMetadata.getReadMethod().invoke(target);
if (embeddedObject == null) {
if (embeddedMetadata.isOptional()) {
return null;
}
NullValue.Builder nullValueBuilder = NullValue.newBuilder();
nullValueBuilder.setExcludeFromIndexes(!embeddedMetadata.isIndexed());
return nullValueBuilder;
}
FullEntity.Builder<IncompleteKey> embeddedEntityBuilder = FullEntity.newBuilder();
for (PropertyMetadata propertyMetadata : embeddedMetadata.getPropertyMetadataCollection()) {
marshalField(propertyMetadata, embeddedObject, embeddedEntityBuilder);
}
for (EmbeddedMetadata embeddedMetadata2 : embeddedMetadata.getEmbeddedMetadataCollection()) {
ValueBuilder<?, ?, ?> embeddedEntityBuilder2 = marshalWithImplodedStrategy(
embeddedMetadata2, embeddedObject);
if (embeddedEntityBuilder2 != null) {
embeddedEntityBuilder.set(embeddedMetadata2.getMappedName(),
embeddedEntityBuilder2.build());
}
}
EntityValue.Builder valueBuilder = EntityValue.newBuilder(embeddedEntityBuilder.build());
valueBuilder.setExcludeFromIndexes(!embeddedMetadata.isIndexed());
return valueBuilder;
} catch (Throwable t) {
throw new EntityManagerException(t);
}
}
示例6: setEntityValue
import com.google.cloud.datastore.FullEntity; //导入方法依赖的package包/类
private void setEntityValue(FullEntity.Builder<? extends IncompleteKey> builder,
String name, Object value) {
builder.set(name, toDatastoreValue(value));
}