package com.google.common.base;

import java.util.Iterator;

public final class Splitter
{
  private final int limit;
  private final boolean omitEmptyStrings;
  private final Strategy strategy;
  private final CharMatcher trimmer;

  private Splitter(Strategy paramStrategy)
  {
    this(paramStrategy, false, CharMatcher.NONE, 2147483647);
  }

  private Splitter(Strategy paramStrategy, boolean paramBoolean, CharMatcher paramCharMatcher, int paramInt)
  {
    this.strategy = paramStrategy;
    this.omitEmptyStrings = paramBoolean;
    this.trimmer = paramCharMatcher;
    this.limit = paramInt;
  }

  public static Splitter fixedLength(int paramInt)
  {
    if (paramInt > 0);
    for (boolean bool = true; ; bool = false)
    {
      Preconditions.checkArgument(bool, "The length may not be less than 1");
      return new Splitter(new Strategy()
      {
        public Splitter.SplittingIterator iterator(Splitter paramAnonymousSplitter, CharSequence paramAnonymousCharSequence)
        {
          return new Splitter.SplittingIterator(paramAnonymousSplitter, paramAnonymousCharSequence)
          {
            public int separatorEnd(int paramAnonymous2Int)
            {
              return paramAnonymous2Int;
            }

            public int separatorStart(int paramAnonymous2Int)
            {
              int i = paramAnonymous2Int + Splitter.4.this.val$length;
              if (i < this.toSplit.length())
                return i;
              return -1;
            }
          };
        }
      });
    }
  }

  private Iterator<String> spliterator(CharSequence paramCharSequence)
  {
    return this.strategy.iterator(this, paramCharSequence);
  }

  public Iterable<String> split(final CharSequence paramCharSequence)
  {
    Preconditions.checkNotNull(paramCharSequence);
    return new Iterable()
    {
      public Iterator<String> iterator()
      {
        return Splitter.this.spliterator(paramCharSequence);
      }

      public String toString()
      {
        return ']';
      }
    };
  }

  private static abstract class SplittingIterator extends AbstractIterator<String>
  {
    int limit;
    int offset = 0;
    final boolean omitEmptyStrings;
    final CharSequence toSplit;
    final CharMatcher trimmer;

    protected SplittingIterator(Splitter paramSplitter, CharSequence paramCharSequence)
    {
      this.trimmer = paramSplitter.trimmer;
      this.omitEmptyStrings = paramSplitter.omitEmptyStrings;
      this.limit = paramSplitter.limit;
      this.toSplit = paramCharSequence;
    }

    protected String computeNext()
    {
      int i = this.offset;
      while (this.offset != -1)
      {
        int j = i;
        int k = separatorStart(this.offset);
        int m;
        if (k == -1)
          m = this.toSplit.length();
        for (this.offset = -1; ; this.offset = separatorEnd(k))
        {
          if (this.offset != i)
            break label102;
          this.offset = (1 + this.offset);
          if (this.offset < this.toSplit.length())
            break;
          this.offset = -1;
          break;
          m = k;
        }
        label102: 
        while ((j < m) && (this.trimmer.matches(this.toSplit.charAt(j))))
          j++;
        while ((m > j) && (this.trimmer.matches(this.toSplit.charAt(m - 1))))
          m--;
        if ((this.omitEmptyStrings) && (j == m))
        {
          i = this.offset;
        }
        else
        {
          if (this.limit == 1)
          {
            m = this.toSplit.length();
            this.offset = -1;
            while ((m > j) && (this.trimmer.matches(this.toSplit.charAt(m - 1))))
              m--;
          }
          this.limit = (-1 + this.limit);
          return this.toSplit.subSequence(j, m).toString();
        }
      }
      return (String)endOfData();
    }

    abstract int separatorEnd(int paramInt);

    abstract int separatorStart(int paramInt);
  }

  private static abstract interface Strategy
  {
    public abstract Iterator<String> iterator(Splitter paramSplitter, CharSequence paramCharSequence);
  }
}

/* Location:           C:\Documents and Settings\Cesar Cabello Cea\Mis documentos\Downloads\apk-downloader\com.ikea.kompis-6_dex2jar.jar
 * Qualified Name:     com.google.common.base.Splitter
 * JD-Core Version:    0.6.2
 */