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}