當前位置: 首頁>>代碼示例>>Java>>正文


Java Descriptors.EnumValueDescriptor方法代碼示例

本文整理匯總了Java中com.google.protobuf.Descriptors.EnumValueDescriptor方法的典型用法代碼示例。如果您正苦於以下問題:Java Descriptors.EnumValueDescriptor方法的具體用法?Java Descriptors.EnumValueDescriptor怎麽用?Java Descriptors.EnumValueDescriptor使用的例子?那麽, 這裏精選的方法代碼示例或許可以為您提供幫助。您也可以進一步了解該方法所在com.google.protobuf.Descriptors的用法示例。


在下文中一共展示了Descriptors.EnumValueDescriptor方法的6個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的Java代碼示例。

示例1: populate

import com.google.protobuf.Descriptors; //導入方法依賴的package包/類
/**
 * set preparedstatement params
 * 
 * @param ps
 * @param args
 * @return
 * @throws SQLException
 */
private void populate(PreparedStatement ps, List<?> args)
		throws SQLException {
	for (int i = 0; i < args.size(); i++) {
		Object o = args.get(i);
		if (o instanceof Integer) {
			ps.setInt(i + 1, (int) o);
		} else if (o instanceof Long) {
			ps.setLong(i + 1, (long) o);
		} else if (o instanceof String) {
			ps.setString(i + 1, (String) o);
		} else if (o instanceof Date) {
			ps.setDate(i + 1, (Date) o);
		} else if (o instanceof Float) {
			ps.setFloat(i + 1, (Float) o);
		} else if (o instanceof Double) {
			ps.setDouble(i + 1, (Double) o);
		} else if (o instanceof Date) {
			ps.setDate(i + 1, (Date) o);
		} else if (o instanceof Timestamp) {
			ps.setTimestamp(i + 1, (Timestamp) o);
		} else if (o instanceof Descriptors.EnumValueDescriptor) {
			ps.setInt(i + 1,
					((Descriptors.EnumValueDescriptor) o).getNumber());
		} else if(o instanceof Boolean){
			ps.setBoolean(i+1, (Boolean)o);
		} else {
			ps.setObject(i+1, o);
		}
	}
}
 
開發者ID:jigsaw-projects,項目名稱:jigsaw-payment,代碼行數:39,代碼來源:JdbcProtobufTemplate.java

示例2: fromMessageValue

import com.google.protobuf.Descriptors; //導入方法依賴的package包/類
public static Object fromMessageValue(Object value){
    if(value instanceof Descriptors.EnumValueDescriptor){
        value=((Descriptors.EnumValueDescriptor) value).getName();
    }else if(value instanceof ByteString) {
        value = ((ByteString) value).toByteArray();
    }
    return value;
}
 
開發者ID:taojoe,項目名稱:protobuf-transformer,代碼行數:9,代碼來源:CoreValueCoerce.java

示例3: enumValueFor

import com.google.protobuf.Descriptors; //導入方法依賴的package包/類
private static Object enumValueFor(FieldDescriptor field, Random random) {
    final Descriptors.EnumDescriptor descriptor = field.getEnumType();
    final List<Descriptors.EnumValueDescriptor> enumValues = descriptor.getValues();
    if (enumValues.isEmpty()) {
        return null;
    }

    // Value under index 0 is usually used to store `undefined` option
    // Use values with indexes from 1 to n
    final int index = random.nextInt(enumValues.size() - 1) + 1;
    final Descriptors.EnumValueDescriptor enumValue = descriptor.findValueByNumber(index);
    return enumValue;
}
 
開發者ID:SpineEventEngine,項目名稱:core-java,代碼行數:14,代碼來源:Sample.java

示例4: valueOf

import com.google.protobuf.Descriptors; //導入方法依賴的package包/類
public static PushSMPMessageProtos.PushSMPMessageContent.GroupContext.Type valueOf(Descriptors.EnumValueDescriptor desc) {
	if(desc.getType() != getDescriptor()) {
		throw new IllegalArgumentException("EnumValueDescriptor is not for this type.");
	} else {
		return VALUES[desc.getIndex()];
	}
}
 
開發者ID:Agilitum,項目名稱:TextSecureSMP,代碼行數:8,代碼來源:PushSMPMessageProtos.java

示例5: massageValueToJavaValue

import com.google.protobuf.Descriptors; //導入方法依賴的package包/類
protected Object massageValueToJavaValue(Object value, Class clz){
    if(clz.equals(Integer.class) || clz.equals(Long.class) || clz.equals(Float.class) || clz.equals(Double.class) ||clz.equals(Boolean.class) ||
            clz.equals(int.class) || clz.equals(long.class) || clz.equals(float.class) || clz.equals(double.class) || clz.equals(boolean.class)){
        // 判斷clz時,如果是boolean, 估計是直接返回的boolean type,因此同時包含類型的判斷
        return value;
    }else if(clz.equals(String.class)){
        if(value instanceof String){
            return value;
        }else if(value instanceof Descriptors.EnumDescriptor){
            return ((Descriptors.EnumDescriptor)value).getName();
        }else if(value instanceof Descriptors.EnumValueDescriptor){
            return ((Descriptors.EnumValueDescriptor) value).getName();
        }
    }else if(clz.isEnum()){
        try{
            if(value instanceof String){
                return Enum.valueOf(clz, (String) value);
            }else if(value instanceof Descriptors.EnumValueDescriptor){
                return Enum.valueOf(clz, ((Descriptors.EnumValueDescriptor) value).getName() );
            }
        }catch (Exception e){
            return null;
        }

    }else if(clz.equals(BigDecimal.class)){
        return new BigDecimal((double)value);
    }else if(clz.equals(LocalDateTime.class)){
        if(!"".equals(value)) {
            try {
                return LocalDateTime.parse((String) value, dateTimeFormatter);
            } catch (Exception ex) {
                return LocalDateTime.parse((String) value);
            }
        }
    }else if(clz.equals(LocalDate.class)){
        if(!"".equals(value)){
            return LocalDate.parse((String) value);
        }
    }else if(clz.equals(LocalTime.class)){
        if(!"".equals(value)){
            return LocalTime.parse((String) value);
        }
    }else if(clz.equals(byte[].class)){
        return ((ByteString) value).toByteArray();
    }
    return null;
}
 
開發者ID:taojoe,項目名稱:protobuf-transformer,代碼行數:48,代碼來源:Transformer.java

示例6: getValueDescriptor

import com.google.protobuf.Descriptors; //導入方法依賴的package包/類
public final Descriptors.EnumValueDescriptor getValueDescriptor() {
	return (Descriptors.EnumValueDescriptor)getDescriptor().getValues().get(this.index);
}
 
開發者ID:Agilitum,項目名稱:TextSecureSMP,代碼行數:4,代碼來源:PushSMPMessageProtos.java


注:本文中的com.google.protobuf.Descriptors.EnumValueDescriptor方法示例由純淨天空整理自Github/MSDocs等開源代碼及文檔管理平台,相關代碼片段篩選自各路編程大神貢獻的開源項目,源碼版權歸原作者所有,傳播和使用請參考對應項目的License;未經允許,請勿轉載。