/src/main/java/com/alibaba/fastjson/serializer/FilterUtils.java

https://github.com/flydream/fastjson · Java · 281 lines · 213 code · 68 blank · 0 comment · 62 complexity · b9e90230d2848d7ed85a7ff3643eeed0 MD5 · raw file

  1. package com.alibaba.fastjson.serializer;
  2. import java.util.List;
  3. public class FilterUtils {
  4. public static Object processValue(JSONSerializer serializer, Object object, String key, Object propertyValue) {
  5. List<ValueFilter> valueFilters = serializer.getValueFiltersDirect();
  6. if (valueFilters != null) {
  7. for (ValueFilter valueFilter : valueFilters) {
  8. propertyValue = valueFilter.process(object, key, propertyValue);
  9. }
  10. }
  11. return propertyValue;
  12. }
  13. public static String processKey(JSONSerializer serializer, Object object, String key, Object propertyValue) {
  14. List<NameFilter> nameFilters = serializer.getNameFiltersDirect();
  15. if (nameFilters != null) {
  16. for (NameFilter nameFilter : nameFilters) {
  17. key = nameFilter.process(object, key, propertyValue);
  18. }
  19. }
  20. return key;
  21. }
  22. public static String processKey(JSONSerializer serializer, Object object, String key, byte intValue) {
  23. List<NameFilter> nameFilters = serializer.getNameFiltersDirect();
  24. if (nameFilters != null) {
  25. Object propertyValue = Byte.valueOf(intValue);
  26. for (NameFilter nameFilter : nameFilters) {
  27. key = nameFilter.process(object, key, propertyValue);
  28. }
  29. }
  30. return key;
  31. }
  32. public static String processKey(JSONSerializer serializer, Object object, String key, short intValue) {
  33. List<NameFilter> nameFilters = serializer.getNameFiltersDirect();
  34. if (nameFilters != null) {
  35. Object propertyValue = Short.valueOf(intValue);
  36. for (NameFilter nameFilter : nameFilters) {
  37. key = nameFilter.process(object, key, propertyValue);
  38. }
  39. }
  40. return key;
  41. }
  42. public static String processKey(JSONSerializer serializer, Object object, String key, int intValue) {
  43. List<NameFilter> nameFilters = serializer.getNameFiltersDirect();
  44. if (nameFilters != null) {
  45. Object propertyValue = Integer.valueOf(intValue);
  46. for (NameFilter nameFilter : nameFilters) {
  47. key = nameFilter.process(object, key, propertyValue);
  48. }
  49. }
  50. return key;
  51. }
  52. public static String processKey(JSONSerializer serializer, Object object, String key, long intValue) {
  53. List<NameFilter> nameFilters = serializer.getNameFiltersDirect();
  54. if (nameFilters != null) {
  55. Object propertyValue = Long.valueOf(intValue);
  56. for (NameFilter nameFilter : nameFilters) {
  57. key = nameFilter.process(object, key, propertyValue);
  58. }
  59. }
  60. return key;
  61. }
  62. public static String processKey(JSONSerializer serializer, Object object, String key, float intValue) {
  63. List<NameFilter> nameFilters = serializer.getNameFiltersDirect();
  64. if (nameFilters != null) {
  65. Object propertyValue = Float.valueOf(intValue);
  66. for (NameFilter nameFilter : nameFilters) {
  67. key = nameFilter.process(object, key, propertyValue);
  68. }
  69. }
  70. return key;
  71. }
  72. public static String processKey(JSONSerializer serializer, Object object, String key, double intValue) {
  73. List<NameFilter> nameFilters = serializer.getNameFiltersDirect();
  74. if (nameFilters != null) {
  75. Object propertyValue = Double.valueOf(intValue);
  76. for (NameFilter nameFilter : nameFilters) {
  77. key = nameFilter.process(object, key, propertyValue);
  78. }
  79. }
  80. return key;
  81. }
  82. public static String processKey(JSONSerializer serializer, Object object, String key, boolean intValue) {
  83. List<NameFilter> nameFilters = serializer.getNameFiltersDirect();
  84. if (nameFilters != null) {
  85. Object propertyValue = Boolean.valueOf(intValue);
  86. for (NameFilter nameFilter : nameFilters) {
  87. key = nameFilter.process(object, key, propertyValue);
  88. }
  89. }
  90. return key;
  91. }
  92. public static String processKey(JSONSerializer serializer, Object object, String key, char intValue) {
  93. List<NameFilter> nameFilters = serializer.getNameFiltersDirect();
  94. if (nameFilters != null) {
  95. Object propertyValue = Character.valueOf(intValue);
  96. for (NameFilter nameFilter : nameFilters) {
  97. key = nameFilter.process(object, key, propertyValue);
  98. }
  99. }
  100. return key;
  101. }
  102. public static boolean apply(JSONSerializer serializer, Object object, String key, Object propertyValue) {
  103. List<PropertyFilter> propertyFilters = serializer.getPropertyFiltersDirect();
  104. if (propertyFilters != null) {
  105. boolean apply = true;
  106. for (PropertyFilter propertyFilter : propertyFilters) {
  107. if (!propertyFilter.apply(object, key, propertyValue)) {
  108. return false;
  109. }
  110. }
  111. return apply;
  112. }
  113. return true;
  114. }
  115. public static boolean apply(JSONSerializer serializer, Object object, String key, byte value) {
  116. List<PropertyFilter> propertyFilters = serializer.getPropertyFiltersDirect();
  117. if (propertyFilters != null) {
  118. boolean apply = true;
  119. Object propertyValue = Byte.valueOf(value);
  120. for (PropertyFilter propertyFilter : propertyFilters) {
  121. if (!propertyFilter.apply(object, key, propertyValue)) {
  122. return false;
  123. }
  124. }
  125. return apply;
  126. }
  127. return true;
  128. }
  129. public static boolean apply(JSONSerializer serializer, Object object, String key, short value) {
  130. List<PropertyFilter> propertyFilters = serializer.getPropertyFiltersDirect();
  131. if (propertyFilters != null) {
  132. boolean apply = true;
  133. Object propertyValue = Short.valueOf(value);
  134. for (PropertyFilter propertyFilter : propertyFilters) {
  135. if (!propertyFilter.apply(object, key, propertyValue)) {
  136. return false;
  137. }
  138. }
  139. return apply;
  140. }
  141. return true;
  142. }
  143. public static boolean apply(JSONSerializer serializer, Object object, String key, int value) {
  144. List<PropertyFilter> propertyFilters = serializer.getPropertyFiltersDirect();
  145. if (propertyFilters != null) {
  146. boolean apply = true;
  147. Object propertyValue = Integer.valueOf(value);
  148. for (PropertyFilter propertyFilter : propertyFilters) {
  149. if (!propertyFilter.apply(object, key, propertyValue)) {
  150. return false;
  151. }
  152. }
  153. return apply;
  154. }
  155. return true;
  156. }
  157. public static boolean apply(JSONSerializer serializer, Object object, String key, char value) {
  158. List<PropertyFilter> propertyFilters = serializer.getPropertyFiltersDirect();
  159. if (propertyFilters != null) {
  160. boolean apply = true;
  161. Object propertyValue = Character.valueOf(value);
  162. for (PropertyFilter propertyFilter : propertyFilters) {
  163. if (!propertyFilter.apply(object, key, propertyValue)) {
  164. return false;
  165. }
  166. }
  167. return apply;
  168. }
  169. return true;
  170. }
  171. public static boolean apply(JSONSerializer serializer, Object object, String key, long value) {
  172. List<PropertyFilter> propertyFilters = serializer.getPropertyFiltersDirect();
  173. if (propertyFilters != null) {
  174. boolean apply = true;
  175. Object propertyValue = Long.valueOf(value);
  176. for (PropertyFilter propertyFilter : propertyFilters) {
  177. if (!propertyFilter.apply(object, key, propertyValue)) {
  178. return false;
  179. }
  180. }
  181. return apply;
  182. }
  183. return true;
  184. }
  185. public static boolean apply(JSONSerializer serializer, Object object, String key, float value) {
  186. List<PropertyFilter> propertyFilters = serializer.getPropertyFiltersDirect();
  187. if (propertyFilters != null) {
  188. boolean apply = true;
  189. Object propertyValue = Float.valueOf(value);
  190. for (PropertyFilter propertyFilter : propertyFilters) {
  191. if (!propertyFilter.apply(object, key, propertyValue)) {
  192. return false;
  193. }
  194. }
  195. return apply;
  196. }
  197. return true;
  198. }
  199. public static boolean apply(JSONSerializer serializer, Object object, String key, double value) {
  200. List<PropertyFilter> propertyFilters = serializer.getPropertyFiltersDirect();
  201. if (propertyFilters != null) {
  202. boolean apply = true;
  203. Object propertyValue = Double.valueOf(value);
  204. for (PropertyFilter propertyFilter : propertyFilters) {
  205. if (!propertyFilter.apply(object, key, propertyValue)) {
  206. return false;
  207. }
  208. }
  209. return apply;
  210. }
  211. return true;
  212. }
  213. }