public Optional<TypeSignature> getTypeSignatureOrNamedTypeSignature() { switch (kind) { case TYPE: return Optional.of(getTypeSignature()); case NAMED_TYPE: return Optional.of(getNamedTypeSignature().getTypeSignature()); default: return Optional.empty(); } }
@Deprecated private String rowToString() { String fields = arguments.stream() .map(ClientTypeSignatureParameter::getNamedTypeSignature) .map(parameter -> { if (parameter.getName().isPresent()) { return format("%s %s", parameter.getName().get(), parameter.getTypeSignature().toString()); } return parameter.getTypeSignature().toString(); }) .collect(Collectors.joining(",")); return format("row(%s)", fields); }
/** * This field is deprecated and clients should switch to {@link #getArguments()} */ @Deprecated @JsonProperty public List<ClientTypeSignature> getTypeArguments() { List<ClientTypeSignature> result = new ArrayList<>(); for (ClientTypeSignatureParameter argument : arguments) { switch (argument.getKind()) { case TYPE: result.add(argument.getTypeSignature()); break; case NAMED_TYPE: result.add(new ClientTypeSignature(argument.getNamedTypeSignature().getTypeSignature())); break; default: return new ArrayList<>(); } } return result; }
public boolean isCalculated() { switch (kind) { case TYPE: return getTypeSignature().isCalculated(); case NAMED_TYPE: return getNamedTypeSignature().getTypeSignature().isCalculated(); case LONG: return false; case VARIABLE: return true; default: throw new IllegalArgumentException("Unexpected parameter kind: " + kind); } }
private Set<String> typeVariablesOf(TypeSignature typeSignature) { if (typeVariableConstraints.containsKey(typeSignature.getBase())) { return ImmutableSet.of(typeSignature.getBase()); } Set<String> variables = new HashSet<>(); for (TypeSignatureParameter parameter : typeSignature.getParameters()) { switch (parameter.getKind()) { case TYPE: variables.addAll(typeVariablesOf(parameter.getTypeSignature())); break; case NAMED_TYPE: variables.addAll(typeVariablesOf(parameter.getNamedTypeSignature().getTypeSignature())); break; case LONG: break; case VARIABLE: break; default: throw new UnsupportedOperationException(); } } return variables; }
private static Set<String> longVariablesOf(TypeSignature typeSignature) { Set<String> variables = new HashSet<>(); for (TypeSignatureParameter parameter : typeSignature.getParameters()) { switch (parameter.getKind()) { case TYPE: variables.addAll(longVariablesOf(parameter.getTypeSignature())); break; case NAMED_TYPE: variables.addAll(longVariablesOf(parameter.getNamedTypeSignature().getTypeSignature())); break; case LONG: break; case VARIABLE: variables.add(parameter.getVariable()); break; default: throw new UnsupportedOperationException(); } } return variables; }
NamedTypeSignature namedTypeSignature = parameter.getNamedTypeSignature(); String key = namedTypeSignature.getName().orElse("field" + i); fixedValue.put(key, fixValue(namedTypeSignature.getTypeSignature(), listValue.get(i)));
public static TypeParameter of(TypeSignatureParameter parameter, TypeManager typeManager) { switch (parameter.getKind()) { case TYPE: { Type type = typeManager.getType(parameter.getTypeSignature()); return of(type); } case LONG: return of(parameter.getLongLiteral()); case NAMED_TYPE: { Type type = typeManager.getType(parameter.getNamedTypeSignature().getTypeSignature()); return of(new NamedType( parameter.getNamedTypeSignature().getFieldName(), type)); } case VARIABLE: return of(parameter.getVariable()); default: throw new UnsupportedOperationException(format("Unsupported parameter [%s]", parameter)); } }
private static TypeSignatureParameter applyBoundVariables(TypeSignatureParameter parameter, BoundVariables boundVariables) { ParameterKind parameterKind = parameter.getKind(); switch (parameterKind) { case TYPE: { TypeSignature typeSignature = parameter.getTypeSignature(); return TypeSignatureParameter.of(applyBoundVariables(typeSignature, boundVariables)); } case NAMED_TYPE: { NamedTypeSignature namedTypeSignature = parameter.getNamedTypeSignature(); TypeSignature typeSignature = namedTypeSignature.getTypeSignature(); return TypeSignatureParameter.of(new NamedTypeSignature( namedTypeSignature.getFieldName(), applyBoundVariables(typeSignature, boundVariables))); } case VARIABLE: { String variableName = parameter.getVariable(); checkState(boundVariables.containsLongVariable(variableName), "Variable is not bound: %s", variableName); Long variableValue = boundVariables.getLongVariable(variableName); return TypeSignatureParameter.of(variableValue); } case LONG: { return parameter; } default: throw new IllegalStateException("Unknown parameter kind: " + parameter.getKind()); } }
public Optional<TypeSignature> getTypeSignatureOrNamedTypeSignature() { switch (kind) { case TYPE: return Optional.of(getTypeSignature()); case NAMED_TYPE: return Optional.of(getNamedTypeSignature().getTypeSignature()); default: return Optional.empty(); } }
/** * This field is deprecated and clients should switch to {@link #getArguments()} */ @Deprecated @JsonProperty public List<ClientTypeSignature> getTypeArguments() { List<ClientTypeSignature> result = new ArrayList<>(); for (ClientTypeSignatureParameter argument : arguments) { switch (argument.getKind()) { case TYPE: result.add(argument.getTypeSignature()); break; case NAMED_TYPE: result.add(new ClientTypeSignature(argument.getNamedTypeSignature().getTypeSignature())); break; default: return new ArrayList<>(); } } return result; }
public boolean isCalculated() { switch (kind) { case TYPE: return getTypeSignature().isCalculated(); case NAMED_TYPE: return getNamedTypeSignature().getTypeSignature().isCalculated(); case LONG: return false; case VARIABLE: return true; default: throw new IllegalArgumentException("Unexpected parameter kind: " + kind); } }
NamedTypeSignature namedTypeSignature = parameter.getNamedTypeSignature(); String key = namedTypeSignature.getName(); fixedValue.put(key, fixValue(namedTypeSignature.getTypeSignature().toString(), listValue.get(i)));
componentSignature = componentParameter.getNamedTypeSignature().getTypeSignature();
public static TypeParameter of(TypeSignatureParameter parameter, TypeManager typeManager) { switch (parameter.getKind()) { case TYPE: { Type type = typeManager.getType(parameter.getTypeSignature()); return of(type); } case LONG: return of(parameter.getLongLiteral()); case NAMED_TYPE: { Type type = typeManager.getType(parameter.getNamedTypeSignature().getTypeSignature()); return of(new NamedType( parameter.getNamedTypeSignature().getFieldName(), type)); } case VARIABLE: return of(parameter.getVariable()); default: throw new UnsupportedOperationException(format("Unsupported parameter [%s]", parameter)); } }