@Override public AbstractType<?> getExactTypeIfKnown(String keyspace) { List<AbstractType<?>> types = new ArrayList<>(elements.size()); for (Term.Raw term : elements) { AbstractType<?> type = term.getExactTypeIfKnown(keyspace); if (type == null) return null; types.add(type); } return new TupleType(types); }
@Override public AbstractType<?> getExactTypeIfKnown(String keyspace) { List<AbstractType<?>> types = new ArrayList<>(elements.size()); for (Term.Raw term : elements) { AbstractType<?> type = term.getExactTypeIfKnown(keyspace); if (type == null) return null; types.add(type); } return new TupleType(types); }
@Override public AbstractType<?> getExactTypeIfKnown(String keyspace) { List<AbstractType<?>> types = new ArrayList<>(elements.size()); for (Term.Raw term : elements) { AbstractType<?> type = term.getExactTypeIfKnown(keyspace); if (type == null) return null; types.add(type); } return new TupleType(types); }
@Override public AbstractType<?> getExactTypeIfKnown(String keyspace) { AbstractType<?> keyType = null; AbstractType<?> valueType = null; for (Pair<Term.Raw, Term.Raw> entry : entries) { if (keyType == null) keyType = entry.left.getExactTypeIfKnown(keyspace); if (valueType == null) valueType = entry.right.getExactTypeIfKnown(keyspace); if (keyType != null && valueType != null) return MapType.getInstance(keyType, valueType, false); } return null; }
@Override public AbstractType<?> getExactTypeIfKnown(String keyspace) { AbstractType<?> keyType = null; AbstractType<?> valueType = null; for (Pair<Term.Raw, Term.Raw> entry : entries) { if (keyType == null) keyType = entry.left.getExactTypeIfKnown(keyspace); if (valueType == null) valueType = entry.right.getExactTypeIfKnown(keyspace); if (keyType != null && valueType != null) return MapType.getInstance(keyType, valueType, false); } return null; }
@Override public AbstractType<?> getExactTypeIfKnown(String keyspace) { AbstractType<?> keyType = null; AbstractType<?> valueType = null; for (Pair<Term.Raw, Term.Raw> entry : entries) { if (keyType == null) keyType = entry.left.getExactTypeIfKnown(keyspace); if (valueType == null) valueType = entry.right.getExactTypeIfKnown(keyspace); if (keyType != null && valueType != null) return MapType.getInstance(keyType, valueType, false); } return null; }
@Override public AbstractType<?> getExactTypeIfKnown(String keyspace) { AbstractType<?> keyType = null; AbstractType<?> valueType = null; for (Pair<Term.Raw, Term.Raw> entry : entries) { if (keyType == null) keyType = entry.left.getExactTypeIfKnown(keyspace); if (valueType == null) valueType = entry.right.getExactTypeIfKnown(keyspace); if (keyType != null && valueType != null) return MapType.getInstance(keyType, valueType, false); } return null; }
@Override public AbstractType<?> getExactTypeIfKnown(String keyspace) { List<AbstractType<?>> types = new ArrayList<>(elements.size()); for (Term.Raw term : elements) { AbstractType<?> type = term.getExactTypeIfKnown(keyspace); if (type == null) return null; types.add(type); } return new TupleType(types); }
@Override public AbstractType<?> getExactTypeIfKnown(String keyspace) { for (Term.Raw term : elements) { AbstractType<?> type = term.getExactTypeIfKnown(keyspace); if (type != null) return SetType.getInstance(type, false); } return null; }
@Override public AbstractType<?> getExactTypeIfKnown(String keyspace) { for (Term.Raw term : elements) { AbstractType<?> type = term.getExactTypeIfKnown(keyspace); if (type != null) return SetType.getInstance(type, false); } return null; }
@Override public AbstractType<?> getExactTypeIfKnown(String keyspace) { for (Term.Raw term : elements) { AbstractType<?> type = term.getExactTypeIfKnown(keyspace); if (type != null) return ListType.getInstance(type, false); } return null; }
@Override public AbstractType<?> getExactTypeIfKnown(String keyspace) { for (Term.Raw term : elements) { AbstractType<?> type = term.getExactTypeIfKnown(keyspace); if (type != null) return ListType.getInstance(type, false); } return null; }
@Override public AbstractType<?> getExactTypeIfKnown(String keyspace) { for (Term.Raw term : elements) { AbstractType<?> type = term.getExactTypeIfKnown(keyspace); if (type != null) return SetType.getInstance(type, false); } return null; }
@Override public AbstractType<?> getExactTypeIfKnown(String keyspace) { for (Term.Raw term : elements) { AbstractType<?> type = term.getExactTypeIfKnown(keyspace); if (type != null) return ListType.getInstance(type, false); } return null; }
@Override public AbstractType<?> getExactTypeIfKnown(String keyspace) { return rawTerm.getExactTypeIfKnown(keyspace); }
@Override public AbstractType<?> getExactTypeIfKnown(String keyspace) { for (Term.Raw term : elements) { AbstractType<?> type = term.getExactTypeIfKnown(keyspace); if (type != null) return SetType.getInstance(type, false); } return null; }
@Override public AbstractType<?> getExactTypeIfKnown(String keyspace) { return rawTerm.getExactTypeIfKnown(keyspace); }
@Override public AbstractType<?> getExactTypeIfKnown(String keyspace) { for (Term.Raw term : elements) { AbstractType<?> type = term.getExactTypeIfKnown(keyspace); if (type != null) return ListType.getInstance(type, false); } return null; }
@Override public AbstractType<?> getExactTypeIfKnown(String keyspace) { return rawTerm.getExactTypeIfKnown(keyspace); }