All Downloads are FREE. Search and download functionalities are using the official Maven repository.

net.vvakame.util.jsonpullparser.builder.JsonPropertyBuilder Maven / Gradle / Ivy

The newest version!
package net.vvakame.util.jsonpullparser.builder;

/**
 * JSON property builder.
 * @author vvakame
 * @param 
 * @param 

*/ public class JsonPropertyBuilder implements JsonPropertyBuilderCreator { Class> coderClass; String name; JsonModelCoder

coder; JsonCoderRouter

router; /** * the constructor. * @param coderClass * @param name * @param coder * @param router * @category constructor */ public JsonPropertyBuilder(Class> coderClass, String name, JsonModelCoder

coder, JsonCoderRouter

router) { this.coderClass = coderClass; this.name = name; this.coder = coder; this.router = router; } @Override @SuppressWarnings("unchecked") public JsonPropertyBuilder get() { return this; } /** * Sets the JSON key name it uses. * @param name * @return this * @author vvakame */ public JsonPropertyBuilder name(String name) { this.name = name; return this; } /** * Sets the JSON value coder it uses. * @param coder * @return this * @author vvakame */ public JsonPropertyBuilder coder(JsonModelCoder

coder) { this.coder = coder; return this; } /** * Sets the JSON value router it uses. * @param router * @return this * @author vvakame */ public JsonPropertyBuilder router(JsonCoderRouter

router) { this.router = router; return this; } /** * Fixiates the current state for coding. * * @return A JsonModelCoder instance for the actual coding. * @author vvakame */ public JsonPropertyCoder fix() { JsonPropertyCoder coder = null; try { coder = coderClass.newInstance(); } catch (InstantiationException e) { throw new IllegalArgumentException(e); } catch (IllegalAccessException e) { throw new IllegalArgumentException(e); } coder.name = this.name; coder.coder = this.coder; coder.router = this.router; return coder; } }





© 2015 - 2025 Weber Informatics LLC | Privacy Policy