java-commons/commons-gson/src/main/java/io/gitlab/jfronny/commons/serialize/gson/impl/GsonIgnoreExclusionStrategy...

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);
}
}