Android Open Source - JsonPullParser Json Model Builder






From Project

Back to project page JsonPullParser.

License

The source code is released under:

Apache License

If you think the Android project JsonPullParser listed in this page is inappropriate, such as containing malicious code/tools or violating the copyright, please email info at java2s dot com, thanks.

Java Source Code

package net.vvakame.util.jsonpullparser.builder;
//www.j  ava 2 s.  c om
import java.util.LinkedHashMap;
import java.util.Map;

/**
 * JSON model builder.
 * @author vvakame
 * @param <T>
 */
public abstract class JsonModelBuilder<T> {

  protected Class<T> baseClass;

  protected boolean treatUnknownKeyAsError;

  protected Map<String, JsonPropertyBuilder<T, ?>> map =
      new LinkedHashMap<String, JsonPropertyBuilder<T, ?>>();


  /**
   * the constructor.
   * @param baseClass 
   * @param treatUnknownKeyAsError
   * @category constructor
   */
  public JsonModelBuilder(Class<T> baseClass, boolean treatUnknownKeyAsError) {
    this.baseClass = baseClass;
    this.treatUnknownKeyAsError = treatUnknownKeyAsError;
  }

  /**
   * Attaches property builder for the all types.
   * @return this
   * @author vvakame
   */
  public abstract JsonModelBuilder<T> addAll();

  /**
   * Attaches property builder for the given types.
   * @param creators
   * @return this
   * @author vvakame
   */
  public <P>JsonModelBuilder<T> add(JsonPropertyBuilderCreator<T>... creators) {
    for (JsonPropertyBuilderCreator<T> creator : creators) {
      addSub(creator.<P> get());
    }
    return this;
  }

  /**
   * Attaches property builder for the given types.
   * @param creator 
   * @return this
   * @author vvakame
   */
  public <P>JsonModelBuilder<T> add(JsonPropertyBuilderCreator<T> creator) {
    addSub(creator.<P> get());
    return this;
  }

  /**
   * Attaches property builder for the given types.
   * @param creator1 
   * @param creator2 
   * @return this
   * @author vvakame
   */
  public <P>JsonModelBuilder<T> add(JsonPropertyBuilderCreator<T> creator1,
      JsonPropertyBuilderCreator<T> creator2) {
    addSub(creator1.<P> get());
    addSub(creator2.<P> get());
    return this;
  }

  /**
   * Attaches property builder for the given types.
   * @param creator1 
   * @param creator2 
   * @param creator3 
   * @return this
   * @author vvakame
   */
  public <P>JsonModelBuilder<T> add(JsonPropertyBuilderCreator<T> creator1,
      JsonPropertyBuilderCreator<T> creator2, JsonPropertyBuilderCreator<T> creator3) {
    addSub(creator1.<P> get());
    addSub(creator2.<P> get());
    addSub(creator3.<P> get());
    return this;
  }

  /**
   * Attaches property builder for the given types.
   * @param creator1 
   * @param creator2 
   * @param creator3 
   * @param creator4 
   * @return this
   * @author vvakame
   */
  public <P>JsonModelBuilder<T> add(JsonPropertyBuilderCreator<T> creator1,
      JsonPropertyBuilderCreator<T> creator2, JsonPropertyBuilderCreator<T> creator3,
      JsonPropertyBuilderCreator<T> creator4) {
    addSub(creator1.<P> get());
    addSub(creator2.<P> get());
    addSub(creator3.<P> get());
    addSub(creator4.<P> get());
    return this;
  }

  /**
   * Attaches property builder for the given types.
   * @param creator1 
   * @param creator2 
   * @param creator3 
   * @param creator4 
   * @param creator5 
   * @return this
   * @author vvakame
   */
  public <P>JsonModelBuilder<T> add(JsonPropertyBuilderCreator<T> creator1,
      JsonPropertyBuilderCreator<T> creator2, JsonPropertyBuilderCreator<T> creator3,
      JsonPropertyBuilderCreator<T> creator4, JsonPropertyBuilderCreator<T> creator5) {
    addSub(creator1.<P> get());
    addSub(creator2.<P> get());
    addSub(creator3.<P> get());
    addSub(creator4.<P> get());
    addSub(creator5.<P> get());
    return this;
  }

