com.google.gson.internal.Excluder#excludeField ( )源码实例Demo

下面列出了com.google.gson.internal.Excluder#excludeField ( ) 实例代码,或者点击链接到github查看源代码,也可以在右侧发表评论。

private static Collection<String> getPropertyNames(
    final Class<?> clazz,
    final Excluder excluder,
    final FieldNamingStrategy fieldNamingStrategy) {
  final Collection<String> propertyNames = new ArrayList<>();
  // Class fields are declared per class so we have to traverse the whole hierarchy
  for (Class<?> i = clazz;
      i.getSuperclass() != null && i != Object.class;
      i = i.getSuperclass()) {
    for (final Field declaredField : i.getDeclaredFields()) {
      // If the class field is not excluded
      if (!excluder.excludeField(declaredField, false)) {
        // We can translate the field name to its property name counter-part
        final String propertyName = fieldNamingStrategy.translateName(declaredField);
        propertyNames.add(propertyName);
      }
    }
  }
  return propertyNames;
}
 
protected static boolean excludeField(Field f, boolean serialize, Excluder excluder) {
    return !excluder.excludeClass(f.getType(), serialize) && !excluder.excludeField(f, serialize);
}
 
源代码3 项目: gson   文件: ReflectiveTypeAdapterFactory.java
static boolean excludeField(Field f, boolean serialize, Excluder excluder) {
  return !excluder.excludeClass(f.getType(), serialize) && !excluder.excludeField(f, serialize);
}
 
源代码4 项目: framework   文件: ReflectiveTypeAdapterFactory.java
static boolean excludeField(Field f, boolean serialize, Excluder excluder) {
  return !excluder.excludeClass(f.getType(), serialize) && !excluder.excludeField(f, serialize);
}