当前位置: 首页>>代码示例>>Java>>正文


Java FullEntity.Builder方法代码示例

本文整理汇总了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();
}
 
开发者ID:tkob,项目名称:spring-data-gclouddatastore,代码行数:30,代码来源:Marshaller.java

示例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());
}
 
开发者ID:sai-pullabhotla,项目名称:catatumbo,代码行数:15,代码来源:MapMapper.java

示例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);
  }
}
 
开发者ID:sai-pullabhotla,项目名称:catatumbo,代码行数:32,代码来源:EmbeddedObjectMapper.java

示例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;
}
 
开发者ID:sai-pullabhotla,项目名称:catatumbo,代码行数:34,代码来源:CatchAllMapper.java

示例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);
  }

}
 
开发者ID:sai-pullabhotla,项目名称:catatumbo,代码行数:43,代码来源:Marshaller.java

示例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));
}
 
开发者ID:tkob,项目名称:spring-data-gclouddatastore,代码行数:5,代码来源:Marshaller.java


注:本文中的com.google.cloud.datastore.FullEntity.Builder方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。