fork download
  1. import com.google.gson.Gson;
  2. import com.google.gson.JsonArray;
  3. import com.google.gson.JsonObject;
  4. import com.google.gson.JsonParser;
  5.  
  6. import java.util.ArrayList;
  7. import java.util.Arrays;
  8.  
  9. @SuppressWarnings("unused")
  10. public class Template extends IMContainer {
  11.  
  12. private ArrayList<Folder> subFolders = new ArrayList<>();
  13. private Gson templateGson = new Gson();
  14. private JsonParser parser = new JsonParser();
  15. private JsonArray foldersJsonArray;
  16.  
  17. //<editor-fold desc="Class Variables"
  18. private String author;
  19. private String authorDescription;
  20. private String iMClass;
  21. private String classDescription;
  22. private String contentType;
  23. private String createDate;
  24.  
  25. // //Custom fields variables
  26. private String[] customField = new String[30];
  27. private String[] customDescription = new String[30];
  28.  
  29.  
  30. private String database;
  31. private String defaultSecurity;
  32. private String documentNumber;
  33. private String editDate;
  34. private String editProfileDate;
  35. private String effectiveSecurity;
  36. private String fileCreateDate;
  37. private String fileEditDate;
  38. private String extension;
  39. private String iwl;
  40. private String lastUser;
  41. private String lastUserDescription;
  42. private String location;
  43. private String name;
  44. private String operator;
  45. private String operatorDescription;
  46. private String owner;
  47. private String ownerDescription;
  48. private String subtype;
  49. private String type;
  50. private String typeDescription;
  51. private String workspaceID;
  52. private String wsType;
  53. private String id;
  54.  
  55. private int retainDays;
  56. private int version;
  57.  
  58. private long size;
  59.  
  60. private boolean declared;
  61. private boolean declared2;
  62. private boolean hasDocuments;
  63. private boolean hasSubfolders;
  64. private boolean inUse;
  65. private boolean indexable;
  66. private boolean checkedOut;
  67. private boolean containerSavedSearch;
  68. private boolean contentSavedSearch;
  69. private boolean external;
  70. private boolean externalAsNormal;
  71. private boolean hidden;
  72. private boolean hipaa;
  73. private boolean inUse2;
  74. private boolean restorable;
  75. //</editor-fold>
  76.  
  77.  
  78.  
  79. //main constructor, parses response string to JSON and pulls all data to fill class variables.
  80. public Template(JsonObject templateProfile){
  81.  
  82. //JsonObject templateProfile = parser.parse(templateProfileResponseString).getAsJsonObject();
  83.  
  84. if (templateProfile.has("author")){
  85. this.author = templateProfile.get("author").getAsString();
  86. }
  87.  
  88. if (templateProfile.has("class")){
  89. this.iMClass = templateProfile.get("class").getAsString();
  90. }
  91.  
  92. if (templateProfile.has("class_description")){
  93. this.classDescription = templateProfile.get("class_description").getAsString();
  94. }
  95.  
  96. if (templateProfile.has("content_type")){
  97. this.contentType = templateProfile.get("content_type").getAsString();
  98. }
  99.  
  100. if (templateProfile.has("create_date")){
  101. this.createDate = templateProfile.get("create_date").getAsString();
  102. }
  103.  
  104. if (templateProfile.has("database")){
  105. this.database = templateProfile.get("database").getAsString();
  106. }
  107.  
  108. if (templateProfile.has("declared")){
  109. this.declared = templateProfile.get("declared").getAsBoolean();
  110. }
  111.  
  112. if (templateProfile.has("default_security")){
  113. this.defaultSecurity = templateProfile.get("default_security").getAsString();
  114. }
  115.  
  116. if (templateProfile.has("document_number")){
  117. this.documentNumber = templateProfile.get("document_number").getAsString();
  118. }
  119.  
  120. if (templateProfile.has("edit_date")){
  121. this.editDate = templateProfile.get("edit_date").getAsString();
  122. }
  123.  
  124. if (templateProfile.has("edit_profile_date")){
  125. this.editProfileDate = templateProfile.get("edit_profile_date").getAsString();
  126. }
  127.  
  128. if (templateProfile.has("effective_security")){
  129. this.effectiveSecurity = templateProfile.get("effective_security").getAsString();
  130. }
  131.  
  132. if (templateProfile.has("extension")){
  133. this.extension = templateProfile.get("extension").getAsString();
  134. }
  135.  
  136. if (templateProfile.has("file_create_date")){
  137. this.fileCreateDate = templateProfile.get("file_create_date").getAsString();
  138. }
  139.  
  140. if (templateProfile.has("file_edit_date")){
  141. this.fileEditDate = templateProfile.get("file_edit_date").getAsString();
  142. }
  143. if (templateProfile.has("has_subfolders")){
  144. this.hasSubfolders = templateProfile.get("has_subfolders").getAsBoolean();
  145. }
  146.  
  147. if (templateProfile.has("id")){
  148. this.id = templateProfile.get("id").getAsString();
  149. }
  150.  
  151. if (templateProfile.has("in_use")){
  152. this.inUse = templateProfile.get("in_use").getAsBoolean();
  153. }
  154.  
  155. if (templateProfile.has("indexable")){
  156. this.indexable = templateProfile.get("indexable").getAsBoolean();
  157. }
  158.  
  159. if (templateProfile.has("is_checked_out")){
  160. this.checkedOut = templateProfile.get("is_checked_out").getAsBoolean();
  161. }
  162.  
  163. if (templateProfile.has("is_container_saved_search")){
  164. this.containerSavedSearch = templateProfile.get("is_container_saved_search").getAsBoolean();
  165. }
  166.  
  167. if (templateProfile.has("is_content_saved_search")){
  168. this.contentSavedSearch = templateProfile.get("is_content_saved_search").getAsBoolean();
  169. }
  170.  
  171. if (templateProfile.has("is_declared")){
  172. this.declared2 = templateProfile.get("is_declared").getAsBoolean();
  173. }
  174.  
  175. if (templateProfile.has("is_external")){
  176. this.external = templateProfile.get("is_external").getAsBoolean();
  177. }
  178.  
  179. if (templateProfile.has("is_external_as_normal")){
  180. this.externalAsNormal = templateProfile.get("is_external_as_normal").getAsBoolean();
  181. }
  182.  
  183. if (templateProfile.has("is_hidden")){
  184. this.hidden = templateProfile.get("is_hidden").getAsBoolean();
  185. }
  186.  
  187. if (templateProfile.has("is_hipaa")){
  188. this.hipaa = templateProfile.get("is_hipaa").getAsBoolean();
  189. }
  190.  
  191. if (templateProfile.has("is_in_use")){
  192. this.inUse2 = templateProfile.get("is_in_use").getAsBoolean();
  193. }
  194.  
  195. if (templateProfile.has("is_restorable")){
  196. this.restorable = templateProfile.get("is_restorable").getAsBoolean();
  197. }
  198.  
  199. if (templateProfile.has("iwl")){
  200. this.iwl = templateProfile.get("iwl").getAsString();
  201. }
  202.  
  203. if (templateProfile.has("last_user")){
  204. this.lastUser = templateProfile.get("last_user").getAsString();
  205. }
  206.  
  207. if (templateProfile.has("name")){
  208. this.name = templateProfile.get("name").getAsString();
  209. }
  210.  
  211. if (templateProfile.has("operator")){
  212. this.operator = templateProfile.get("operator").getAsString();
  213. }
  214.  
  215. if (templateProfile.has("owner")){
  216. this.owner = templateProfile.get("owner").getAsString();
  217. }
  218.  
  219. if (templateProfile.has("retain_days")){
  220. this.retainDays = templateProfile.get("retain_days").getAsInt();
  221. }
  222.  
  223. if (templateProfile.has("size")){
  224. this.size = templateProfile.get("size").getAsLong();
  225. }
  226.  
  227. if (templateProfile.has("subtype")){
  228. this.subtype = templateProfile.get("subtype").getAsString();
  229. }
  230.  
  231. if (templateProfile.has("type")){
  232. this.type = templateProfile.get("type").getAsString();
  233. }
  234.  
  235. if (templateProfile.has("type_description")){
  236. this.typeDescription = templateProfile.get("type_description").getAsString();
  237. }
  238.  
  239. if (templateProfile.has("version")){
  240. this.version = templateProfile.get("version").getAsInt();
  241. }
  242.  
  243. if (templateProfile.has("workspace_id")){
  244. this.workspaceID = templateProfile.get("workspace_id").getAsString();
  245. }
  246.  
  247. if (templateProfile.has("wstype")){
  248. this.wsType = templateProfile.get("wstype").getAsString();
  249. }
  250.  
  251.  
  252. for (int x = 0; x <= 30; x++) {
  253.  
  254. // add one to x var at member name to account for array starting at 0
  255. if (templateProfile.has("custom" + (x+1))) {
  256. this.customField[x] = templateProfile.get("custom" + (x+1)).getAsString();
  257. }
  258.  
  259. if (templateProfile.has("custom" + (x+1) + "_description")) {
  260. this.customDescription[x] = templateProfile.get("custom" + (x+1) + "_description").getAsString();
  261. }
  262. }
  263. }
  264.  
  265. public void saveFolders() {
  266.  
  267. for (int x = 0; x < this.foldersJsonArray.size(); x++) {
  268. this.subFolders.add(new Folder(this.foldersJsonArray.get(x).getAsJsonObject()));
  269. }
  270.  
  271. for(int x = 0; x < subFolders.size(); x++){
  272. if(subFolders.get(x).hasSubfolders()){
  273. subFolders.get(x).saveFolders();
  274. }
  275. }
  276. }
  277.  
  278. public Folder addSubfolder(JsonObject folderProfile){
  279. Folder subfolderToAdd = new Folder(folderProfile);
  280. this.subFolders.add(subfolderToAdd);
  281. return subfolderToAdd;
  282. }
  283.  
  284.  
  285. @Override
  286. public String toString() {
  287. return "Template{" +
  288. "subFolders=" + subFolders + "\n" +
  289. ", templateGson=" + templateGson + "\n" +
  290. ", parser=" + parser + "\n" +
  291. ", author='" + author + '\'' + "\n" +
  292. ", authorDescription='" + authorDescription + '\'' + "\n" +
  293. ", iMClass='" + iMClass + '\'' + "\n" +
  294. ", classDescription='" + classDescription + '\'' + "\n" +
  295. ", contentType='" + contentType + '\'' + "\n" +
  296. ", createDate='" + createDate + '\'' + "\n" +
  297. ", customField=" + Arrays.toString(customField) + "\n" +
  298. ", customDescription=" + Arrays.toString(customDescription) + "\n" +
  299. ", database='" + database + '\'' + "\n" +
  300. ", defaultSecurity='" + defaultSecurity + '\'' + "\n" +
  301. ", documentNumber='" + documentNumber + '\'' + "\n" +
  302. ", editDate='" + editDate + '\'' + "\n" +
  303. ", editProfileDate='" + editProfileDate + '\'' + "\n" +
  304. ", effectiveSecurity='" + effectiveSecurity + '\'' + "\n" +
  305. ", fileCreateDate='" + fileCreateDate + '\'' + "\n" +
  306. ", fileEditDate='" + fileEditDate + '\'' + "\n" +
  307. ", extension='" + extension + '\'' + "\n" +
  308. ", iwl='" + iwl + '\'' + "\n" +
  309. ", lastUser='" + lastUser + '\'' + "\n" +
  310. ", lastUserDescription='" + lastUserDescription + '\'' + "\n" +
  311. ", location='" + location + '\'' + "\n" +
  312. ", name='" + name + '\'' + "\n" +
  313. ", operator='" + operator + '\'' + "\n" +
  314. ", operatorDescription='" + operatorDescription + '\'' + "\n" +
  315. ", owner='" + owner + '\'' + "\n" +
  316. ", ownerDescription='" + ownerDescription + '\'' + "\n" +
  317. ", subtype='" + subtype + '\'' + "\n" +
  318. ", type='" + type + '\'' + "\n" +
  319. ", typeDescription='" + typeDescription + '\'' + "\n" +
  320. ", workspaceID='" + workspaceID + '\'' + "\n" +
  321. ", wsType='" + wsType + '\'' + "\n" +
  322. ", id='" + id + '\'' + "\n" +
  323. ", retainDays=" + retainDays + "\n" +
  324. ", version=" + version + "\n" +
  325. ", size=" + size + "\n" +
  326. ", declared=" + declared + "\n" +
  327. ", declared2=" + declared2 + "\n" +
  328. ", hasDocuments=" + hasDocuments + "\n" +
  329. ", hasSubfolders=" + hasSubfolders + "\n" +
  330. ", inUse=" + inUse + "\n" +
  331. ", indexable=" + indexable + "\n" +
  332. ", checkedOut=" + checkedOut + "\n" +
  333. ", containerSavedSearch=" + containerSavedSearch + "\n" +
  334. ", contentSavedSearch=" + contentSavedSearch + "\n" +
  335. ", external=" + external + "\n" +
  336. ", externalAsNormal=" + externalAsNormal + "\n" +
  337. ", hidden=" + hidden + "\n" +
  338. ", hipaa=" + hipaa + "\n" +
  339. ", inUse2=" + inUse2 + "\n" +
  340. ", restorable=" + restorable + "\n" +
  341. '}';
  342. }
  343.  
  344. // <editor-fold> desc="Getters"
  345.  
  346. public JsonArray getFoldersJsonArray() {
  347. return foldersJsonArray;
  348. }
  349.  
  350. public ArrayList<Folder> getSubFolders() {
  351. return subFolders;
  352. }
  353.  
  354. public String getAuthor() {
  355. return author;
  356. }
  357.  
  358. public String getAuthorDescription() {
  359. return authorDescription;
  360. }
  361.  
  362. public String getiMClass() {
  363. return iMClass;
  364. }
  365.  
  366. public String getClassDescription() {
  367. return classDescription;
  368. }
  369.  
  370. public String getContentType() {
  371. return contentType;
  372. }
  373.  
  374. public String getCreateDate() {
  375. return createDate;
  376. }
  377.  
  378. public String getCustomField(int x){
  379. return customField[x];
  380. }
  381.  
  382. public String getCustomFieldDescription(int x){
  383. return customDescription[x];
  384. }
  385.  
  386. public String getDatabase() {
  387. return database;
  388. }
  389.  
  390. public String getDefaultSecurity() {
  391. return defaultSecurity;
  392. }
  393.  
  394. public String getDocumentNumber() {
  395. return documentNumber;
  396. }
  397.  
  398. public String getEditDate() {
  399. return editDate;
  400. }
  401.  
  402. public String getEditProfileDate() {
  403. return editProfileDate;
  404. }
  405.  
  406. public String getFileCreateDate() {
  407. return fileCreateDate;
  408. }
  409.  
  410. public String getFileEditDate() {
  411. return fileEditDate;
  412. }
  413.  
  414. public String getIwl() {
  415. return iwl;
  416. }
  417.  
  418. public String getLastUser() {
  419. return lastUser;
  420. }
  421.  
  422. public String getLastUserDescription() {
  423. return lastUserDescription;
  424. }
  425.  
  426. public String getLocation() {
  427. return location;
  428. }
  429.  
  430. public String getName() {
  431. return name;
  432. }
  433.  
  434. public String getOperator() {
  435. return operator;
  436. }
  437.  
  438. public String getOperatorDescription() {
  439. return operatorDescription;
  440. }
  441.  
  442. public String getOwner() {
  443. return owner;
  444. }
  445.  
  446. public String getOwnerDescription() {
  447. return ownerDescription;
  448. }
  449.  
  450. public String getSubtype() {
  451. return subtype;
  452. }
  453.  
  454. public String getType() {
  455. return type;
  456. }
  457.  
  458. public String getTypeDescription() {
  459. return typeDescription;
  460. }
  461.  
  462. public String getWorkspaceID() {
  463. return workspaceID;
  464. }
  465.  
  466. public String getWsType() {
  467. return wsType;
  468. }
  469.  
  470. public String getId() {
  471. return id;
  472. }
  473.  
  474. public int getRetainDays() {
  475. return retainDays;
  476. }
  477.  
  478. public int getVersion() {
  479. return version;
  480. }
  481.  
  482. public long getSize() {
  483. return size;
  484. }
  485.  
  486. public boolean isDeclared() {
  487. return declared;
  488. }
  489.  
  490. public boolean isExternal() {
  491. return external;
  492. }
  493.  
  494. public boolean isExternalAsNormal() {
  495. return externalAsNormal;
  496. }
  497.  
  498. public boolean isHidden() {
  499. return hidden;
  500. }
  501.  
  502. public boolean isHipaa() {
  503. return hipaa;
  504. }
  505.  
  506. public boolean isInUse2() {
  507. return inUse2;
  508. }
  509.  
  510. public boolean hasDocuments() {
  511. return hasDocuments;
  512. }
  513.  
  514. public boolean hasSubfolders() {
  515. return hasSubfolders;
  516. }
  517.  
  518. public boolean isInUse() {
  519. return inUse;
  520. }
  521.  
  522. public boolean isIndexable() {
  523. return indexable;
  524. }
  525.  
  526. public boolean isCheckedOut() {
  527. return checkedOut;
  528. }
  529.  
  530. public boolean isContainerSavedSearch() {
  531. return containerSavedSearch;
  532. }
  533.  
  534. public boolean isContentSavedSearch() {
  535. return contentSavedSearch;
  536. }
  537.  
  538. public String getEffectiveSecurity() {
  539. return effectiveSecurity;
  540. }
  541.  
  542. public String getExtension() {
  543. return extension;
  544. }
  545.  
  546. public boolean isDeclared2() {
  547. return declared2;
  548. }
  549.  
  550. public boolean isRestorable() {
  551. return restorable;
  552. }
  553.  
  554. //</editor-fold>
  555.  
  556. // <editor-fold> desc="Setters"
  557.  
  558.  
  559. public void setFoldersJsonArray(JsonArray foldersJsonArray) {
  560. this.foldersJsonArray = foldersJsonArray;
  561. }
  562.  
  563. public void setAuthor(String author) {
  564. this.author = author;
  565. }
  566.  
  567. public void setAuthorDescription(String authorDescription) {
  568. this.authorDescription = authorDescription;
  569. }
  570.  
  571. public void setiMClass(String iMClass) {
  572. this.iMClass = iMClass;
  573. }
  574.  
  575. public void setClassDescription(String classDescription) {
  576. this.classDescription = classDescription;
  577. }
  578.  
  579. public void setContentType(String contentType) {
  580. this.contentType = contentType;
  581. }
  582.  
  583. public void setCreateDate(String createDate) {
  584. this.createDate = createDate;
  585. }
  586.  
  587. public void setCustomField(int x, String customFieldValue){
  588. customField[x] = customFieldValue;
  589. }
  590.  
  591. public void setCustomFieldDescription(int x, String customFieldDescription){
  592. customDescription[x] = customFieldDescription;
  593. }
  594.  
  595. public void setDatabase(String database) {
  596. this.database = database;
  597. }
  598.  
  599. public void setDefaultSecurity(String defaultSecurity) {
  600. this.defaultSecurity = defaultSecurity;
  601. }
  602.  
  603. public void setDocumentNumber(String documentNumber) {
  604. this.documentNumber = documentNumber;
  605. }
  606.  
  607. public void setEditDate(String editDate) {
  608. this.editDate = editDate;
  609. }
  610.  
  611. public void setEditProfileDate(String editProfileDate) {
  612. this.editProfileDate = editProfileDate;
  613. }
  614.  
  615. public void setFileCreateDate(String fileCreateDate) {
  616. this.fileCreateDate = fileCreateDate;
  617. }
  618.  
  619. public void setFileEditDate(String fileEditDate) {
  620. this.fileEditDate = fileEditDate;
  621. }
  622.  
  623. public void setIwl(String iwl) {
  624. this.iwl = iwl;
  625. }
  626.  
  627. public void setLastUser(String lastUser) {
  628. this.lastUser = lastUser;
  629. }
  630.  
  631. public void setLastUserDescription(String lastUserDescription) {
  632. this.lastUserDescription = lastUserDescription;
  633. }
  634.  
  635. public void setLocation(String location) {
  636. this.location = location;
  637. }
  638.  
  639. public void setName(String name) {
  640. this.name = name;
  641. }
  642.  
  643. public void setOperator(String operator) {
  644. this.operator = operator;
  645. }
  646.  
  647. public void setOperatorDescription(String operatorDescription) {
  648. this.operatorDescription = operatorDescription;
  649. }
  650.  
  651. public void setOwner(String owner) {
  652. this.owner = owner;
  653. }
  654.  
  655. public void setOwnerDescription(String ownerDescription) {
  656. this.ownerDescription = ownerDescription;
  657. }
  658.  
  659. public void setSubtype(String subtype) {
  660. this.subtype = subtype;
  661. }
  662.  
  663. public void setType(String type) {
  664. this.type = type;
  665. }
  666.  
  667. public void setTypeDescription(String typeDescription) {
  668. this.typeDescription = typeDescription;
  669. }
  670.  
  671. public void setWorkspaceID(String workspaceID) {
  672. this.workspaceID = workspaceID;
  673. }
  674.  
  675. public void setWsType(String wsType) {
  676. this.wsType = wsType;
  677. }
  678.  
  679. public void setId(String id) {
  680. this.id = id;
  681. }
  682.  
  683. public void setRetainDays(int retainDays) {
  684. this.retainDays = retainDays;
  685. }
  686.  
  687. public void setVersion(int version) {
  688. this.version = version;
  689. }
  690.  
  691. public void setSize(long size) {
  692. this.size = size;
  693. }
  694.  
  695. public void setDeclared(boolean declared) {
  696. this.declared = declared;
  697. }
  698.  
  699. public void setExternal(boolean external) {
  700. this.external = external;
  701. }
  702.  
  703. public void setExternalAsNormal(boolean externalAsNormal) {
  704. this.externalAsNormal = externalAsNormal;
  705. }
  706.  
  707. public void setHidden(boolean hidden) {
  708. this.hidden = hidden;
  709. }
  710.  
  711. public void setHipaa(boolean hipaa) {
  712. this.hipaa = hipaa;
  713. }
  714.  
  715. public void setInUse2(boolean inUse2) {
  716. this.inUse2 = inUse2;
  717. }
  718.  
  719. public void setHasDocuments(boolean hasDocuments) {
  720. this.hasDocuments = hasDocuments;
  721. }
  722.  
  723. public void setHasSubfolders(boolean hasSubfolders) {
  724. this.hasSubfolders = hasSubfolders;
  725. }
  726.  
  727. public void setInUse(boolean inUse) {
  728. this.inUse = inUse;
  729. }
  730.  
  731. public void setIndexable(boolean indexable) {
  732. this.indexable = indexable;
  733. }
  734.  
  735. public void setCheckedOut(boolean checkedOut) {
  736. this.checkedOut = checkedOut;
  737. }
  738.  
  739. public void setContainerSavedSearch(boolean containerSavedSearch) {
  740. this.containerSavedSearch = containerSavedSearch;
  741. }
  742.  
  743. public void setContentSavedSearch(boolean contentSavedSearch) {
  744. this.contentSavedSearch = contentSavedSearch;
  745. }
  746.  
  747. public void setEffectiveSecurity(String effectiveSecurity) {
  748. this.effectiveSecurity = effectiveSecurity;
  749. }
  750.  
  751. public void setExtension(String extension) {
  752. this.extension = extension;
  753. }
  754.  
  755. public void setDeclared2(boolean declared2) {
  756. this.declared2 = declared2;
  757. }
  758.  
  759. public void setRestorable(boolean restorable) {
  760. this.restorable = restorable;
  761. }
  762.  
  763. //</editor-fold>
  764. }
  765.  