  /**
   * Attaches property builder for the given types.
   * @param creator1 
   * @param creator2 
   * @param creator3 
   * @param creator4 
   * @param creator5 
   * @param creator6 
   * @return this
   * @author vvakame
   */
  public <P>JsonModelBuilder<T> add(JsonPropertyBuilderCreator<T> creator1,
      JsonPropertyBuilderCreator<T> creator2, JsonPropertyBuilderCreator<T> creator3,
      JsonPropertyBuilderCreator<T> creator4, JsonPropertyBuilderCreator<T> creator5,
      JsonPropertyBuilderCreator<T> creator6) {
    addSub(creator1.<P> get());
    addSub(creator2.<P> get());
    addSub(creator3.<P> get());
    addSub(creator4.<P> get());
    addSub(creator5.<P> get());
    addSub(creator6.<P> get());
    return this;
  }

  /**
   * Attaches property builder for the given types.
   * @param creator1 
   * @param creator2 
   * @param creator3 
   * @param creator4 
   * @param creator5 
   * @param creator6 
   * @param creator7 
   * @return this
   * @author vvakame
   */
  public <P>JsonModelBuilder<T> add(JsonPropertyBuilderCreator<T> creator1,
      JsonPropertyBuilderCreator<T> creator2, JsonPropertyBuilderCreator<T> creator3,
      JsonPropertyBuilderCreator<T> creator4, JsonPropertyBuilderCreator<T> creator5,
      JsonPropertyBuilderCreator<T> creator6, JsonPropertyBuilderCreator<T> creator7) {
    addSub(creator1.<P> get());
    addSub(creator2.<P> get());
    addSub(creator3.<P> get());
    addSub(creator4.<P> get());
    addSub(creator5.<P> get());
    addSub(creator6.<P> get());
    addSub(creator7.<P> get());
    return this;
  }

  /**
   * Attaches property builder for the given types.
   * @param creator1 
   * @param creator2 
   * @param creator3 
   * @param creator4 
   * @param creator5 
   * @param creator6 
   * @param creator7 
   * @param creator8 
   * @return this
   * @author vvakame
   */
  public <P>JsonModelBuilder<T> add(JsonPropertyBuilderCreator<T> creator1,
      JsonPropertyBuilderCreator<T> creator2, JsonPropertyBuilderCreator<T> creator3,
      JsonPropertyBuilderCreator<T> creator4, JsonPropertyBuilderCreator<T> creator5,
      JsonPropertyBuilderCreator<T> creator6, JsonPropertyBuilderCreator<T> creator7,
      JsonPropertyBuilderCreator<T> creator8) {
    addSub(creator1.<P> get());
    addSub(creator2.<P> get());
    addSub(creator3.<P> get());
    addSub(creator4.<P> get());
    addSub(creator5.<P> get());
    addSub(creator6.<P> get());
    addSub(creator7.<P> get());
    addSub(creator8.<P> get());
    return this;
  }

  /**
   * Attaches property builder for the given types.
   * @param creator1 
   * @param creator2 
   * @param creator3 
   * @param creator4 
   * @param creator5 
   * @param creator6 
   * @param creator7 
   * @param creator8 
   * @param creator9 
   * @return this
   * @author vvakame
   */
  public <P>JsonModelBuilder<T> add(JsonPropertyBuilderCreator<T> creator1,
      JsonPropertyBuilderCreator<T> creator2, JsonPropertyBuilderCreator<T> creator3,
      JsonPropertyBuilderCreator<T> creator4, JsonPropertyBuilderCreator<T> creator5,
      JsonPropertyBuilderCreator<T> creator6, JsonPropertyBuilderCreator<T> creator7,
      JsonPropertyBuilderCreator<T> creator8, JsonPropertyBuilderCreator<T> creator9) {
    addSub(creator1.<P> get());
    addSub(creator2.<P> get());
    addSub(creator3.<P> get());
    addSub(creator4.<P> get());
    addSub(creator5.<P> get());
    addSub(creator6.<P> get());
    addSub(creator7.<P> get());
    addSub(creator8.<P> get());
    addSub(creator9.<P> get());
    return this;
  }

