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


Java FieldDescriptor.getName方法代码示例

本文整理汇总了Java中com.google.protobuf.Descriptors.FieldDescriptor.getName方法的典型用法代码示例。如果您正苦于以下问题:Java FieldDescriptor.getName方法的具体用法?Java FieldDescriptor.getName怎么用?Java FieldDescriptor.getName使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在com.google.protobuf.Descriptors.FieldDescriptor的用法示例。


在下文中一共展示了FieldDescriptor.getName方法的3个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。

示例1: createProtoBuf

import com.google.protobuf.Descriptors.FieldDescriptor; //导入方法依赖的package包/类
Message createProtoBuf(
    Descriptor descriptor, Message.Builder builder, Map<String, Object> input) {

  if (input == null) {
    return builder.build();
  }
  for (FieldDescriptor field : descriptor.getFields()) {
    String fieldName = field.getName();

    if (!input.containsKey(fieldName)) {
      // TODO: validate required fields
      continue;
    }

    if (field.isRepeated()) {
      List<Object> values = (List<Object>) input.get(fieldName);
      for (Object value : values) {
        builder.addRepeatedField(field, getValueForField(field, value, builder));
      }
    } else {
      builder.setField(field, getValueForField(field, input.get(fieldName), builder));
    }
  }

  return builder.build();
}
 
开发者ID:google,项目名称:rejoiner,代码行数:27,代码来源:GqlInputConverter.java

示例2: insert

import com.google.protobuf.Descriptors.FieldDescriptor; //导入方法依赖的package包/类
/**
 * 插入对象到给定的表中。注意,这里并不自动生成ID。
 * 
 * @param message
 * @param tableName
 * @return
 */
public long insert(M message, String tableName) {
	StringBuilder insertSql = new StringBuilder("insert into ");
	insertSql.append(tableName).append("(");
	StringBuilder fields = new StringBuilder("");
	StringBuilder values = new StringBuilder("");
	List<Object> args = new ArrayList<Object>();
	Map<FieldDescriptor, Object> fieldMap = message.getAllFields();

	for (Entry<FieldDescriptor, Object> entry : fieldMap.entrySet()) {
		FieldDescriptor fieldDescriptor = entry.getKey();
		FieldOptions fieldOptions = fieldDescriptor.getOptions();
		ColumnFieldOption columnFieldOption = fieldOptions
				.getExtension(Taglib.columnOption);
		String fieldName = fieldDescriptor.getName();
		Object value = entry.getValue();

		if (columnFieldOption.getColumnType() == ColumnType.DATETIME
				|| columnFieldOption.getColumnType() == ColumnType.TIMESTAMP) {// datetime类型
			if (value != null && (long) value > 0) {
				fields.append('`').append(fieldName).append("`,");
				values.append("?, ");
				args.add(new Timestamp((long) value));
			}
		} else {
			fields.append('`').append(fieldName).append("`,");
			values.append("?, ");
			args.add(value);
		}
	}
	int tmpIndex = fields.lastIndexOf(",");
	insertSql.append(fields.substring(0, tmpIndex)).append(") values(");
	tmpIndex = values.lastIndexOf(",");
	insertSql.append(values.substring(0, tmpIndex)).append(")");
	String sql = insertSql.toString();
	return update(sql, args);
}
 
开发者ID:jigsaw-projects,项目名称:jigsaw-payment,代码行数:44,代码来源:JdbcProtobufTemplate.java

示例3: updateMessageByCondition

import com.google.protobuf.Descriptors.FieldDescriptor; //导入方法依赖的package包/类
/**
 * 
 * @param message
 * @param conditionFields
 * @param conditionParams
 * @param tableName
 * @return
 */
protected int updateMessageByCondition(M message, String[] conditionFields,
		Object[] conditionParams, String tableName) {
	StringBuilder updateSql = new StringBuilder("update ");
	updateSql.append(tableName).append(" set ");
	StringBuilder options = new StringBuilder("");
	List<Object> args = new ArrayList<Object>();
	Map<FieldDescriptor, Object> fieldMap = message.getAllFields();

	for (Entry<FieldDescriptor, Object> entry : fieldMap.entrySet()) {
		FieldDescriptor fieldDescriptor = entry.getKey();
		if (!Arrays.asList(conditionFields).contains(
				fieldDescriptor.getName())) {
			FieldOptions fieldOptions = fieldDescriptor.getOptions();
			ColumnFieldOption columnFieldOption = fieldOptions
					.getExtension(Taglib.columnOption);
			String fieldName = fieldDescriptor.getName();
			Object value = entry.getValue();
			if (columnFieldOption.getColumnType() == ColumnType.DATETIME
					|| columnFieldOption.getColumnType() == ColumnType.TIMESTAMP) {// datetime类型
				if (value != null && (long) value > 0) {
					options.append(fieldName).append("=?, ");
					args.add(new Timestamp((long) value));
				}
			} else {
				options.append(fieldName).append("=?, ");
				args.add(value);
			}
		}
	}
	int tmpIndex = options.lastIndexOf(",");
	updateSql.append(options.substring(0, tmpIndex)).append(" where 1=1 ");
	StringBuilder condition = new StringBuilder();
	if (conditionFields.length != conditionParams.length) {
		throw new IllegalArgumentException("condition error");
	} else {
		for (int i = 0; i < conditionFields.length; i++) {
			condition.append("AND ").append(conditionFields[i])
					.append("=? ");
			args.add(conditionParams[i]);
		}
		updateSql.append(condition);
		String sql = updateSql.toString();
		logger.debug(sql);
		return update(sql, args);
	}
}
 
开发者ID:jigsaw-projects,项目名称:jigsaw-payment,代码行数:55,代码来源:JdbcProtobufTemplate.java


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