package model.personnality; import com.github.cliftonlabs.json_simple.JsonObject; import com.github.cliftonlabs.json_simple.Jsonable; import java.io.IOException; import java.io.StringWriter; import java.io.Writer; import java.nio.charset.StandardCharsets; import static api.JsonKeys.KEY_DESCRIPTION; import static api.JsonKeys.KEY_NAME; public class Trait implements Jsonable { private final String fName; private final String fDescription; public Trait(String iName, String iDescription){ fName = iName; fDescription = iDescription; } // ------------------------------------------------------------------ // Jsonable Implementation // ------------------------------------------------------------------ public JsonObject asJsonObject(){ JsonObject vResult = new JsonObject(); vResult.put(KEY_NAME, fName); vResult.put(KEY_DESCRIPTION, fDescription); return vResult; } @Override public String toJson() { final StringWriter writable = new StringWriter(); try{ this.toJson(writable); }catch(final IOException caught) { caught.printStackTrace(); } return writable.toString(); } @Override public void toJson(Writer writable) throws IOException { writable.write(new String(asJsonObject().toJson().getBytes(StandardCharsets.UTF_8), StandardCharsets.UTF_8)); } }