CharSequenceTranslator.java 2.78 KB
package org.apache.commons.lang3.text.translate;

import java.io.IOException;
import java.io.StringWriter;
import java.io.Writer;
import java.util.Locale;

public abstract class CharSequenceTranslator
{
  static final char[] a = { 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 65, 66, 67, 68, 69, 70 };
  
  public static String hex(int paramInt)
  {
    return Integer.toHexString(paramInt).toUpperCase(Locale.ENGLISH);
  }
  
  public abstract int translate(CharSequence paramCharSequence, int paramInt, Writer paramWriter)
    throws IOException;
  
  public final String translate(CharSequence paramCharSequence)
  {
    if (paramCharSequence == null) {
      return null;
    }
    try
    {
      StringWriter localStringWriter = new StringWriter(paramCharSequence.length() * 2);
      translate(paramCharSequence, localStringWriter);
      paramCharSequence = localStringWriter.toString();
      return paramCharSequence;
    }
    catch (IOException paramCharSequence)
    {
      throw new RuntimeException(paramCharSequence);
    }
  }
  
  public final void translate(CharSequence paramCharSequence, Writer paramWriter)
    throws IOException
  {
    if (paramWriter == null) {
      throw new IllegalArgumentException("The Writer must not be null");
    }
    if (paramCharSequence == null) {}
    for (;;)
    {
      return;
      int k = paramCharSequence.length();
      int i = 0;
      while (i < k)
      {
        int m = translate(paramCharSequence, i, paramWriter);
        int j;
        if (m == 0)
        {
          char c = paramCharSequence.charAt(i);
          paramWriter.write(c);
          j = i + 1;
          i = j;
          if (Character.isHighSurrogate(c))
          {
            i = j;
            if (j < k)
            {
              c = paramCharSequence.charAt(j);
              i = j;
              if (Character.isLowSurrogate(c))
              {
                paramWriter.write(c);
                i = j + 1;
              }
            }
          }
        }
        else
        {
          j = 0;
          while (j < m)
          {
            i += Character.charCount(Character.codePointAt(paramCharSequence, i));
            j += 1;
          }
        }
      }
    }
  }
  
  public final CharSequenceTranslator with(CharSequenceTranslator... paramVarArgs)
  {
    CharSequenceTranslator[] arrayOfCharSequenceTranslator = new CharSequenceTranslator[paramVarArgs.length + 1];
    arrayOfCharSequenceTranslator[0] = this;
    System.arraycopy(paramVarArgs, 0, arrayOfCharSequenceTranslator, 1, paramVarArgs.length);
    return new AggregateTranslator(arrayOfCharSequenceTranslator);
  }
}


/* Location:              /home/merong/decompile/hackery-dex2jar.jar!/org/apache/commons/lang3/text/translate/CharSequenceTranslator.class
 * Java compiler version: 6 (50.0)
 * JD-Core Version:       0.7.1
 */