21 lines
630 B
Java
21 lines
630 B
Java
package io.gitlab.jfronny.commons.serialize.gson.impl;
|
|
|
|
import com.google.gson.*;
|
|
import io.gitlab.jfronny.commons.serialize.gson.api.*;
|
|
|
|
/**
|
|
* An exclusion strategy that ignores fields with the GsonIgnore attribute
|
|
*/
|
|
public class GsonIgnoreExclusionStrategy implements ExclusionStrategy {
|
|
@Override
|
|
public boolean shouldSkipClass(Class<?> clazz) {
|
|
return clazz.isAnnotationPresent(Ignore.class);
|
|
}
|
|
|
|
@Override
|
|
public boolean shouldSkipField(FieldAttributes f) {
|
|
return f.getAnnotation(Ignore.class) != null
|
|
|| f.getDeclaringClass().isAnnotationPresent(Ignore.class);
|
|
}
|
|
}
|