  /**
   * Attaches property builder for the given types.
   * @param creator1 
   * @param creator2 
   * @param creator3 
   * @param creator4 
   * @param creator5 
   * @param creator6 
   * @param creator7 
   * @param creator8 
   * @param creator9 
   * @param creator10 
   * @return this
   * @author vvakame
   */
  public <P>JsonModelBuilder<T> add(JsonPropertyBuilderCreator<T> creator1,
      JsonPropertyBuilderCreator<T> creator2, JsonPropertyBuilderCreator<T> creator3,
      JsonPropertyBuilderCreator<T> creator4, JsonPropertyBuilderCreator<T> creator5,
      JsonPropertyBuilderCreator<T> creator6, JsonPropertyBuilderCreator<T> creator7,
      JsonPropertyBuilderCreator<T> creator8, JsonPropertyBuilderCreator<T> creator9,
      JsonPropertyBuilderCreator<T> creator10) {
    addSub(creator1.<P> get());
    addSub(creator2.<P> get());
    addSub(creator3.<P> get());
    addSub(creator4.<P> get());
    addSub(creator5.<P> get());
    addSub(creator6.<P> get());
    addSub(creator7.<P> get());
    addSub(creator8.<P> get());
    addSub(creator9.<P> get());
    addSub(creator10.<P> get());
    return this;
  }

  protected <P>void addSub(JsonPropertyBuilder<T, P> builder) {
    map.put(builder.name, builder);
  }

  /**
   * Detaches property builder for the given types.
   * @param creators
   * @return this
   * @author vvakame
   */
  public <P>JsonModelBuilder<T> rm(JsonPropertyBuilderCreator<T>... creators) {
    for (JsonPropertyBuilderCreator<T> creator : creators) {
      rmSub(creator.<P> get());
    }
    return this;
  }

  protected <P>void rmSub(JsonPropertyBuilder<T, P> builder) {
    map.remove(builder.name);
  }

  /**
   * Detaches property builder for the given types.
   * @param creator
   * @return this
   * @author vvakame
   */
  public <P>JsonModelBuilder<T> rm(JsonPropertyBuilderCreator<T> creator) {
    rmSub(creator.<P> get());
    return this;
  }

  /**
   * Detaches property builder for the given types.
   * @param creator1
   * @param creator2 
   * @return this
   * @author vvakame
   */
  public <P>JsonModelBuilder<T> rm(JsonPropertyBuilderCreator<T> creator1,
      JsonPropertyBuilderCreator<T> creator2) {
    rmSub(creator1.<P> get());
    rmSub(creator2.<P> get());
    return this;
  }

  /**
   * Detaches property builder for the given types.
   * @param creator1
   * @param creator2 
   * @param creator3 
   * @return this
   * @author vvakame
   */
  public <P>JsonModelBuilder<T> rm(JsonPropertyBuilderCreator<T> creator1,
      JsonPropertyBuilderCreator<T> creator2, JsonPropertyBuilderCreator<T> creator3) {
    rmSub(creator1.<P> get());
    rmSub(creator2.<P> get());
    rmSub(creator3.<P> get());
    return this;
  }

  /**
   * Detaches property builder for the given types.
   * @param creator1
   * @param creator2 
   * @param creator3 
   * @param creator4 
   * @return this
   * @author vvakame
   */
  public <P>JsonModelBuilder<T> rm(JsonPropertyBuilderCreator<T> creator1,
      JsonPropertyBuilderCreator<T> creator2, JsonPropertyBuilderCreator<T> creator3,
      JsonPropertyBuilderCreator<T> creator4) {
    rmSub(creator1.<P> get());
    rmSub(creator2.<P> get());
    rmSub(creator3.<P> get());
    rmSub(creator4.<P> get());
    return this;
  }

  /**
   * Detaches property builder for the given types.
   * @param creator1
   * @param creator2 
   * @param creator3 
   * @param creator4 
   * @param creator5 
   * @return this
   * @author vvakame
   */
  public <P>JsonModelBuilder<T> rm(JsonPropertyBuilderCreator<T> creator1,
      JsonPropertyBuilderCreator<T> creator2, JsonPropertyBuilderCreator<T> creator3,
      JsonPropertyBuilderCreator<T> creator4, JsonPropertyBuilderCreator<T> creator5) {
    rmSub(creator1.<P> get());
    rmSub(creator2.<P> get());
    rmSub(creator3.<P> get());
    rmSub(creator4.<P> get());
    rmSub(creator5.<P> get());
    return this;
  }

