Rev 1857 | Go to most recent revision | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed
Rev 1857 | Rev 1929 | ||
---|---|---|---|
Line 1... | Line 1... | ||
1 | package pt.estgp.estgweb.utils.documentBuilder; |
1 | package pt.estgp.estgweb.utils.documentBuilder; |
2 | 2 | ||
- | 3 | import com.owlike.genson.Genson; |
|
- | 4 | import com.owlike.genson.GensonBuilder; |
|
- | 5 | import org.json.JSONException; |
|
- | 6 | import org.json.JSONObject; |
|
- | 7 | import pt.estgp.estgweb.services.courses.coursereport.documentmodel.CourseReportDocument; |
|
3 | import pt.estgp.estgweb.utils.ClassUtils; |
8 | import pt.estgp.estgweb.utils.ClassUtils; |
4 | 9 | ||
- | 10 | import java.util.Date; |
|
5 | import java.util.List; |
11 | import java.util.List; |
6 | 12 | ||
7 | /** |
13 | /** |
8 | * Created by jorgemachado on 07/11/17. |
14 | * Created by jorgemachado on 07/11/17. |
9 | */ |
15 | */ |
10 | public class ExtensibleDocObject |
16 | public class ExtensibleDocObject |
11 | { |
17 | { |
- | 18 | private static Genson gensonGenericLoad; |
|
- | 19 | ||
- | 20 | static{ |
|
- | 21 | gensonGenericLoad = new GensonBuilder() |
|
- | 22 | .useMethods(true) |
|
- | 23 | .useFields(true) |
|
- | 24 | .useRuntimeType(true) //para ignorar a CGLIB do courseUnitEvaluation |
|
- | 25 | .useClassMetadata(true) |
|
- | 26 | .useDateAsTimestamp(true) |
|
- | 27 | .exclude(1.5.0/docs/api/java/lang/Class.html">Class.class) |
|
- | 28 | .exclude(5+0%2Fdocs%2Fapi+Date">Date.class) |
|
- | 29 | .exclude(java.sql.5+0%2Fdocs%2Fapi+Timestamp">Timestamp.class) |
|
- | 30 | .exclude(java.sql.5+0%2Fdocs%2Fapi+Date">Date.class) |
|
- | 31 | .create(); |
|
- | 32 | } |
|
- | 33 | ||
- | 34 | public static CourseReportDocument fromJson(1.5.0/docs/api/java/lang/String.html">String json) |
|
- | 35 | { |
|
- | 36 | return gensonGenericLoad.deserialize(json,CourseReportDocument.class); |
|
- | 37 | } |
|
- | 38 | /** |
|
- | 39 | * Generic Json Object only for local class methods |
|
- | 40 | * @return |
|
- | 41 | * @throws JSONException |
|
- | 42 | */ |
|
- | 43 | public JSONObject toJsonObject() throws JSONException |
|
- | 44 | { |
|
- | 45 | return new JSONObject(toJson()); |
|
- | 46 | } |
|
- | 47 | /** |
|
- | 48 | * * Generic Json Object only for local class methods |
|
- | 49 | * @return |
|
- | 50 | * @throws java.io.IOException |
|
- | 51 | */ |
|
- | 52 | public 1.5.0/docs/api/java/lang/String.html">String toJson() |
|
- | 53 | { |
|
- | 54 | return gensonGenericLoad.serialize(this); |
|
- | 55 | } |
|
- | 56 | ||
12 | public List<String> getAllSuperClasses() |
57 | public List<String> getAllSuperClasses() |
13 | { |
58 | { |
14 | return ClassUtils.getAllSuperClasses(this.getClass()); |
59 | return ClassUtils.getAllSuperClasses(this.getClass()); |
15 | } |
60 | } |
- | 61 | ||
16 | public void setAllSuperClasses(List<String> superclasses) |
62 | public void setAllSuperClasses(List<String> superclasses) |
17 | { |
63 | { |
18 | 64 | ||
19 | } |
65 | } |
- | 66 | ||
20 | } |
67 | } |