package mineplex.serverdata; import com.google.gson.Gson; import com.google.gson.GsonBuilder; /** * Utility offers various necessary utility-based methods for use in Mineplex.ServerData. * @author Ty * */ public class Utility { // The Gson instance used to serialize/deserialize objects in JSON form. private static Gson _gson = new GsonBuilder().create(); public static Gson getGson() { return _gson; } /** * @param object - the (non-null) object to serialize * @return the serialized form of {@code object}. */ public static String serialize(Object object) { return _gson.toJson(object); } /** * @param serializedData - the serialized data to be deserialized * @param type - the resulting class type of the object to be deserialized * @return the deserialized form of {@code serializedData} for class {@code type}. */ public static T deserialize(String serializedData, Class type) { return _gson.fromJson(serializedData, type); } /** * @param delimiter - the delimiter character used to separate the concatenated elements * @param elements - the set of string elements to be concatenated and returned. * @return the concatenated string of all {@code elements} separated by the {@code delimiter}. */ public static String concatenate(char delimiter, String... elements) { int length = elements.length; String result = length > 0 ? elements[0] : new String(); for (int i = 1; i < length; i++) { result += delimiter + elements[i]; } return result; } }