public SubDocument build() { SubDocument result = new SubDocument(documentId, index, calculeType(), values); return result; } }
@Override public Builder add(SubDocAttribute att, ScalarValue value) { String key = att.getKey(); Preconditions.checkArgument(att.equals(expectedType.getAttribute(key))); return super.add(att, value); }
@Override public int hashCode() { int hash = 7; hash = 79 * hash + this.documentId; hash = 79 * hash + this.index; hash = 79 * hash + (this.type != null ? this.type.hashCode() : 0); return hash; }
private SubDocType getSubDocType(KVDocument value) { SubDocType.Builder builder = subDocTypeBuilderProvider.get(); for (DocEntry<?> entry : value) { if (!(entry.getValue() instanceof KVDocument)) { ScalarType type = ScalarType.fromDocType(entry.getValue().getType()); SubDocAttribute att = new SubDocAttribute(entry.getKey(), type); builder.add(att); } } return builder.build(); }
private SplitDocument translate( ToroDocument doc, int docId, Map<KVDocument, SubDocType> collectedTypes) { SplitDocument.Builder splitDocBuilder = new SplitDocument.Builder(); ValueTranslator translator = new ValueTranslator(docId, splitDocBuilder, collectedTypes); RootTranslatorConsumer consumer = new RootTranslatorConsumer(); doc.getRoot().accept(translator, consumer); splitDocBuilder.setId(docId); splitDocBuilder.setRoot(consumer.getRoot()); return splitDocBuilder.build(); }
@Override public Builder add(String key, ScalarValue value) { super.add(key, value); attributes.put(key, new SubDocAttribute(key, value.getType())); return this; }
@Override public Builder add(String key, ScalarValue value) { Preconditions.checkArgument(expectedType.getAttribute(key) != null); return super.add(key, value); } }
private void readObject(java.io.ObjectInputStream stream) throws IOException, ClassNotFoundException { //TODO: Try to make this class non-serializable! stream.defaultReadObject(); subDocTypeBuilderProvider = new SimpleSubDocTypeBuilderProvider(); }
@Override public void consume(ScalarValue value) { subDocBuilder.add(attributeName, value); }
public static QueryCriteria createEquality( AttributeReference attRef, ToroDocument doc) { return createEquality(attRef, doc.getRoot()); }
public SubDocType build() { built = true; return new SubDocType(attributes); } }
@Override public Builder get() { return new Builder(); }
@Override public Builder get() { return new MyBuilder(); }
public static Builder withKnownType(SubDocType expectedType) { return new WithTypeBuilder(expectedType); }
public BufferedSubDocTypeBuilderProvider() { subDocTypeCache = CacheBuilder.newBuilder() .initialCapacity(1019) //a prime number .concurrencyLevel(8) .build(new MyCacheLoader()); }
private void readObject(java.io.ObjectInputStream stream) throws IOException, ClassNotFoundException { //TODO: Try to remove make DatabaseInterface not serializable stream.defaultReadObject(); this.subDocTypeBuilderProvider = new SimpleSubDocTypeBuilderProvider(); }
@Override public int hashCode() { int hash = 7; hash = 37 * hash + this.type.hashCode(); hash = 37 * hash + this.index; return hash; }