package com.alibaba.fastjson.serializer; import java.util.List; public class FilterUtils { public static Object processValue(JSONSerializer serializer, Object object, String key, Object propertyValue) { List<ValueFilter> valueFilters = serializer.getValueFiltersDirect(); if (valueFilters != null) { for (ValueFilter valueFilter : valueFilters) { propertyValue = valueFilter.process(object, key, propertyValue); } } return propertyValue; } public static String processKey(JSONSerializer serializer, Object object, String key, Object propertyValue) { List<NameFilter> nameFilters = serializer.getNameFiltersDirect(); if (nameFilters != null) { for (NameFilter nameFilter : nameFilters) { key = nameFilter.process(object, key, propertyValue); } } return key; } public static String processKey(JSONSerializer serializer, Object object, String key, byte intValue) { List<NameFilter> nameFilters = serializer.getNameFiltersDirect(); if (nameFilters != null) { Object propertyValue = Byte.valueOf(intValue); for (NameFilter nameFilter : nameFilters) { key = nameFilter.process(object, key, propertyValue); } } return key; } public static String processKey(JSONSerializer serializer, Object object, String key, short intValue) { List<NameFilter> nameFilters = serializer.getNameFiltersDirect(); if (nameFilters != null) { Object propertyValue = Short.valueOf(intValue); for (NameFilter nameFilter : nameFilters) { key = nameFilter.process(object, key, propertyValue); } } return key; } public static String processKey(JSONSerializer serializer, Object object, String key, int intValue) { List<NameFilter> nameFilters = serializer.getNameFiltersDirect(); if (nameFilters != null) { Object propertyValue = Integer.valueOf(intValue); for (NameFilter nameFilter : nameFilters) { key = nameFilter.process(object, key, propertyValue); } } return key; } public static String processKey(JSONSerializer serializer, Object object, String key, long intValue) { List<NameFilter> nameFilters = serializer.getNameFiltersDirect(); if (nameFilters != null) { Object propertyValue = Long.valueOf(intValue); for (NameFilter nameFilter : nameFilters) { key = nameFilter.process(object, key, propertyValue); } } return key; } public static String processKey(JSONSerializer serializer, Object object, String key, float intValue) { List<NameFilter> nameFilters = serializer.getNameFiltersDirect(); if (nameFilters != null) { Object propertyValue = Float.valueOf(intValue); for (NameFilter nameFilter : nameFilters) { key = nameFilter.process(object, key, propertyValue); } } return key; } public static String processKey(JSONSerializer serializer, Object object, String key, double intValue) { List<NameFilter> nameFilters = serializer.getNameFiltersDirect(); if (nameFilters != null) { Object propertyValue = Double.valueOf(intValue); for (NameFilter nameFilter : nameFilters) { key = nameFilter.process(object, key, propertyValue); } } return key; } public static String processKey(JSONSerializer serializer, Object object, String key, boolean intValue) { List<NameFilter> nameFilters = serializer.getNameFiltersDirect(); if (nameFilters != null) { Object propertyValue = Boolean.valueOf(intValue); for (NameFilter nameFilter : nameFilters) { key = nameFilter.process(object, key, propertyValue); } } return key; } public static String processKey(JSONSerializer serializer, Object object, String key, char intValue) { List<NameFilter> nameFilters = serializer.getNameFiltersDirect(); if (nameFilters != null) { Object propertyValue = Character.valueOf(intValue); for (NameFilter nameFilter : nameFilters) { key = nameFilter.process(object, key, propertyValue); } } return key; } public static boolean applyName(JSONSerializer serializer, Object object, String key) { List<PropertyPreFilter> filters = serializer.getPropertyPreFiltersDirect(); if (filters == null) { return true; } for (PropertyPreFilter filter : filters) { if (!filter.apply(serializer, object, key)) { return false; } } return true; } public static boolean apply(JSONSerializer serializer, Object object, String key, Object propertyValue) { List<PropertyFilter> propertyFilters = serializer.getPropertyFiltersDirect(); if (propertyFilters == null) { return true; } for (PropertyFilter propertyFilter : propertyFilters) { if (!propertyFilter.apply(object, key, propertyValue)) { return false; } } return true; } public static boolean apply(JSONSerializer serializer, Object object, String key, byte value) { List<PropertyFilter> propertyFilters = serializer.getPropertyFiltersDirect(); if (propertyFilters != null) { boolean apply = true; Object propertyValue = Byte.valueOf(value); for (PropertyFilter propertyFilter : propertyFilters) { if (!propertyFilter.apply(object, key, propertyValue)) { return false; } } return apply; } return true; } public static boolean apply(JSONSerializer serializer, Object object, String key, short value) { List<PropertyFilter> propertyFilters = serializer.getPropertyFiltersDirect(); if (propertyFilters != null) { boolean apply = true; Object propertyValue = Short.valueOf(value); for (PropertyFilter propertyFilter : propertyFilters) { if (!propertyFilter.apply(object, key, propertyValue)) { return false; } } return apply; } return true; } public static boolean apply(JSONSerializer serializer, Object object, String key, int value) { List<PropertyFilter> propertyFilters = serializer.getPropertyFiltersDirect(); if (propertyFilters != null) { boolean apply = true; Object propertyValue = Integer.valueOf(value); for (PropertyFilter propertyFilter : propertyFilters) { if (!propertyFilter.apply(object, key, propertyValue)) { return false; } } return apply; } return true; } public static boolean apply(JSONSerializer serializer, Object object, String key, char value) { List<PropertyFilter> propertyFilters = serializer.getPropertyFiltersDirect(); if (propertyFilters != null) { boolean apply = true; Object propertyValue = Character.valueOf(value); for (PropertyFilter propertyFilter : propertyFilters) { if (!propertyFilter.apply(object, key, propertyValue)) { return false; } } return apply; } return true; } public static boolean apply(JSONSerializer serializer, Object object, String key, long value) { List<PropertyFilter> propertyFilters = serializer.getPropertyFiltersDirect(); if (propertyFilters != null) { boolean apply = true; Object propertyValue = Long.valueOf(value); for (PropertyFilter propertyFilter : propertyFilters) { if (!propertyFilter.apply(object, key, propertyValue)) { return false; } } return apply; } return true; } public static boolean apply(JSONSerializer serializer, Object object, String key, float value) { List<PropertyFilter> propertyFilters = serializer.getPropertyFiltersDirect(); if (propertyFilters != null) { boolean apply = true; Object propertyValue = Float.valueOf(value); for (PropertyFilter propertyFilter : propertyFilters) { if (!propertyFilter.apply(object, key, propertyValue)) { return false; } } return apply; } return true; } public static boolean apply(JSONSerializer serializer, Object object, String key, double value) { List<PropertyFilter> propertyFilters = serializer.getPropertyFiltersDirect(); if (propertyFilters != null) { boolean apply = true; Object propertyValue = Double.valueOf(value); for (PropertyFilter propertyFilter : propertyFilters) { if (!propertyFilter.apply(object, key, propertyValue)) { return false; } } return apply; } return true; } }