private Number get( Value value, Number defaultValue ) { if( value.equals( Values.NULL ) ) { return defaultValue; } else { return value.asNumber(); } }
InternalTypeSystem ts = InternalTypeSystem.TYPE_SYSTEM; if (typ == ts.NUMBER()) ret = new BigDecimal(val.asNumber().toString()); else if (typ == ts.INTEGER()) ret = new BigDecimal(val.asNumber().toString()); else if (typ == ts.FLOAT()) ret = new BigDecimal(val.asNumber().toString()); else if (typ == ts.STRING()) ret = val.asString();
/** * Generate the next value in a sequence for a given {@link IdSourceKey}. * * @return the next value in a sequence */ @Override protected Number nextValue(RemoteStatements remoteStatements) { List<Statement> statements = convert( remoteStatements ); StatementResult result = execute( statements ); Number nextValue = result.single().get( 0 ).asNumber(); return nextValue; }
@Nonnull private Map<String, Justified> details(@Nonnull Plan plan, @Nonnull Map<String, Integer> columns) { Map<String, Value> args = plan.arguments(); Stream<Optional<Pair<String, Justified>>> formattedPlan = args.entrySet().stream().map((e) -> { Value value = e.getValue(); switch (e.getKey()) { case "EstimatedRows": return mapping(ESTIMATED_ROWS, new Right(format(value.asDouble())), columns); case "Rows": return mapping(ROWS, new Right(value.asNumber().toString()), columns); case "DbHits": return mapping(HITS, new Right(value.asNumber().toString()), columns); case "PageCacheHits": return mapping(PAGE_CACHE, new Right(String.format("%s/%s",value.asNumber(),args.getOrDefault("PageCacheMisses", ZERO_VALUE).asNumber())), columns); case "Time": return mapping(TIME, new Right(String.format("%.3f", value.asLong() / 1000000.0d)), columns); case "Order": return mapping( ORDER, new Left( String.format( "%s", value.asString() ) ), columns ); default: return Optional.empty(); } }); return Stream.concat( formattedPlan, Stream.of( Optional.of(Pair.of(IDENTIFIERS, new Left(identifiers(plan, columns)))), Optional.of(Pair.of(OTHER, new Left(other(plan, columns)))))) .filter(Optional::isPresent) .collect(toMap(o -> o.get()._1, o -> o.get()._2)); }
InternalTypeSystem ts = InternalTypeSystem.TYPE_SYSTEM; if (typ == ts.NUMBER()) ret = new BigDecimal(val.asNumber().toString()); else if (typ == ts.INTEGER()) ret = new BigDecimal(val.asNumber().toString()); else if (typ == ts.FLOAT()) ret = new BigDecimal(val.asNumber().toString()); else if (typ == ts.STRING()) ret = val.asString();
public static final Object formatValue(Class<?> clazz, Value value) { if(value.isNull()) return null; if(clazz.isAssignableFrom(Integer.class)) return (Integer)value.asInt(); if(clazz.isAssignableFrom(Short.class)) return Short.valueOf(value.asString()); if(clazz.isAssignableFrom(Character.class)) return (Character)value.asString().charAt(0); if(clazz.isAssignableFrom(Float.class)) return (Float)value.asFloat(); if(clazz.isAssignableFrom(Double.class)) return (Double)value.asDouble(); if(clazz.isAssignableFrom(Long.class)) return (Long)value.asLong(); if(clazz.isAssignableFrom(Number.class)) return value.asNumber(); if(clazz.isAssignableFrom(Boolean.class)) return (Boolean)value.asBoolean(); if(clazz.isAssignableFrom(byte[].class)) return value.asByteArray(); if(clazz.isAssignableFrom(LocalDate.class)) return value.asLocalDate(); if(clazz.isAssignableFrom(LocalTime.class)) return value.asLocalTime(); if(clazz.isAssignableFrom(LocalDateTime.class)) return value.asLocalDateTime(); if(clazz.isAssignableFrom(OffsetTime.class)) return value.asOffsetTime(); if(clazz.isAssignableFrom(IsoDuration.class)) return value.asIsoDuration(); if(clazz.isAssignableFrom(ZonedDateTime.class)) return value.asZonedDateTime(); if(clazz.isAssignableFrom(Date.class)) return LocalDateTimeOperation.toDate().convert(value.asLocalDateTime()); if(clazz.isAssignableFrom(String.class)) return formatToString(value); if(clazz.isAssignableFrom(Enum.class)) return MethodOperation.invoked(null , MethodOperation.getMethod(clazz , "valueOf" , String.class), value.asString()); throw new NotSupportConvertException(); }
return "MergePattern(" + v.toString() + ")"; case "DbHits": return v.asNumber().toString(); case "Rows": return v.asNumber().toString(); case "Time": return v.asNumber().toString(); case "EstimatedRows": return v.asNumber().toString(); case "LabelName": return v.asString(); return v.asString(); case "PageCacheMisses": return v.asNumber().toString(); default: return v.asObject().toString();
String pathElement = embedRel.get("path").asString(); if ("[]".equals(pathElement)) { int index = embedRel.get("index").asNumber().intValue(); sb.append("[").append(index).append("]"); } else { leafNodesByPath.put(pathWithIndices, new FlattenedDocumentLeafNode(documentKey, pathWithIndices, FragmentType.STRING, stringValue, Integer.MAX_VALUE)); } else if ("number".equals(type)) { String stringValue = String.valueOf(valueValue.asNumber()); leafNodesByPath.put(pathWithIndices, new FlattenedDocumentLeafNode(documentKey, pathWithIndices, FragmentType.NUMERIC, stringValue, Integer.MAX_VALUE)); } else if ("boolean".equals(type)) {