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


Java Value.getValueType方法代码示例

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


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

示例1: unpackAttribute

import org.msgpack.value.Value; //导入方法依赖的package包/类
private Attribute unpackAttribute(String attributeName, MessageUnpacker unpacker) throws Exception {
    if ( ! unpacker.hasNext() ) {
        throw new IllegalArgumentException("Premature end of message pack stream");
    }
    Value value = unpacker.unpackValue();
    if ( value.isBinaryValue() ) {
        return new Attribute().withName(attributeName).withValue(value.asBinaryValue().asByteArray());
    } else if ( value.isFloatValue() ) {
        return new Attribute().withName(attributeName).withValue(value.asFloatValue().toDouble());
    } else if ( value.isIntegerValue() ) {
        IntegerValue intVal = value.asIntegerValue();
        if ( intVal.isInLongRange() ) {
            return new Attribute().withName(attributeName).withValue(intVal.asLong());
        } else {
            return new Attribute().withName(attributeName).withValue(intVal.asBigInteger());
        }
    } else if ( value.isStringValue() ) {
        return new Attribute().withName(attributeName).withValue(value.asStringValue().asString());
    } else {
        throw new UnsupportedOperationException("Message pack stream contained '"+value.getValueType()+"' type, but that type is not supported");
    }
}
 
开发者ID:Distelli,项目名称:java-persistence,代码行数:23,代码来源:GenericConvertMarker.java

示例2: jsonColumn

import org.msgpack.value.Value; //导入方法依赖的package包/类
@Override
public GenericArray<Object> jsonColumn(Value value) {
    if (!value.isArrayValue())
        throw new RuntimeException("Support only array type json record");

    List<Value> list = value.asArrayValue().list();

    GenericArray<Object> array = new GenericData.Array<>(list.size(), avroSchema);
    for (Value val : list) {
        switch (val.getValueType()) {
            case STRING:
                array.add(elementConverter.stringColumn(val.asStringValue().toString()));
                break;
            case INTEGER:
                array.add(elementConverter.longColumn(val.asIntegerValue().toLong()));
                break;
            case FLOAT:
                array.add(elementConverter.doubleColumn(val.asFloatValue().toDouble()));
                break;
            case BOOLEAN:
                array.add(elementConverter.booleanColumn(val.asBooleanValue().getBoolean()));
                break;
            case ARRAY:
                array.add(elementConverter.jsonColumn(val.asArrayValue()));
                break;
            case MAP:
                array.add(elementConverter.jsonColumn(val.asMapValue()));
                break;
            default:
                throw new RuntimeException("Irregular Messagepack type");
        }
    }
    return array;
}
 
开发者ID:joker1007,项目名称:embulk-formatter-avro,代码行数:35,代码来源:AvroArrayConverter.java

示例3: jsonColumn

import org.msgpack.value.Value; //导入方法依赖的package包/类
@Override
public GenericRecord jsonColumn(Value value) {
    if (!value.isMapValue())
        throw new RuntimeException("Support only map type json record");

    Map<Value, Value> map = value.asMapValue().map();

    GenericRecord record = new GenericData.Record(avroSchema);
    for (Map.Entry<String, AbstractAvroValueConverter> entry : converterTable.entrySet()) {
        Value key = ValueFactory.newString(entry.getKey());
        if (!map.containsKey(key)) {
            record.put(entry.getKey(), null);
        } else {
            Value child = map.get(ValueFactory.newString(entry.getKey()));
            switch (child.getValueType()) {
                case STRING:
                    record.put(entry.getKey(), entry.getValue().stringColumn(child.asStringValue().toString()));
                    break;
                case INTEGER:
                    record.put(entry.getKey(), entry.getValue().longColumn(child.asIntegerValue().toLong()));
                    break;
                case FLOAT:
                    record.put(entry.getKey(), entry.getValue().doubleColumn(child.asFloatValue().toDouble()));
                    break;
                case BOOLEAN:
                    record.put(entry.getKey(), entry.getValue().booleanColumn(child.asBooleanValue().getBoolean()));
                    break;
                case ARRAY:
                    record.put(entry.getKey(), entry.getValue().jsonColumn(child.asArrayValue()));
                    break;
                case MAP:
                    record.put(entry.getKey(), entry.getValue().jsonColumn(child.asMapValue()));
                    break;
                default:
                    throw new RuntimeException("Irregular Messagepack type");
            }
        }
    }
    return record;
}
 