  /**
   * Detaches property builder for the given types.
   * @param creator1
   * @param creator2 
   * @param creator3 
   * @param creator4 
   * @param creator5 
   * @param creator6 
   * @return this
   * @author vvakame
   */
  public <P>JsonModelBuilder<T> rm(JsonPropertyBuilderCreator<T> creator1,
      JsonPropertyBuilderCreator<T> creator2, JsonPropertyBuilderCreator<T> creator3,
      JsonPropertyBuilderCreator<T> creator4, JsonPropertyBuilderCreator<T> creator5,
      JsonPropertyBuilderCreator<T> creator6) {
    rmSub(creator1.<P> get());
    rmSub(creator2.<P> get());
    rmSub(creator3.<P> get());
    rmSub(creator4.<P> get());
    rmSub(creator5.<P> get());
    rmSub(creator6.<P> get());
    return this;
  }

  /**
   * Detaches property builder for the given types.
   * @param creator1
   * @param creator2 
   * @param creator3 
   * @param creator4 
   * @param creator5 
   * @param creator6 
   * @param creator7 
   * @return this
   * @author vvakame
   */
  public <P>JsonModelBuilder<T> rm(JsonPropertyBuilderCreator<T> creator1,
      JsonPropertyBuilderCreator<T> creator2, JsonPropertyBuilderCreator<T> creator3,
      JsonPropertyBuilderCreator<T> creator4, JsonPropertyBuilderCreator<T> creator5,
      JsonPropertyBuilderCreator<T> creator6, JsonPropertyBuilderCreator<T> creator7) {
    rmSub(creator1.<P> get());
    rmSub(creator2.<P> get());
    rmSub(creator3.<P> get());
    rmSub(creator4.<P> get());
    rmSub(creator5.<P> get());
    rmSub(creator6.<P> get());
    rmSub(creator7.<P> get());
    return this;
  }

  /**
   * Detaches property builder for the given types.
   * @param creator1
   * @param creator2 
   * @param creator3 
   * @param creator4 
   * @param creator5 
   * @param creator6 
   * @param creator7 
   * @param creator8 
   * @return this
   * @author vvakame
   */
  public <P>JsonModelBuilder<T> rm(JsonPropertyBuilderCreator<T> creator1,
      JsonPropertyBuilderCreator<T> creator2, JsonPropertyBuilderCreator<T> creator3,
      JsonPropertyBuilderCreator<T> creator4, JsonPropertyBuilderCreator<T> creator5,
      JsonPropertyBuilderCreator<T> creator6, JsonPropertyBuilderCreator<T> creator7,
      JsonPropertyBuilderCreator<T> creator8) {
    rmSub(creator1.<P> get());
    rmSub(creator2.<P> get());
    rmSub(creator3.<P> get());
    rmSub(creator4.<P> get());
    rmSub(creator5.<P> get());
    rmSub(creator6.<P> get());
    rmSub(creator7.<P> get());
    rmSub(creator8.<P> get());
    return this;
  }

  /**
   * Detaches property builder for the given types.
   * @param creator1
   * @param creator2 
   * @param creator3 
   * @param creator4 
   * @param creator5 
   * @param creator6 
   * @param creator7 
   * @param creator8 
   * @param creator9 
   * @return this
   * @author vvakame
   */
  public <P>JsonModelBuilder<T> rm(JsonPropertyBuilderCreator<T> creator1,
      JsonPropertyBuilderCreator<T> creator2, JsonPropertyBuilderCreator<T> creator3,
      JsonPropertyBuilderCreator<T> creator4, JsonPropertyBuilderCreator<T> creator5,
      JsonPropertyBuilderCreator<T> creator6, JsonPropertyBuilderCreator<T> creator7,
      JsonPropertyBuilderCreator<T> creator8, JsonPropertyBuilderCreator<T> creator9) {
    rmSub(creator1.<P> get());
    rmSub(creator2.<P> get());
    rmSub(creator3.<P> get());
    rmSub(creator4.<P> get());
    rmSub(creator5.<P> get());
    rmSub(creator6.<P> get());
    rmSub(creator7.<P> get());
    rmSub(creator8.<P> get());
    rmSub(creator9.<P> get());
    return this;
  }

