/modules/apps/commerce/headless/headless-commerce/headless-commerce-delivery-cart-client/src/main/java/com/liferay/headless/commerce/delivery/cart/client/serdes/v1_0/SummarySerDes.java

https://github.com/danielreuther/liferay-portal · Java · 790 lines · 597 code · 176 blank · 17 comment · 230 complexity · a57899066488e47a7dd029d9e40230b1 MD5 · raw file

  1. /**
  2. * Copyright (c) 2000-present Liferay, Inc. All rights reserved.
  3. *
  4. * This library is free software; you can redistribute it and/or modify it under
  5. * the terms of the GNU Lesser General Public License as published by the Free
  6. * Software Foundation; either version 2.1 of the License, or (at your option)
  7. * any later version.
  8. *
  9. * This library is distributed in the hope that it will be useful, but WITHOUT
  10. * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
  11. * FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more
  12. * details.
  13. */
  14. package com.liferay.headless.commerce.delivery.cart.client.serdes.v1_0;
  15. import com.liferay.headless.commerce.delivery.cart.client.dto.v1_0.Summary;
  16. import com.liferay.headless.commerce.delivery.cart.client.json.BaseJSONParser;
  17. import java.util.Iterator;
  18. import java.util.Map;
  19. import java.util.Objects;
  20. import java.util.Set;
  21. import java.util.TreeMap;
  22. import javax.annotation.Generated;
  23. /**
  24. * @author Andrea Sbarra
  25. * @generated
  26. */
  27. @Generated("")
  28. public class SummarySerDes {
  29. public static Summary toDTO(String json) {
  30. SummaryJSONParser summaryJSONParser = new SummaryJSONParser();
  31. return summaryJSONParser.parseToDTO(json);
  32. }
  33. public static Summary[] toDTOs(String json) {
  34. SummaryJSONParser summaryJSONParser = new SummaryJSONParser();
  35. return summaryJSONParser.parseToDTOs(json);
  36. }
  37. public static String toJSON(Summary summary) {
  38. if (summary == null) {
  39. return "null";
  40. }
  41. StringBuilder sb = new StringBuilder();
  42. sb.append("{");
  43. if (summary.getCurrency() != null) {
  44. if (sb.length() > 1) {
  45. sb.append(", ");
  46. }
  47. sb.append("\"currency\": ");
  48. sb.append("\"");
  49. sb.append(_escape(summary.getCurrency()));
  50. sb.append("\"");
  51. }
  52. if (summary.getItemsQuantity() != null) {
  53. if (sb.length() > 1) {
  54. sb.append(", ");
  55. }
  56. sb.append("\"itemsQuantity\": ");
  57. sb.append(summary.getItemsQuantity());
  58. }
  59. if (summary.getShippingDiscountPercentages() != null) {
  60. if (sb.length() > 1) {
  61. sb.append(", ");
  62. }
  63. sb.append("\"shippingDiscountPercentages\": ");
  64. sb.append("[");
  65. for (int i = 0; i < summary.getShippingDiscountPercentages().length;
  66. i++) {
  67. sb.append("\"");
  68. sb.append(_escape(summary.getShippingDiscountPercentages()[i]));
  69. sb.append("\"");
  70. if ((i + 1) < summary.getShippingDiscountPercentages().length) {
  71. sb.append(", ");
  72. }
  73. }
  74. sb.append("]");
  75. }
  76. if (summary.getShippingDiscountValue() != null) {
  77. if (sb.length() > 1) {
  78. sb.append(", ");
  79. }
  80. sb.append("\"shippingDiscountValue\": ");
  81. sb.append(summary.getShippingDiscountValue());
  82. }
  83. if (summary.getShippingDiscountValueFormatted() != null) {
  84. if (sb.length() > 1) {
  85. sb.append(", ");
  86. }
  87. sb.append("\"shippingDiscountValueFormatted\": ");
  88. sb.append("\"");
  89. sb.append(_escape(summary.getShippingDiscountValueFormatted()));
  90. sb.append("\"");
  91. }
  92. if (summary.getShippingValue() != null) {
  93. if (sb.length() > 1) {
  94. sb.append(", ");
  95. }
  96. sb.append("\"shippingValue\": ");
  97. sb.append(summary.getShippingValue());
  98. }
  99. if (summary.getShippingValueFormatted() != null) {
  100. if (sb.length() > 1) {
  101. sb.append(", ");
  102. }
  103. sb.append("\"shippingValueFormatted\": ");
  104. sb.append("\"");
  105. sb.append(_escape(summary.getShippingValueFormatted()));
  106. sb.append("\"");
  107. }
  108. if (summary.getShippingValueWithTaxAmount() != null) {
  109. if (sb.length() > 1) {
  110. sb.append(", ");
  111. }
  112. sb.append("\"shippingValueWithTaxAmount\": ");
  113. sb.append(summary.getShippingValueWithTaxAmount());
  114. }
  115. if (summary.getShippingValueWithTaxAmountFormatted() != null) {
  116. if (sb.length() > 1) {
  117. sb.append(", ");
  118. }
  119. sb.append("\"shippingValueWithTaxAmountFormatted\": ");
  120. sb.append("\"");
  121. sb.append(
  122. _escape(summary.getShippingValueWithTaxAmountFormatted()));
  123. sb.append("\"");
  124. }
  125. if (summary.getSubtotal() != null) {
  126. if (sb.length() > 1) {
  127. sb.append(", ");
  128. }
  129. sb.append("\"subtotal\": ");
  130. sb.append(summary.getSubtotal());
  131. }
  132. if (summary.getSubtotalDiscountPercentages() != null) {
  133. if (sb.length() > 1) {
  134. sb.append(", ");
  135. }
  136. sb.append("\"subtotalDiscountPercentages\": ");
  137. sb.append("[");
  138. for (int i = 0; i < summary.getSubtotalDiscountPercentages().length;
  139. i++) {
  140. sb.append("\"");
  141. sb.append(_escape(summary.getSubtotalDiscountPercentages()[i]));
  142. sb.append("\"");
  143. if ((i + 1) < summary.getSubtotalDiscountPercentages().length) {
  144. sb.append(", ");
  145. }
  146. }
  147. sb.append("]");
  148. }
  149. if (summary.getSubtotalDiscountValue() != null) {
  150. if (sb.length() > 1) {
  151. sb.append(", ");
  152. }
  153. sb.append("\"subtotalDiscountValue\": ");
  154. sb.append(summary.getSubtotalDiscountValue());
  155. }
  156. if (summary.getSubtotalDiscountValueFormatted() != null) {
  157. if (sb.length() > 1) {
  158. sb.append(", ");
  159. }
  160. sb.append("\"subtotalDiscountValueFormatted\": ");
  161. sb.append("\"");
  162. sb.append(_escape(summary.getSubtotalDiscountValueFormatted()));
  163. sb.append("\"");
  164. }
  165. if (summary.getSubtotalFormatted() != null) {
  166. if (sb.length() > 1) {
  167. sb.append(", ");
  168. }
  169. sb.append("\"subtotalFormatted\": ");
  170. sb.append("\"");
  171. sb.append(_escape(summary.getSubtotalFormatted()));
  172. sb.append("\"");
  173. }
  174. if (summary.getTaxValue() != null) {
  175. if (sb.length() > 1) {
  176. sb.append(", ");
  177. }
  178. sb.append("\"taxValue\": ");
  179. sb.append(summary.getTaxValue());
  180. }
  181. if (summary.getTaxValueFormatted() != null) {
  182. if (sb.length() > 1) {
  183. sb.append(", ");
  184. }
  185. sb.append("\"taxValueFormatted\": ");
  186. sb.append("\"");
  187. sb.append(_escape(summary.getTaxValueFormatted()));
  188. sb.append("\"");
  189. }
  190. if (summary.getTotal() != null) {
  191. if (sb.length() > 1) {
  192. sb.append(", ");
  193. }
  194. sb.append("\"total\": ");
  195. sb.append(summary.getTotal());
  196. }
  197. if (summary.getTotalDiscountPercentages() != null) {
  198. if (sb.length() > 1) {
  199. sb.append(", ");
  200. }
  201. sb.append("\"totalDiscountPercentages\": ");
  202. sb.append("[");
  203. for (int i = 0; i < summary.getTotalDiscountPercentages().length;
  204. i++) {
  205. sb.append("\"");
  206. sb.append(_escape(summary.getTotalDiscountPercentages()[i]));
  207. sb.append("\"");
  208. if ((i + 1) < summary.getTotalDiscountPercentages().length) {
  209. sb.append(", ");
  210. }
  211. }
  212. sb.append("]");
  213. }
  214. if (summary.getTotalDiscountValue() != null) {
  215. if (sb.length() > 1) {
  216. sb.append(", ");
  217. }
  218. sb.append("\"totalDiscountValue\": ");
  219. sb.append(summary.getTotalDiscountValue());
  220. }
  221. if (summary.getTotalDiscountValueFormatted() != null) {
  222. if (sb.length() > 1) {
  223. sb.append(", ");
  224. }
  225. sb.append("\"totalDiscountValueFormatted\": ");
  226. sb.append("\"");
  227. sb.append(_escape(summary.getTotalDiscountValueFormatted()));
  228. sb.append("\"");
  229. }
  230. if (summary.getTotalFormatted() != null) {
  231. if (sb.length() > 1) {
  232. sb.append(", ");
  233. }
  234. sb.append("\"totalFormatted\": ");
  235. sb.append("\"");
  236. sb.append(_escape(summary.getTotalFormatted()));
  237. sb.append("\"");
  238. }
  239. sb.append("}");
  240. return sb.toString();
  241. }
  242. public static Map<String, Object> toMap(String json) {
  243. SummaryJSONParser summaryJSONParser = new SummaryJSONParser();
  244. return summaryJSONParser.parseToMap(json);
  245. }
  246. public static Map<String, String> toMap(Summary summary) {
  247. if (summary == null) {
  248. return null;
  249. }
  250. Map<String, String> map = new TreeMap<>();
  251. if (summary.getCurrency() == null) {
  252. map.put("currency", null);
  253. }
  254. else {
  255. map.put("currency", String.valueOf(summary.getCurrency()));
  256. }
  257. if (summary.getItemsQuantity() == null) {
  258. map.put("itemsQuantity", null);
  259. }
  260. else {
  261. map.put(
  262. "itemsQuantity", String.valueOf(summary.getItemsQuantity()));
  263. }
  264. if (summary.getShippingDiscountPercentages() == null) {
  265. map.put("shippingDiscountPercentages", null);
  266. }
  267. else {
  268. map.put(
  269. "shippingDiscountPercentages",
  270. String.valueOf(summary.getShippingDiscountPercentages()));
  271. }
  272. if (summary.getShippingDiscountValue() == null) {
  273. map.put("shippingDiscountValue", null);
  274. }
  275. else {
  276. map.put(
  277. "shippingDiscountValue",
  278. String.valueOf(summary.getShippingDiscountValue()));
  279. }
  280. if (summary.getShippingDiscountValueFormatted() == null) {
  281. map.put("shippingDiscountValueFormatted", null);
  282. }
  283. else {
  284. map.put(
  285. "shippingDiscountValueFormatted",
  286. String.valueOf(summary.getShippingDiscountValueFormatted()));
  287. }
  288. if (summary.getShippingValue() == null) {
  289. map.put("shippingValue", null);
  290. }
  291. else {
  292. map.put(
  293. "shippingValue", String.valueOf(summary.getShippingValue()));
  294. }
  295. if (summary.getShippingValueFormatted() == null) {
  296. map.put("shippingValueFormatted", null);
  297. }
  298. else {
  299. map.put(
  300. "shippingValueFormatted",
  301. String.valueOf(summary.getShippingValueFormatted()));
  302. }
  303. if (summary.getShippingValueWithTaxAmount() == null) {
  304. map.put("shippingValueWithTaxAmount", null);
  305. }
  306. else {
  307. map.put(
  308. "shippingValueWithTaxAmount",
  309. String.valueOf(summary.getShippingValueWithTaxAmount()));
  310. }
  311. if (summary.getShippingValueWithTaxAmountFormatted() == null) {
  312. map.put("shippingValueWithTaxAmountFormatted", null);
  313. }
  314. else {
  315. map.put(
  316. "shippingValueWithTaxAmountFormatted",
  317. String.valueOf(
  318. summary.getShippingValueWithTaxAmountFormatted()));
  319. }
  320. if (summary.getSubtotal() == null) {
  321. map.put("subtotal", null);
  322. }
  323. else {
  324. map.put("subtotal", String.valueOf(summary.getSubtotal()));
  325. }
  326. if (summary.getSubtotalDiscountPercentages() == null) {
  327. map.put("subtotalDiscountPercentages", null);
  328. }
  329. else {
  330. map.put(
  331. "subtotalDiscountPercentages",
  332. String.valueOf(summary.getSubtotalDiscountPercentages()));
  333. }
  334. if (summary.getSubtotalDiscountValue() == null) {
  335. map.put("subtotalDiscountValue", null);
  336. }
  337. else {
  338. map.put(
  339. "subtotalDiscountValue",
  340. String.valueOf(summary.getSubtotalDiscountValue()));
  341. }
  342. if (summary.getSubtotalDiscountValueFormatted() == null) {
  343. map.put("subtotalDiscountValueFormatted", null);
  344. }
  345. else {
  346. map.put(
  347. "subtotalDiscountValueFormatted",
  348. String.valueOf(summary.getSubtotalDiscountValueFormatted()));
  349. }
  350. if (summary.getSubtotalFormatted() == null) {
  351. map.put("subtotalFormatted", null);
  352. }
  353. else {
  354. map.put(
  355. "subtotalFormatted",
  356. String.valueOf(summary.getSubtotalFormatted()));
  357. }
  358. if (summary.getTaxValue() == null) {
  359. map.put("taxValue", null);
  360. }
  361. else {
  362. map.put("taxValue", String.valueOf(summary.getTaxValue()));
  363. }
  364. if (summary.getTaxValueFormatted() == null) {
  365. map.put("taxValueFormatted", null);
  366. }
  367. else {
  368. map.put(
  369. "taxValueFormatted",
  370. String.valueOf(summary.getTaxValueFormatted()));
  371. }
  372. if (summary.getTotal() == null) {
  373. map.put("total", null);
  374. }
  375. else {
  376. map.put("total", String.valueOf(summary.getTotal()));
  377. }
  378. if (summary.getTotalDiscountPercentages() == null) {
  379. map.put("totalDiscountPercentages", null);
  380. }
  381. else {
  382. map.put(
  383. "totalDiscountPercentages",
  384. String.valueOf(summary.getTotalDiscountPercentages()));
  385. }
  386. if (summary.getTotalDiscountValue() == null) {
  387. map.put("totalDiscountValue", null);
  388. }
  389. else {
  390. map.put(
  391. "totalDiscountValue",
  392. String.valueOf(summary.getTotalDiscountValue()));
  393. }
  394. if (summary.getTotalDiscountValueFormatted() == null) {
  395. map.put("totalDiscountValueFormatted", null);
  396. }
  397. else {
  398. map.put(
  399. "totalDiscountValueFormatted",
  400. String.valueOf(summary.getTotalDiscountValueFormatted()));
  401. }
  402. if (summary.getTotalFormatted() == null) {
  403. map.put("totalFormatted", null);
  404. }
  405. else {
  406. map.put(
  407. "totalFormatted", String.valueOf(summary.getTotalFormatted()));
  408. }
  409. return map;
  410. }
  411. public static class SummaryJSONParser extends BaseJSONParser<Summary> {
  412. @Override
  413. protected Summary createDTO() {
  414. return new Summary();
  415. }
  416. @Override
  417. protected Summary[] createDTOArray(int size) {
  418. return new Summary[size];
  419. }
  420. @Override
  421. protected void setField(
  422. Summary summary, String jsonParserFieldName,
  423. Object jsonParserFieldValue) {
  424. if (Objects.equals(jsonParserFieldName, "currency")) {
  425. if (jsonParserFieldValue != null) {
  426. summary.setCurrency((String)jsonParserFieldValue);
  427. }
  428. }
  429. else if (Objects.equals(jsonParserFieldName, "itemsQuantity")) {
  430. if (jsonParserFieldValue != null) {
  431. summary.setItemsQuantity(
  432. Integer.valueOf((String)jsonParserFieldValue));
  433. }
  434. }
  435. else if (Objects.equals(
  436. jsonParserFieldName, "shippingDiscountPercentages")) {
  437. if (jsonParserFieldValue != null) {
  438. summary.setShippingDiscountPercentages(
  439. toStrings((Object[])jsonParserFieldValue));
  440. }
  441. }
  442. else if (Objects.equals(
  443. jsonParserFieldName, "shippingDiscountValue")) {
  444. if (jsonParserFieldValue != null) {
  445. summary.setShippingDiscountValue(
  446. Double.valueOf((String)jsonParserFieldValue));
  447. }
  448. }
  449. else if (Objects.equals(
  450. jsonParserFieldName,
  451. "shippingDiscountValueFormatted")) {
  452. if (jsonParserFieldValue != null) {
  453. summary.setShippingDiscountValueFormatted(
  454. (String)jsonParserFieldValue);
  455. }
  456. }
  457. else if (Objects.equals(jsonParserFieldName, "shippingValue")) {
  458. if (jsonParserFieldValue != null) {
  459. summary.setShippingValue(
  460. Double.valueOf((String)jsonParserFieldValue));
  461. }
  462. }
  463. else if (Objects.equals(
  464. jsonParserFieldName, "shippingValueFormatted")) {
  465. if (jsonParserFieldValue != null) {
  466. summary.setShippingValueFormatted(
  467. (String)jsonParserFieldValue);
  468. }
  469. }
  470. else if (Objects.equals(
  471. jsonParserFieldName, "shippingValueWithTaxAmount")) {
  472. if (jsonParserFieldValue != null) {
  473. summary.setShippingValueWithTaxAmount(
  474. Double.valueOf((String)jsonParserFieldValue));
  475. }
  476. }
  477. else if (Objects.equals(
  478. jsonParserFieldName,
  479. "shippingValueWithTaxAmountFormatted")) {
  480. if (jsonParserFieldValue != null) {
  481. summary.setShippingValueWithTaxAmountFormatted(
  482. (String)jsonParserFieldValue);
  483. }
  484. }
  485. else if (Objects.equals(jsonParserFieldName, "subtotal")) {
  486. if (jsonParserFieldValue != null) {
  487. summary.setSubtotal(
  488. Double.valueOf((String)jsonParserFieldValue));
  489. }
  490. }
  491. else if (Objects.equals(
  492. jsonParserFieldName, "subtotalDiscountPercentages")) {
  493. if (jsonParserFieldValue != null) {
  494. summary.setSubtotalDiscountPercentages(
  495. toStrings((Object[])jsonParserFieldValue));
  496. }
  497. }
  498. else if (Objects.equals(
  499. jsonParserFieldName, "subtotalDiscountValue")) {
  500. if (jsonParserFieldValue != null) {
  501. summary.setSubtotalDiscountValue(
  502. Double.valueOf((String)jsonParserFieldValue));
  503. }
  504. }
  505. else if (Objects.equals(
  506. jsonParserFieldName,
  507. "subtotalDiscountValueFormatted")) {
  508. if (jsonParserFieldValue != null) {
  509. summary.setSubtotalDiscountValueFormatted(
  510. (String)jsonParserFieldValue);
  511. }
  512. }
  513. else if (Objects.equals(jsonParserFieldName, "subtotalFormatted")) {
  514. if (jsonParserFieldValue != null) {
  515. summary.setSubtotalFormatted((String)jsonParserFieldValue);
  516. }
  517. }
  518. else if (Objects.equals(jsonParserFieldName, "taxValue")) {
  519. if (jsonParserFieldValue != null) {
  520. summary.setTaxValue(
  521. Double.valueOf((String)jsonParserFieldValue));
  522. }
  523. }
  524. else if (Objects.equals(jsonParserFieldName, "taxValueFormatted")) {
  525. if (jsonParserFieldValue != null) {
  526. summary.setTaxValueFormatted((String)jsonParserFieldValue);
  527. }
  528. }
  529. else if (Objects.equals(jsonParserFieldName, "total")) {
  530. if (jsonParserFieldValue != null) {
  531. summary.setTotal(
  532. Double.valueOf((String)jsonParserFieldValue));
  533. }
  534. }
  535. else if (Objects.equals(
  536. jsonParserFieldName, "totalDiscountPercentages")) {
  537. if (jsonParserFieldValue != null) {
  538. summary.setTotalDiscountPercentages(
  539. toStrings((Object[])jsonParserFieldValue));
  540. }
  541. }
  542. else if (Objects.equals(
  543. jsonParserFieldName, "totalDiscountValue")) {
  544. if (jsonParserFieldValue != null) {
  545. summary.setTotalDiscountValue(
  546. Double.valueOf((String)jsonParserFieldValue));
  547. }
  548. }
  549. else if (Objects.equals(
  550. jsonParserFieldName, "totalDiscountValueFormatted")) {
  551. if (jsonParserFieldValue != null) {
  552. summary.setTotalDiscountValueFormatted(
  553. (String)jsonParserFieldValue);
  554. }
  555. }
  556. else if (Objects.equals(jsonParserFieldName, "totalFormatted")) {
  557. if (jsonParserFieldValue != null) {
  558. summary.setTotalFormatted((String)jsonParserFieldValue);
  559. }
  560. }
  561. }
  562. }
  563. private static String _escape(Object object) {
  564. String string = String.valueOf(object);
  565. for (String[] strings : BaseJSONParser.JSON_ESCAPE_STRINGS) {
  566. string = string.replace(strings[0], strings[1]);
  567. }
  568. return string;
  569. }
  570. private static String _toJSON(Map<String, ?> map) {
  571. StringBuilder sb = new StringBuilder("{");
  572. @SuppressWarnings("unchecked")
  573. Set set = map.entrySet();
  574. @SuppressWarnings("unchecked")
  575. Iterator<Map.Entry<String, ?>> iterator = set.iterator();
  576. while (iterator.hasNext()) {
  577. Map.Entry<String, ?> entry = iterator.next();
  578. sb.append("\"");
  579. sb.append(entry.getKey());
  580. sb.append("\": ");
  581. Object value = entry.getValue();
  582. Class<?> valueClass = value.getClass();
  583. if (value instanceof Map) {
  584. sb.append(_toJSON((Map)value));
  585. }
  586. else if (valueClass.isArray()) {
  587. Object[] values = (Object[])value;
  588. sb.append("[");
  589. for (int i = 0; i < values.length; i++) {
  590. sb.append("\"");
  591. sb.append(_escape(values[i]));
  592. sb.append("\"");
  593. if ((i + 1) < values.length) {
  594. sb.append(", ");
  595. }
  596. }
  597. sb.append("]");
  598. }
  599. else if (value instanceof String) {
  600. sb.append("\"");
  601. sb.append(_escape(entry.getValue()));
  602. sb.append("\"");
  603. }
  604. else {
  605. sb.append(String.valueOf(entry.getValue()));
  606. }
  607. if (iterator.hasNext()) {
  608. sb.append(", ");
  609. }
  610. }
  611. sb.append("}");
  612. return sb.toString();
  613. }
  614. }