net.intelie.pipes.InsertMerger Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of pipes-api Show documentation
Show all versions of pipes-api Show documentation
Intelie Pipes' API classes and interfaces
package net.intelie.pipes;
public interface InsertMerger {
void push(Tree tree);
void clear();
Tree get();
public static void pushMany(InsertMerger[] mergers, Tree[] trees) {
for (int i = 0; i < Math.min(mergers.length, trees.length); i++)
mergers[i].push(trees[i]);
}
public static void clearMany(InsertMerger[] mergers) {
for (InsertMerger merger : mergers) {
merger.clear();
}
}
public static Tree[] getMany(InsertMerger[] mergers) {
Tree[] trees = new Tree[mergers.length];
for (int i = 0; i < mergers.length; i++)
trees[i] = mergers[i].get();
return trees;
}
public static void pushMany(FullMerger[] mergers, Tree[] trees) {
for (int i = 0; i < Math.min(mergers.length, trees.length); i++)
mergers[i].push(trees[i]);
}
public static void clearMany(FullMerger[] mergers) {
for (FullMerger merger : mergers) {
merger.clear();
}
}
public static Tree[] getMany(FullMerger[] mergers) {
Tree[] trees = new Tree[mergers.length];
for (int i = 0; i < mergers.length; i++)
trees[i] = mergers[i].get();
return trees;
}
public abstract static class Base implements InsertMerger {
@Override
@SuppressWarnings("unchecked")
public void push(Tree tree) {
pushQ((Q) tree);
}
public abstract void pushQ(Q tree);
public abstract Q get();
}
}