Compilation error #stdin compilation error #stdout 0s 0KB
stdin
Standard input is empty
compilation info
Main.java:10: error: class Template is public, should be declared in a file named Template.java
public class Template extends IMContainer {
       ^
Main.java:1: error: package com.google.gson does not exist
import com.google.gson.Gson;
                      ^
Main.java:2: error: package com.google.gson does not exist
import com.google.gson.JsonArray;
                      ^
Main.java:3: error: package com.google.gson does not exist
import com.google.gson.JsonObject;
                      ^
Main.java:4: error: package com.google.gson does not exist
import com.google.gson.JsonParser;
                      ^
Main.java:10: error: cannot find symbol
public class Template extends IMContainer {
                              ^
  symbol: class IMContainer
Main.java:12: error: cannot find symbol
    private ArrayList<Folder> subFolders = new ArrayList<>();
                      ^
  symbol:   class Folder
  location: class Template
Main.java:13: error: cannot find symbol
    private Gson templateGson = new Gson();
            ^
  symbol:   class Gson
  location: class Template
Main.java:14: error: cannot find symbol
    private JsonParser parser = new JsonParser();
            ^
  symbol:   class JsonParser
  location: class Template
Main.java:15: error: cannot find symbol
    private JsonArray foldersJsonArray;
            ^
  symbol:   class JsonArray
  location: class Template
Main.java:80: error: cannot find symbol
    public Template(JsonObject templateProfile){
                    ^
  symbol:   class JsonObject
  location: class Template
Main.java:278: error: cannot find symbol
    public Folder addSubfolder(JsonObject folderProfile){
                               ^
  symbol:   class JsonObject
  location: class Template
Main.java:278: error: cannot find symbol
    public Folder addSubfolder(JsonObject folderProfile){
           ^
  symbol:   class Folder
  location: class Template
Main.java:346: error: cannot find symbol
    public JsonArray getFoldersJsonArray() {
           ^
  symbol:   class JsonArray
  location: class Template
Main.java:350: error: cannot find symbol
    public ArrayList<Folder> getSubFolders() {
                     ^
  symbol:   class Folder
  location: class Template
Main.java:559: error: cannot find symbol
    public void setFoldersJsonArray(JsonArray foldersJsonArray) {
                                    ^
  symbol:   class JsonArray
  location: class Template
Main.java:13: error: cannot find symbol
    private Gson templateGson = new Gson();
                                    ^
  symbol:   class Gson
  location: class Template
Main.java:14: error: cannot find symbol
    private JsonParser parser = new JsonParser();
                                    ^
  symbol:   class JsonParser
  location: class Template
Main.java:268: error: cannot find symbol
            this.subFolders.add(new Folder(this.foldersJsonArray.get(x).getAsJsonObject()));
                                    ^
  symbol:   class Folder
  location: class Template
Main.java:279: error: cannot find symbol
        Folder subfolderToAdd = new Folder(folderProfile);
        ^
  symbol:   class Folder
  location: class Template
Main.java:279: error: cannot find symbol
        Folder subfolderToAdd = new Folder(folderProfile);
                                    ^
  symbol:   class Folder
  location: class Template
Main.java:285: error: method does not override or implement a method from a supertype
    @Override
    ^
22 errors
stdout
Standard output is empty