package org.softlang.company.features; import com.google.gson.JsonArray; import com.google.gson.JsonElement; import com.google.gson.JsonObject; public class Cut { /** * Method to search for and cut "salary" properties in a JsonObject * @param obj JsonObject of the company to cut salaries from */ public static void cut(JsonObject obj) { if (obj.has("departments")) { cut(obj.getAsJsonArray("departments")); } if (obj.has("employees")) { cut(obj.getAsJsonArray("employees")); } if (obj.has("manager")) { cut(obj.getAsJsonObject("manager")); } if (obj.has("salary")) { double temp = obj.getAsJsonPrimitive("salary").getAsDouble(); obj.addProperty("salary", temp / 2); } } /** * Helper method for cut * @param arr JsonArray to search and cut salaries for */ private static void cut(JsonArray arr) { for (JsonElement temp : arr) if (temp.isJsonObject()) { cut(temp.getAsJsonObject()); } } }