@Override public <S> BinaryOperator<S> getSackMerger() { return this.sideEffects.getSackMerger(); }
final boolean carriesUnmergeableSack() { // hmmm... serialization in OLAP destroys the transient sideEffects return null != this.sack && (null == this.sideEffects || null == this.sideEffects.getSackMerger()); }
final boolean carriesUnmergeableSack() { // hmmm... serialization in OLAP destroys the transient sideEffects return null != this.sack && (null == this.sideEffects || null == this.sideEffects.getSackMerger()); }
@Override public void merge(final Traverser.Admin<?> other) { super.merge(other); if (null != this.sack && null != this.sideEffects.getSackMerger()) this.sack = this.sideEffects.getSackMerger().apply(this.sack, other.sack()); }
@Override public void merge(final Traverser.Admin<?> other) { super.merge(other); if (null != this.sack && null != this.sideEffects.getSackMerger()) this.sack = this.sideEffects.getSackMerger().apply(this.sack, other.sack()); }
final boolean carriesUnmergeableSack() { // hmmm... serialization in OLAP destroys the transient sideEffects return null != this.sack && (null == this.sideEffects || null == this.sideEffects.getSackMerger()); }
@Override public <S> BinaryOperator<S> getSackMerger() { return this.sideEffects.getSackMerger(); }
final boolean carriesUnmergeableSack() { // hmmm... serialization in OLAP destroys the transient sideEffects return null != this.sack && (null == this.sideEffects || null == this.sideEffects.getSackMerger()); }
@Override public boolean equals(final Object object) { if (this.requiresSack) { return (object instanceof SqlgTraverser) && ((SqlgTraverser) object).t.equals(this.t) && ((SqlgTraverser) object).future.equals(this.future) && ((SqlgTraverser) object).loops == this.loops && (null == this.sack || null != this.sideEffects.getSackMerger()); } else { return super.equals(object); } }
@Override public boolean equals(final Object object) { if (this.requiresSack) { return (object instanceof SqlgTraverser) && ((SqlgTraverser) object).t.equals(this.t) && ((SqlgTraverser) object).future.equals(this.future) && ((SqlgTraverser) object).loops == this.loops && (null == this.sack || null != this.sideEffects.getSackMerger()); } else { return super.equals(object); } }
@Override public void merge(final Traverser.Admin<?> other) { super.merge(other); if (null != this.sack && null != this.sideEffects.getSackMerger()) this.sack = this.sideEffects.getSackMerger().apply(this.sack, other.sack()); }
@Override public void merge(final Traverser.Admin<?> other) { super.merge(other); if (null != this.sack && null != this.sideEffects.getSackMerger()) this.sack = this.sideEffects.getSackMerger().apply(this.sack, other.sack()); }
@Override public void merge(final Traverser.Admin<?> other) { if (this.requiresOneBulk) { //O_Traverser if (!other.getTags().isEmpty()) { if (this.tags == null) this.tags = new HashSet<>(); this.tags.addAll(other.getTags()); } //skip the B_O_Traverser //B_O_Traverser //this.bulk = this.bulk + other.bulk(); //B_O_S_SE_SL_Traverser if (null != this.sack && null != this.sideEffects.getSackMerger()) this.sack = this.sideEffects.getSackMerger().apply(this.sack, other.sack()); } else { super.merge(other); } }
@Override public void merge(final Traverser.Admin<?> other) { if (this.requiresOneBulk) { //O_Traverser if (!other.getTags().isEmpty()) { if (this.tags == null) this.tags = new HashSet<>(); this.tags.addAll(other.getTags()); } //skip the B_O_Traverser //B_O_Traverser //this.bulk = this.bulk + other.bulk(); //B_O_S_SE_SL_Traverser if (null != this.sack && null != this.sideEffects.getSackMerger()) this.sack = this.sideEffects.getSackMerger().apply(this.sack, other.sack()); } else { super.merge(other); } }