  /**
   * Detaches property builder for the given types.
   * @param creator1
   * @param creator2 
   * @param creator3 
   * @param creator4 
   * @param creator5 
   * @param creator6 
   * @param creator7 
   * @param creator8 
   * @param creator9 
   * @param creator10 
   * @return this
   * @author vvakame
   */
  public <P>JsonModelBuilder<T> rm(JsonPropertyBuilderCreator<T> creator1,
      JsonPropertyBuilderCreator<T> creator2, JsonPropertyBuilderCreator<T> creator3,
      JsonPropertyBuilderCreator<T> creator4, JsonPropertyBuilderCreator<T> creator5,
      JsonPropertyBuilderCreator<T> creator6, JsonPropertyBuilderCreator<T> creator7,
      JsonPropertyBuilderCreator<T> creator8, JsonPropertyBuilderCreator<T> creator9,
      JsonPropertyBuilderCreator<T> creator10) {
    rmSub(creator1.<P> get());
    rmSub(creator2.<P> get());
    rmSub(creator3.<P> get());
    rmSub(creator4.<P> get());
    rmSub(creator5.<P> get());
    rmSub(creator6.<P> get());
    rmSub(creator7.<P> get());
    rmSub(creator8.<P> get());
    rmSub(creator9.<P> get());
    rmSub(creator10.<P> get());
    return this;
  }

  /**
   * Detaches property builder for the given names.
   * @param names
   * @return this
   * @author vvakame
   */
  public JsonModelBuilder<T> rm(String... names) {
    for (String name : names) {
      rmSub(name);
    }
    return this;
  }

  protected void rmSub(String name) {
    map.remove(name);
  }

  /**
   * Sets if the exception should be thrown upon deserializing unknown keys.
   * @param treatUnknownKeyAsError
   * @return this
   * @author vvakame
   */
  public JsonModelBuilder<T> treatUnknownKeyAsError(boolean treatUnknownKeyAsError) {
    this.treatUnknownKeyAsError = treatUnknownKeyAsError;
    return this;
  }

  /**
   * Fixiates the current state for coding.
   * @return A JsonModelCoder instance for the actual coding.
   * @author vvakame
   */
  public JsonModelCoder<T> fix() {
    Map<String, JsonPropertyCoder<T, ?>> properties =
        new LinkedHashMap<String, JsonPropertyCoder<T, ?>>();
    for (String key : map.keySet()) {
      JsonPropertyBuilder<T, ?> builder = map.get(key);
      JsonPropertyCoder<T, ?> fixed = builder.fix();
      properties.put(key, fixed);
    }

    JsonModelCoder<T> fixed =
        new JsonModelCoder<T>(baseClass, treatUnknownKeyAsError, properties);
    return fixed;
  }
}




Java Source Code List