开发者ID:joker1007,项目名称:embulk-formatter-avro,代码行数:41,代码来源:AvroRecordConverter.java

示例4: doGuessDeserialize

import org.msgpack.value.Value; //导入方法依赖的package包/类
private Object doGuessDeserialize( ModuleDescriptor module, ValueType valueType, Value value )
    throws IOException, ClassNotFoundException
{
    switch( value.getValueType() )
    {
        case MAP:
            MapValue mapValue = value.asMapValue();
            Optional<String> typeInfo = mapValue
                .entrySet().stream()
                .filter( entry -> entry.getKey().isStringValue() )
                .map( entry ->
                      {
                          String key = doDeserialize( module, ValueType.STRING, entry.getKey() );
                          return new AbstractMap.SimpleImmutableEntry<>( key, entry.getValue() );
                      } )
                .filter( entry -> "_type".equals( entry.getKey() ) )
                .findFirst()
                .map( entry -> doDeserialize( module, ValueType.STRING, entry.getValue() ) );
            if( typeInfo.isPresent() )
            {
                StatefulAssociationCompositeDescriptor descriptor = statefulCompositeDescriptorFor(
                    module, typeInfo.get() );
                if( descriptor != null )
                {
                    return deserializeStatefulAssociationValue( ( (CompositeDescriptor) descriptor ).module(),
                                                                descriptor.valueType(),
                                                                mapValue );
                }
            }
        default:
            throw new SerializationException( "Don't know how to deserialize " + valueType + " from " + value
                                              + " (" + value.getValueType() + ")" );
    }
}
 
开发者ID:apache,项目名称:polygene-java,代码行数:35,代码来源:MessagePackDeserializer.java

示例5: fetchJobResult

import org.msgpack.value.Value; //导入方法依赖的package包/类
private boolean fetchJobResult(int rows, TDJobOperator job)
{
    Optional<ArrayValue> firstRow = pollingRetryExecutor(state, RESULT)
            .retryUnless(TDOperator::isDeterministicClientException)
            .withErrorMessage("Failed to download result of job '%s'", job.getJobId())
            .withRetryInterval(retryInterval)
            .run(s -> job.getResult(
                    ite -> ite.hasNext()
                            ? Optional.of(ite.next())
                            : Optional.absent()));

    if (!firstRow.isPresent()) {
        throw new TaskExecutionException("Got unexpected empty result for count job: " + job.getJobId());
    }
    ArrayValue row = firstRow.get();
    if (row.size() != 1) {
        throw new TaskExecutionException("Got unexpected result row size for count job: " + row.size());
    }
    Value count = row.get(0);
    IntegerValue actualRows;
    try {
        actualRows = count.asIntegerValue();
    }
    catch (MessageTypeCastException e) {
        throw new TaskExecutionException("Got unexpected value type count job: " + count.getValueType());
    }

    return BigInteger.valueOf(rows).compareTo(actualRows.asBigInteger()) <= 0;
}
 
开发者ID:treasure-data,项目名称:digdag,代码行数:30,代码来源:TdWaitTableOperatorFactory.java

示例6: isTruthy

import org.msgpack.value.Value; //导入方法依赖的package包/类
private boolean isTruthy(Value firstCol)
{
    // Anything that is not NULL and not FALSE or 0 is considered truthy.
    switch (firstCol.getValueType()) {
        case NIL:
            return false;
        case BOOLEAN:
            return firstCol.asBooleanValue().getBoolean();
        case INTEGER:
            return firstCol.asIntegerValue().asLong() != 0;
        default:
            return true;
    }
}
 
开发者ID:treasure-data,项目名称:digdag,代码行数:15,代码来源:TdWaitOperatorFactory.java


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