001
014
015 package com.liferay.portal.json;
016
017 import com.liferay.portal.kernel.json.JSONSerializer;
018 import com.liferay.portal.kernel.json.JSONTransformer;
019
020 import flexjson.transformer.Transformer;
021
022
027 public class JSONSerializerImpl implements JSONSerializer {
028
029 public JSONSerializerImpl() {
030 _jsonSerializer = new flexjson.JSONSerializer();
031 }
032
033 public JSONSerializerImpl exclude(String... fields) {
034 _jsonSerializer.exclude(fields);
035
036 return this;
037 }
038
039 public JSONSerializerImpl include(String... fields) {
040 _jsonSerializer.include(fields);
041
042 return this;
043 }
044
045 public String serialize(Object target) {
046 return _jsonSerializer.serialize(target);
047 }
048
049 public String serializeDeep(Object target) {
050 return _jsonSerializer.deepSerialize(target);
051 }
052
053 public JSONSerializerImpl transform(
054 JSONTransformer jsonTransformer, Class<?>... types) {
055
056 Transformer transformer = null;
057
058 if (jsonTransformer instanceof Transformer) {
059 transformer = (Transformer)jsonTransformer;
060 }
061 else {
062 transformer = new FlexjsonTransformer(jsonTransformer);
063 }
064
065 _jsonSerializer.transform(transformer, types);
066
067 return this;
068 }
069
070 public JSONSerializerImpl transform(
071 JSONTransformer jsonTransformer, String... fields) {
072
073 Transformer transformer = null;
074
075 if (jsonTransformer instanceof Transformer) {
076 transformer = (Transformer)jsonTransformer;
077 }
078 else {
079 transformer = new FlexjsonTransformer(jsonTransformer);
080 }
081
082 _jsonSerializer.transform(transformer, fields);
083
084 return this;
085 }
086
087 private final flexjson.JSONSerializer _jsonSerializer;
088
089 }