/modules/apps/headless/headless-delivery/headless-delivery-client/src/main/java/com/liferay/headless/delivery/client/serdes/v1_0/FragmentStyleSerDes.java

https://github.com/danielreuther/liferay-portal · Java · 918 lines · 692 code · 209 blank · 17 comment · 294 complexity · 0ea4efb43480292237a235b4f61d4720 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.delivery.client.serdes.v1_0;
  15. import com.liferay.headless.delivery.client.dto.v1_0.FragmentStyle;
  16. import com.liferay.headless.delivery.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 Javier Gamarra
  25. * @generated
  26. */
  27. @Generated("")
  28. public class FragmentStyleSerDes {
  29. public static FragmentStyle toDTO(String json) {
  30. FragmentStyleJSONParser fragmentStyleJSONParser =
  31. new FragmentStyleJSONParser();
  32. return fragmentStyleJSONParser.parseToDTO(json);
  33. }
  34. public static FragmentStyle[] toDTOs(String json) {
  35. FragmentStyleJSONParser fragmentStyleJSONParser =
  36. new FragmentStyleJSONParser();
  37. return fragmentStyleJSONParser.parseToDTOs(json);
  38. }
  39. public static String toJSON(FragmentStyle fragmentStyle) {
  40. if (fragmentStyle == null) {
  41. return "null";
  42. }
  43. StringBuilder sb = new StringBuilder();
  44. sb.append("{");
  45. if (fragmentStyle.getBackgroundColor() != null) {
  46. if (sb.length() > 1) {
  47. sb.append(", ");
  48. }
  49. sb.append("\"backgroundColor\": ");
  50. sb.append("\"");
  51. sb.append(_escape(fragmentStyle.getBackgroundColor()));
  52. sb.append("\"");
  53. }
  54. if (fragmentStyle.getBackgroundFragmentImage() != null) {
  55. if (sb.length() > 1) {
  56. sb.append(", ");
  57. }
  58. sb.append("\"backgroundFragmentImage\": ");
  59. sb.append(
  60. String.valueOf(fragmentStyle.getBackgroundFragmentImage()));
  61. }
  62. if (fragmentStyle.getBorderColor() != null) {
  63. if (sb.length() > 1) {
  64. sb.append(", ");
  65. }
  66. sb.append("\"borderColor\": ");
  67. sb.append("\"");
  68. sb.append(_escape(fragmentStyle.getBorderColor()));
  69. sb.append("\"");
  70. }
  71. if (fragmentStyle.getBorderRadius() != null) {
  72. if (sb.length() > 1) {
  73. sb.append(", ");
  74. }
  75. sb.append("\"borderRadius\": ");
  76. sb.append("\"");
  77. sb.append(_escape(fragmentStyle.getBorderRadius()));
  78. sb.append("\"");
  79. }
  80. if (fragmentStyle.getBorderWidth() != null) {
  81. if (sb.length() > 1) {
  82. sb.append(", ");
  83. }
  84. sb.append("\"borderWidth\": ");
  85. sb.append("\"");
  86. sb.append(_escape(fragmentStyle.getBorderWidth()));
  87. sb.append("\"");
  88. }
  89. if (fragmentStyle.getFontFamily() != null) {
  90. if (sb.length() > 1) {
  91. sb.append(", ");
  92. }
  93. sb.append("\"fontFamily\": ");
  94. sb.append("\"");
  95. sb.append(_escape(fragmentStyle.getFontFamily()));
  96. sb.append("\"");
  97. }
  98. if (fragmentStyle.getFontSize() != null) {
  99. if (sb.length() > 1) {
  100. sb.append(", ");
  101. }
  102. sb.append("\"fontSize\": ");
  103. sb.append("\"");
  104. sb.append(_escape(fragmentStyle.getFontSize()));
  105. sb.append("\"");
  106. }
  107. if (fragmentStyle.getFontWeight() != null) {
  108. if (sb.length() > 1) {
  109. sb.append(", ");
  110. }
  111. sb.append("\"fontWeight\": ");
  112. sb.append("\"");
  113. sb.append(_escape(fragmentStyle.getFontWeight()));
  114. sb.append("\"");
  115. }
  116. if (fragmentStyle.getHeight() != null) {
  117. if (sb.length() > 1) {
  118. sb.append(", ");
  119. }
  120. sb.append("\"height\": ");
  121. sb.append("\"");
  122. sb.append(_escape(fragmentStyle.getHeight()));
  123. sb.append("\"");
  124. }
  125. if (fragmentStyle.getHidden() != null) {
  126. if (sb.length() > 1) {
  127. sb.append(", ");
  128. }
  129. sb.append("\"hidden\": ");
  130. sb.append(fragmentStyle.getHidden());
  131. }
  132. if (fragmentStyle.getMarginBottom() != null) {
  133. if (sb.length() > 1) {
  134. sb.append(", ");
  135. }
  136. sb.append("\"marginBottom\": ");
  137. sb.append("\"");
  138. sb.append(_escape(fragmentStyle.getMarginBottom()));
  139. sb.append("\"");
  140. }
  141. if (fragmentStyle.getMarginLeft() != null) {
  142. if (sb.length() > 1) {
  143. sb.append(", ");
  144. }
  145. sb.append("\"marginLeft\": ");
  146. sb.append("\"");
  147. sb.append(_escape(fragmentStyle.getMarginLeft()));
  148. sb.append("\"");
  149. }
  150. if (fragmentStyle.getMarginRight() != null) {
  151. if (sb.length() > 1) {
  152. sb.append(", ");
  153. }
  154. sb.append("\"marginRight\": ");
  155. sb.append("\"");
  156. sb.append(_escape(fragmentStyle.getMarginRight()));
  157. sb.append("\"");
  158. }
  159. if (fragmentStyle.getMarginTop() != null) {
  160. if (sb.length() > 1) {
  161. sb.append(", ");
  162. }
  163. sb.append("\"marginTop\": ");
  164. sb.append("\"");
  165. sb.append(_escape(fragmentStyle.getMarginTop()));
  166. sb.append("\"");
  167. }
  168. if (fragmentStyle.getMaxHeight() != null) {
  169. if (sb.length() > 1) {
  170. sb.append(", ");
  171. }
  172. sb.append("\"maxHeight\": ");
  173. sb.append("\"");
  174. sb.append(_escape(fragmentStyle.getMaxHeight()));
  175. sb.append("\"");
  176. }
  177. if (fragmentStyle.getMaxWidth() != null) {
  178. if (sb.length() > 1) {
  179. sb.append(", ");
  180. }
  181. sb.append("\"maxWidth\": ");
  182. sb.append("\"");
  183. sb.append(_escape(fragmentStyle.getMaxWidth()));
  184. sb.append("\"");
  185. }
  186. if (fragmentStyle.getMinHeight() != null) {
  187. if (sb.length() > 1) {
  188. sb.append(", ");
  189. }
  190. sb.append("\"minHeight\": ");
  191. sb.append("\"");
  192. sb.append(_escape(fragmentStyle.getMinHeight()));
  193. sb.append("\"");
  194. }
  195. if (fragmentStyle.getMinWidth() != null) {
  196. if (sb.length() > 1) {
  197. sb.append(", ");
  198. }
  199. sb.append("\"minWidth\": ");
  200. sb.append("\"");
  201. sb.append(_escape(fragmentStyle.getMinWidth()));
  202. sb.append("\"");
  203. }
  204. if (fragmentStyle.getOpacity() != null) {
  205. if (sb.length() > 1) {
  206. sb.append(", ");
  207. }
  208. sb.append("\"opacity\": ");
  209. sb.append("\"");
  210. sb.append(_escape(fragmentStyle.getOpacity()));
  211. sb.append("\"");
  212. }
  213. if (fragmentStyle.getOverflow() != null) {
  214. if (sb.length() > 1) {
  215. sb.append(", ");
  216. }
  217. sb.append("\"overflow\": ");
  218. sb.append("\"");
  219. sb.append(_escape(fragmentStyle.getOverflow()));
  220. sb.append("\"");
  221. }
  222. if (fragmentStyle.getPaddingBottom() != null) {
  223. if (sb.length() > 1) {
  224. sb.append(", ");
  225. }
  226. sb.append("\"paddingBottom\": ");
  227. sb.append("\"");
  228. sb.append(_escape(fragmentStyle.getPaddingBottom()));
  229. sb.append("\"");
  230. }
  231. if (fragmentStyle.getPaddingLeft() != null) {
  232. if (sb.length() > 1) {
  233. sb.append(", ");
  234. }
  235. sb.append("\"paddingLeft\": ");
  236. sb.append("\"");
  237. sb.append(_escape(fragmentStyle.getPaddingLeft()));
  238. sb.append("\"");
  239. }
  240. if (fragmentStyle.getPaddingRight() != null) {
  241. if (sb.length() > 1) {
  242. sb.append(", ");
  243. }
  244. sb.append("\"paddingRight\": ");
  245. sb.append("\"");
  246. sb.append(_escape(fragmentStyle.getPaddingRight()));
  247. sb.append("\"");
  248. }
  249. if (fragmentStyle.getPaddingTop() != null) {
  250. if (sb.length() > 1) {
  251. sb.append(", ");
  252. }
  253. sb.append("\"paddingTop\": ");
  254. sb.append("\"");
  255. sb.append(_escape(fragmentStyle.getPaddingTop()));
  256. sb.append("\"");
  257. }
  258. if (fragmentStyle.getShadow() != null) {
  259. if (sb.length() > 1) {
  260. sb.append(", ");
  261. }
  262. sb.append("\"shadow\": ");
  263. sb.append("\"");
  264. sb.append(_escape(fragmentStyle.getShadow()));
  265. sb.append("\"");
  266. }
  267. if (fragmentStyle.getTextAlign() != null) {
  268. if (sb.length() > 1) {
  269. sb.append(", ");
  270. }
  271. sb.append("\"textAlign\": ");
  272. sb.append("\"");
  273. sb.append(_escape(fragmentStyle.getTextAlign()));
  274. sb.append("\"");
  275. }
  276. if (fragmentStyle.getTextColor() != null) {
  277. if (sb.length() > 1) {
  278. sb.append(", ");
  279. }
  280. sb.append("\"textColor\": ");
  281. sb.append("\"");
  282. sb.append(_escape(fragmentStyle.getTextColor()));
  283. sb.append("\"");
  284. }
  285. if (fragmentStyle.getWidth() != null) {
  286. if (sb.length() > 1) {
  287. sb.append(", ");
  288. }
  289. sb.append("\"width\": ");
  290. sb.append("\"");
  291. sb.append(_escape(fragmentStyle.getWidth()));
  292. sb.append("\"");
  293. }
  294. sb.append("}");
  295. return sb.toString();
  296. }
  297. public static Map<String, Object> toMap(String json) {
  298. FragmentStyleJSONParser fragmentStyleJSONParser =
  299. new FragmentStyleJSONParser();
  300. return fragmentStyleJSONParser.parseToMap(json);
  301. }
  302. public static Map<String, String> toMap(FragmentStyle fragmentStyle) {
  303. if (fragmentStyle == null) {
  304. return null;
  305. }
  306. Map<String, String> map = new TreeMap<>();
  307. if (fragmentStyle.getBackgroundColor() == null) {
  308. map.put("backgroundColor", null);
  309. }
  310. else {
  311. map.put(
  312. "backgroundColor",
  313. String.valueOf(fragmentStyle.getBackgroundColor()));
  314. }
  315. if (fragmentStyle.getBackgroundFragmentImage() == null) {
  316. map.put("backgroundFragmentImage", null);
  317. }
  318. else {
  319. map.put(
  320. "backgroundFragmentImage",
  321. String.valueOf(fragmentStyle.getBackgroundFragmentImage()));
  322. }
  323. if (fragmentStyle.getBorderColor() == null) {
  324. map.put("borderColor", null);
  325. }
  326. else {
  327. map.put(
  328. "borderColor", String.valueOf(fragmentStyle.getBorderColor()));
  329. }
  330. if (fragmentStyle.getBorderRadius() == null) {
  331. map.put("borderRadius", null);
  332. }
  333. else {
  334. map.put(
  335. "borderRadius",
  336. String.valueOf(fragmentStyle.getBorderRadius()));
  337. }
  338. if (fragmentStyle.getBorderWidth() == null) {
  339. map.put("borderWidth", null);
  340. }
  341. else {
  342. map.put(
  343. "borderWidth", String.valueOf(fragmentStyle.getBorderWidth()));
  344. }
  345. if (fragmentStyle.getFontFamily() == null) {
  346. map.put("fontFamily", null);
  347. }
  348. else {
  349. map.put(
  350. "fontFamily", String.valueOf(fragmentStyle.getFontFamily()));
  351. }
  352. if (fragmentStyle.getFontSize() == null) {
  353. map.put("fontSize", null);
  354. }
  355. else {
  356. map.put("fontSize", String.valueOf(fragmentStyle.getFontSize()));
  357. }
  358. if (fragmentStyle.getFontWeight() == null) {
  359. map.put("fontWeight", null);
  360. }
  361. else {
  362. map.put(
  363. "fontWeight", String.valueOf(fragmentStyle.getFontWeight()));
  364. }
  365. if (fragmentStyle.getHeight() == null) {
  366. map.put("height", null);
  367. }
  368. else {
  369. map.put("height", String.valueOf(fragmentStyle.getHeight()));
  370. }
  371. if (fragmentStyle.getHidden() == null) {
  372. map.put("hidden", null);
  373. }
  374. else {
  375. map.put("hidden", String.valueOf(fragmentStyle.getHidden()));
  376. }
  377. if (fragmentStyle.getMarginBottom() == null) {
  378. map.put("marginBottom", null);
  379. }
  380. else {
  381. map.put(
  382. "marginBottom",
  383. String.valueOf(fragmentStyle.getMarginBottom()));
  384. }
  385. if (fragmentStyle.getMarginLeft() == null) {
  386. map.put("marginLeft", null);
  387. }
  388. else {
  389. map.put(
  390. "marginLeft", String.valueOf(fragmentStyle.getMarginLeft()));
  391. }
  392. if (fragmentStyle.getMarginRight() == null) {
  393. map.put("marginRight", null);
  394. }
  395. else {
  396. map.put(
  397. "marginRight", String.valueOf(fragmentStyle.getMarginRight()));
  398. }
  399. if (fragmentStyle.getMarginTop() == null) {
  400. map.put("marginTop", null);
  401. }
  402. else {
  403. map.put("marginTop", String.valueOf(fragmentStyle.getMarginTop()));
  404. }
  405. if (fragmentStyle.getMaxHeight() == null) {
  406. map.put("maxHeight", null);
  407. }
  408. else {
  409. map.put("maxHeight", String.valueOf(fragmentStyle.getMaxHeight()));
  410. }
  411. if (fragmentStyle.getMaxWidth() == null) {
  412. map.put("maxWidth", null);
  413. }
  414. else {
  415. map.put("maxWidth", String.valueOf(fragmentStyle.getMaxWidth()));
  416. }
  417. if (fragmentStyle.getMinHeight() == null) {
  418. map.put("minHeight", null);
  419. }
  420. else {
  421. map.put("minHeight", String.valueOf(fragmentStyle.getMinHeight()));
  422. }
  423. if (fragmentStyle.getMinWidth() == null) {
  424. map.put("minWidth", null);
  425. }
  426. else {
  427. map.put("minWidth", String.valueOf(fragmentStyle.getMinWidth()));
  428. }
  429. if (fragmentStyle.getOpacity() == null) {
  430. map.put("opacity", null);
  431. }
  432. else {
  433. map.put("opacity", String.valueOf(fragmentStyle.getOpacity()));
  434. }
  435. if (fragmentStyle.getOverflow() == null) {
  436. map.put("overflow", null);
  437. }
  438. else {
  439. map.put("overflow", String.valueOf(fragmentStyle.getOverflow()));
  440. }
  441. if (fragmentStyle.getPaddingBottom() == null) {
  442. map.put("paddingBottom", null);
  443. }
  444. else {
  445. map.put(
  446. "paddingBottom",
  447. String.valueOf(fragmentStyle.getPaddingBottom()));
  448. }
  449. if (fragmentStyle.getPaddingLeft() == null) {
  450. map.put("paddingLeft", null);
  451. }
  452. else {
  453. map.put(
  454. "paddingLeft", String.valueOf(fragmentStyle.getPaddingLeft()));
  455. }
  456. if (fragmentStyle.getPaddingRight() == null) {
  457. map.put("paddingRight", null);
  458. }
  459. else {
  460. map.put(
  461. "paddingRight",
  462. String.valueOf(fragmentStyle.getPaddingRight()));
  463. }
  464. if (fragmentStyle.getPaddingTop() == null) {
  465. map.put("paddingTop", null);
  466. }
  467. else {
  468. map.put(
  469. "paddingTop", String.valueOf(fragmentStyle.getPaddingTop()));
  470. }
  471. if (fragmentStyle.getShadow() == null) {
  472. map.put("shadow", null);
  473. }
  474. else {
  475. map.put("shadow", String.valueOf(fragmentStyle.getShadow()));
  476. }
  477. if (fragmentStyle.getTextAlign() == null) {
  478. map.put("textAlign", null);
  479. }
  480. else {
  481. map.put("textAlign", String.valueOf(fragmentStyle.getTextAlign()));
  482. }
  483. if (fragmentStyle.getTextColor() == null) {
  484. map.put("textColor", null);
  485. }
  486. else {
  487. map.put("textColor", String.valueOf(fragmentStyle.getTextColor()));
  488. }
  489. if (fragmentStyle.getWidth() == null) {
  490. map.put("width", null);
  491. }
  492. else {
  493. map.put("width", String.valueOf(fragmentStyle.getWidth()));
  494. }
  495. return map;
  496. }
  497. public static class FragmentStyleJSONParser
  498. extends BaseJSONParser<FragmentStyle> {
  499. @Override
  500. protected FragmentStyle createDTO() {
  501. return new FragmentStyle();
  502. }
  503. @Override
  504. protected FragmentStyle[] createDTOArray(int size) {
  505. return new FragmentStyle[size];
  506. }
  507. @Override
  508. protected void setField(
  509. FragmentStyle fragmentStyle, String jsonParserFieldName,
  510. Object jsonParserFieldValue) {
  511. if (Objects.equals(jsonParserFieldName, "backgroundColor")) {
  512. if (jsonParserFieldValue != null) {
  513. fragmentStyle.setBackgroundColor(
  514. (String)jsonParserFieldValue);
  515. }
  516. }
  517. else if (Objects.equals(
  518. jsonParserFieldName, "backgroundFragmentImage")) {
  519. if (jsonParserFieldValue != null) {
  520. fragmentStyle.setBackgroundFragmentImage(
  521. FragmentImageSerDes.toDTO(
  522. (String)jsonParserFieldValue));
  523. }
  524. }
  525. else if (Objects.equals(jsonParserFieldName, "borderColor")) {
  526. if (jsonParserFieldValue != null) {
  527. fragmentStyle.setBorderColor((String)jsonParserFieldValue);
  528. }
  529. }
  530. else if (Objects.equals(jsonParserFieldName, "borderRadius")) {
  531. if (jsonParserFieldValue != null) {
  532. fragmentStyle.setBorderRadius((String)jsonParserFieldValue);
  533. }
  534. }
  535. else if (Objects.equals(jsonParserFieldName, "borderWidth")) {
  536. if (jsonParserFieldValue != null) {
  537. fragmentStyle.setBorderWidth((String)jsonParserFieldValue);
  538. }
  539. }
  540. else if (Objects.equals(jsonParserFieldName, "fontFamily")) {
  541. if (jsonParserFieldValue != null) {
  542. fragmentStyle.setFontFamily((String)jsonParserFieldValue);
  543. }
  544. }
  545. else if (Objects.equals(jsonParserFieldName, "fontSize")) {
  546. if (jsonParserFieldValue != null) {
  547. fragmentStyle.setFontSize((String)jsonParserFieldValue);
  548. }
  549. }
  550. else if (Objects.equals(jsonParserFieldName, "fontWeight")) {
  551. if (jsonParserFieldValue != null) {
  552. fragmentStyle.setFontWeight((String)jsonParserFieldValue);
  553. }
  554. }
  555. else if (Objects.equals(jsonParserFieldName, "height")) {
  556. if (jsonParserFieldValue != null) {
  557. fragmentStyle.setHeight((String)jsonParserFieldValue);
  558. }
  559. }
  560. else if (Objects.equals(jsonParserFieldName, "hidden")) {
  561. if (jsonParserFieldValue != null) {
  562. fragmentStyle.setHidden((Boolean)jsonParserFieldValue);
  563. }
  564. }
  565. else if (Objects.equals(jsonParserFieldName, "marginBottom")) {
  566. if (jsonParserFieldValue != null) {
  567. fragmentStyle.setMarginBottom((String)jsonParserFieldValue);
  568. }
  569. }
  570. else if (Objects.equals(jsonParserFieldName, "marginLeft")) {
  571. if (jsonParserFieldValue != null) {
  572. fragmentStyle.setMarginLeft((String)jsonParserFieldValue);
  573. }
  574. }
  575. else if (Objects.equals(jsonParserFieldName, "marginRight")) {
  576. if (jsonParserFieldValue != null) {
  577. fragmentStyle.setMarginRight((String)jsonParserFieldValue);
  578. }
  579. }
  580. else if (Objects.equals(jsonParserFieldName, "marginTop")) {
  581. if (jsonParserFieldValue != null) {
  582. fragmentStyle.setMarginTop((String)jsonParserFieldValue);
  583. }
  584. }
  585. else if (Objects.equals(jsonParserFieldName, "maxHeight")) {
  586. if (jsonParserFieldValue != null) {
  587. fragmentStyle.setMaxHeight((String)jsonParserFieldValue);
  588. }
  589. }
  590. else if (Objects.equals(jsonParserFieldName, "maxWidth")) {
  591. if (jsonParserFieldValue != null) {
  592. fragmentStyle.setMaxWidth((String)jsonParserFieldValue);
  593. }
  594. }
  595. else if (Objects.equals(jsonParserFieldName, "minHeight")) {
  596. if (jsonParserFieldValue != null) {
  597. fragmentStyle.setMinHeight((String)jsonParserFieldValue);
  598. }
  599. }
  600. else if (Objects.equals(jsonParserFieldName, "minWidth")) {
  601. if (jsonParserFieldValue != null) {
  602. fragmentStyle.setMinWidth((String)jsonParserFieldValue);
  603. }
  604. }
  605. else if (Objects.equals(jsonParserFieldName, "opacity")) {
  606. if (jsonParserFieldValue != null) {
  607. fragmentStyle.setOpacity((String)jsonParserFieldValue);
  608. }
  609. }
  610. else if (Objects.equals(jsonParserFieldName, "overflow")) {
  611. if (jsonParserFieldValue != null) {
  612. fragmentStyle.setOverflow((String)jsonParserFieldValue);
  613. }
  614. }
  615. else if (Objects.equals(jsonParserFieldName, "paddingBottom")) {
  616. if (jsonParserFieldValue != null) {
  617. fragmentStyle.setPaddingBottom(
  618. (String)jsonParserFieldValue);
  619. }
  620. }
  621. else if (Objects.equals(jsonParserFieldName, "paddingLeft")) {
  622. if (jsonParserFieldValue != null) {
  623. fragmentStyle.setPaddingLeft((String)jsonParserFieldValue);
  624. }
  625. }
  626. else if (Objects.equals(jsonParserFieldName, "paddingRight")) {
  627. if (jsonParserFieldValue != null) {
  628. fragmentStyle.setPaddingRight((String)jsonParserFieldValue);
  629. }
  630. }
  631. else if (Objects.equals(jsonParserFieldName, "paddingTop")) {
  632. if (jsonParserFieldValue != null) {
  633. fragmentStyle.setPaddingTop((String)jsonParserFieldValue);
  634. }
  635. }
  636. else if (Objects.equals(jsonParserFieldName, "shadow")) {
  637. if (jsonParserFieldValue != null) {
  638. fragmentStyle.setShadow((String)jsonParserFieldValue);
  639. }
  640. }
  641. else if (Objects.equals(jsonParserFieldName, "textAlign")) {
  642. if (jsonParserFieldValue != null) {
  643. fragmentStyle.setTextAlign((String)jsonParserFieldValue);
  644. }
  645. }
  646. else if (Objects.equals(jsonParserFieldName, "textColor")) {
  647. if (jsonParserFieldValue != null) {
  648. fragmentStyle.setTextColor((String)jsonParserFieldValue);
  649. }
  650. }
  651. else if (Objects.equals(jsonParserFieldName, "width")) {
  652. if (jsonParserFieldValue != null) {
  653. fragmentStyle.setWidth((String)jsonParserFieldValue);
  654. }
  655. }
  656. }
  657. }
  658. private static String _escape(Object object) {
  659. String string = String.valueOf(object);
  660. for (String[] strings : BaseJSONParser.JSON_ESCAPE_STRINGS) {
  661. string = string.replace(strings[0], strings[1]);
  662. }
  663. return string;
  664. }
  665. private static String _toJSON(Map<String, ?> map) {
  666. StringBuilder sb = new StringBuilder("{");
  667. @SuppressWarnings("unchecked")
  668. Set set = map.entrySet();
  669. @SuppressWarnings("unchecked")
  670. Iterator<Map.Entry<String, ?>> iterator = set.iterator();
  671. while (iterator.hasNext()) {
  672. Map.Entry<String, ?> entry = iterator.next();
  673. sb.append("\"");
  674. sb.append(entry.getKey());
  675. sb.append("\": ");
  676. Object value = entry.getValue();
  677. Class<?> valueClass = value.getClass();
  678. if (value instanceof Map) {
  679. sb.append(_toJSON((Map)value));
  680. }
  681. else if (valueClass.isArray()) {
  682. Object[] values = (Object[])value;
  683. sb.append("[");
  684. for (int i = 0; i < values.length; i++) {
  685. sb.append("\"");
  686. sb.append(_escape(values[i]));
  687. sb.append("\"");
  688. if ((i + 1) < values.length) {
  689. sb.append(", ");
  690. }
  691. }
  692. sb.append("]");
  693. }
  694. else if (value instanceof String) {
  695. sb.append("\"");
  696. sb.append(_escape(entry.getValue()));
  697. sb.append("\"");
  698. }
  699. else {
  700. sb.append(String.valueOf(entry.getValue()));
  701. }
  702. if (iterator.hasNext()) {
  703. sb.append(", ");
  704. }
  705. }
  706. sb.append("}");
  707. return sb.toString();
  708. }
  709. }