net.vvakame.apt.AptUtil.java
net.vvakame.jsonpullparser.android.sample.MainActivity.java
net.vvakame.sample.BaseData.java
net.vvakame.sample.BuilderData.java
net.vvakame.sample.ComplexData2.java
net.vvakame.sample.ComplexData.java
net.vvakame.sample.ContainsAnotherPackageObjectData.java
net.vvakame.sample.ConverterData.java
net.vvakame.sample.ExtendsData1.java
net.vvakame.sample.ExtendsData2.java
net.vvakame.sample.ForInnerClassData.java
net.vvakame.sample.GenToPackagePrivateData.java
net.vvakame.sample.JsonMetaToPackagePrivateValidData.java
net.vvakame.sample.MiniData.java
net.vvakame.sample.NestDepth1Data.java
net.vvakame.sample.NestDepth2Data.java
net.vvakame.sample.NestParentData.java
net.vvakame.sample.PrimitiveTypeData.java
net.vvakame.sample.PrimitiveWrapperData.java
net.vvakame.sample.PrimitiveWrapperListData.java
net.vvakame.sample.SampleEnum.java
net.vvakame.sample.SortOrderData1.java
net.vvakame.sample.SortOrderData2.java
net.vvakame.sample.StoreJsonData1.java
net.vvakame.sample.StoreJsonData2.java
net.vvakame.sample.TestData.java
net.vvakame.sample.anotherpackage.AnotherPackageClass.java
net.vvakame.sample.converter.IntFlattenConverter.java
net.vvakame.sample.converter.StringDiscardConverter.java
net.vvakame.sample.duma.ItemMapConverter.java
net.vvakame.sample.duma.Item.java
net.vvakame.sample.duma.ReadItLater.java
net.vvakame.sample.issue25.Issue25.java
net.vvakame.sample.issue28.Issue28.java
net.vvakame.sample.issue2.Child0ValueP0.java
net.vvakame.sample.issue2.Child0ValueP1.java
net.vvakame.sample.issue2.Child1ValueP0.java
net.vvakame.sample.issue2.Child1ValueP1.java
net.vvakame.sample.issue2.Grandchild0ValueC0P0.java
net.vvakame.sample.issue2.Grandchild0ValueC0P1.java
net.vvakame.sample.issue2.Grandchild0ValueC1P0.java
net.vvakame.sample.issue2.Grandchild0ValueC1P1.java
net.vvakame.sample.issue2.Grandchild1ValueC0P0.java
net.vvakame.sample.issue2.Grandchild1ValueC0P1.java
net.vvakame.sample.issue2.Grandchild1ValueC1P0.java
net.vvakame.sample.issue2.Grandchild1ValueC1P1.java
net.vvakame.sample.issue2.Parent0Value.java
net.vvakame.sample.issue2.Parent1Value.java
net.vvakame.sample.issue30.PrimitiveList.java
net.vvakame.sample.issue30.RecursiveStructure.java
net.vvakame.sample.issue31.BaseData.java
net.vvakame.sample.issue31.ExtendData.java
net.vvakame.sample.twitter.Place.java
net.vvakame.sample.twitter.Place.java
net.vvakame.sample.twitter.Tweet.java
net.vvakame.sample.twitter.Tweet.java
net.vvakame.sample.twitter.User.java
net.vvakame.sample.twitter.User.java
net.vvakame.twitter.ResultTweet.java
net.vvakame.twitter.SearchResult.java
net.vvakame.util.jsonpullparser.JsonFormatException.java
net.vvakame.util.jsonpullparser.JsonPullParser.java
net.vvakame.util.jsonpullparser.JsonSlice.java
net.vvakame.util.jsonpullparser.Stack.java
net.vvakame.util.jsonpullparser.annotation.JsonKey.java
net.vvakame.util.jsonpullparser.annotation.JsonModel.java
net.vvakame.util.jsonpullparser.annotation.StoreJson.java
net.vvakame.util.jsonpullparser.builder.JsonCoderRouter.java
net.vvakame.util.jsonpullparser.builder.JsonModelBuilder.java
net.vvakame.util.jsonpullparser.builder.JsonModelCoder.java
net.vvakame.util.jsonpullparser.builder.JsonPropertyBuilderCreator.java
net.vvakame.util.jsonpullparser.builder.JsonPropertyBuilder.java
net.vvakame.util.jsonpullparser.builder.JsonPropertyCoder.java
net.vvakame.util.jsonpullparser.builder.JsonPropertyMeta.java
net.vvakame.util.jsonpullparser.factory.JsonAnnotationProcessor.java
net.vvakame.util.jsonpullparser.factory.JsonKeyModel.java
net.vvakame.util.jsonpullparser.factory.JsonModelGenerator.java
net.vvakame.util.jsonpullparser.factory.JsonModelModel.java
net.vvakame.util.jsonpullparser.factory.Log.java
net.vvakame.util.jsonpullparser.factory.StandardTypeKindVisitor.java
net.vvakame.util.jsonpullparser.factory.StoreJsonModel.java
net.vvakame.util.jsonpullparser.factory.template.MvelTemplate.java
net.vvakame.util.jsonpullparser.factory.template.Template.java
net.vvakame.util.jsonpullparser.googleapiclient.JppFactory.java
net.vvakame.util.jsonpullparser.googleapiclient.JppGenerator.java
net.vvakame.util.jsonpullparser.googleapiclient.JppParser.java
net.vvakame.util.jsonpullparser.util.JsonArray.java
net.vvakame.util.jsonpullparser.util.JsonHash.java
net.vvakame.util.jsonpullparser.util.JsonParseUtil.java
net.vvakame.util.jsonpullparser.util.JsonSliceUtil.java
net.vvakame.util.jsonpullparser.util.JsonUtil.java
net.vvakame.util.jsonpullparser.util.OnJsonObjectAddListener.java
net.vvakame.util.jsonpullparser.util.TokenConverter.java
net.vvakame.util.jsonpullparser.util.Type.java