001package gudusoft.gsqlparser.dlineage.graph.utils;
002
003import java.io.IOException;
004import java.io.Writer;
005
006public class AggregateTranslator extends CharSequenceTranslator {
007    private final CharSequenceTranslator[] translators;
008
009    public static <T> T[] clone(T[] array) {
010        return array == null ? null : (T[]) array.clone();
011    }
012
013    public AggregateTranslator(CharSequenceTranslator... translators) {
014        this.translators = (CharSequenceTranslator[])clone(translators);
015    }
016
017    public int translate(CharSequence input, int index, Writer out) throws IOException {
018        CharSequenceTranslator[] var4 = this.translators;
019        int var5 = var4.length;
020
021        for(int var6 = 0; var6 < var5; ++var6) {
022            CharSequenceTranslator translator = var4[var6];
023            int consumed = translator.translate(input, index, out);
024            if (consumed != 0) {
025                return consumed;
026            }
027        }
028
029        return 0;
030    }
031}