本文整理汇总了Java中com.google.gson.ExclusionStrategy类的典型用法代码示例。如果您正苦于以下问题:Java ExclusionStrategy类的具体用法?Java ExclusionStrategy怎么用?Java ExclusionStrategy使用的例子?那么, 这里精选的类代码示例或许可以为您提供帮助。
ExclusionStrategy类属于com.google.gson包,在下文中一共展示了ExclusionStrategy类的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。
示例1: getGsonBuilder
import com.google.gson.ExclusionStrategy; //导入依赖的package包/类
/**
* 构建通用GsonBuilder, 封装初始化工作
*
* @return
*/
public static GsonBuilder getGsonBuilder(boolean prettyPrinting) {
GsonBuilder gb = new GsonBuilder();
gb.setDateFormat("yyyy-MM-dd HH:mm:ss:mss");
gb.setExclusionStrategies(new ExclusionStrategy() {
@Override
public boolean shouldSkipField(FieldAttributes f) {
return f.getAnnotation(WJsonExclued.class) != null;
}
@Override
public boolean shouldSkipClass(Class<?> clazz) {
return clazz.getAnnotation(WJsonExclued.class) != null;
}
});
if (prettyPrinting)
gb.setPrettyPrinting();
return gb;
}
示例2: createRouteBuilder
import com.google.gson.ExclusionStrategy; //导入依赖的package包/类
@Override
protected RouteBuilder createRouteBuilder() throws Exception {
return new RouteBuilder() {
@Override
public void configure() throws Exception {
GsonDataFormat weightExclusionFormat = new GsonDataFormat(TestPojoExclusion.class);
weightExclusionFormat.setExclusionStrategies(Arrays.<ExclusionStrategy>asList(new WeightExclusionStrategy()));
from("direct:inPojoExcludeWeight").marshal(weightExclusionFormat);
from("direct:backPojoExcludeWeight").unmarshal(weightExclusionFormat).to("mock:reversePojoExcludeWeight");
//START SNIPPET: format
GsonDataFormat ageExclusionFormat = new GsonDataFormat(TestPojoExclusion.class);
ageExclusionFormat.setExclusionStrategies(Arrays.<ExclusionStrategy>asList(new AgeExclusionStrategy()));
from("direct:inPojoExcludeAge").marshal(ageExclusionFormat);
//END SNIPPET: format
from("direct:backPojoExcludeAge").unmarshal(ageExclusionFormat).to("mock:reversePojoExcludeAge");
}
};
}
示例3: excludeClass
import com.google.gson.ExclusionStrategy; //导入依赖的package包/类
public boolean excludeClass(Class<?> clazz, boolean serialize) {
if (version != Excluder.IGNORE_VERSIONS
&& !isValidVersion(clazz.getAnnotation(Since.class), clazz.getAnnotation(Until.class))) {
return true;
}
if (!serializeInnerClasses && isInnerClass(clazz)) {
return true;
}
if (isAnonymousOrLocal(clazz)) {
return true;
}
List<ExclusionStrategy> list = serialize ? serializationStrategies : deserializationStrategies;
for (ExclusionStrategy exclusionStrategy : list) {
if (exclusionStrategy.shouldSkipClass(clazz)) {
return true;
}
}
return false;
}
示例4: WebApi
import com.google.gson.ExclusionStrategy; //导入依赖的package包/类
public WebApi(Master master, WebApiListener eventListener) {
this.master = master;
this.eventListener = eventListener;
WebApi.gson = new GsonBuilder().registerTypeAdapter(CodecEnum.class, new CodecTypeAdapter<>())
.setExclusionStrategies(new ExclusionStrategy() {
@Override
public boolean shouldSkipField(FieldAttributes f) {
return f.getAnnotation(NoWebUI.class) != null;
}
@Override
public boolean shouldSkipClass(Class<?> clazz) {
return false;
}
}).serializeSpecialFloatingPointValues().create();
}
示例5: excludeClass
import com.google.gson.ExclusionStrategy; //导入依赖的package包/类
public boolean excludeClass(Class<?> clazz, boolean serialize) {
if (this.version != IGNORE_VERSIONS && !isValidVersion((Since) clazz.getAnnotation(Since.class), (Until) clazz.getAnnotation(Until.class))) {
return true;
}
if (!this.serializeInnerClasses && isInnerClass(clazz)) {
return true;
}
if (isAnonymousOrLocal(clazz)) {
return true;
}
for (ExclusionStrategy exclusionStrategy : serialize ? this.serializationStrategies : this.deserializationStrategies) {
if (exclusionStrategy.shouldSkipClass(clazz)) {
return true;
}
}
return false;
}
示例6: makeGsonForRealm
import com.google.gson.ExclusionStrategy; //导入依赖的package包/类
/**
* Make gson which {@link DateDeserializer} and compatible with {@link RealmObject}
* @return {@link Gson} object
*/
public static Gson makeGsonForRealm() {
return makeDefaultGsonBuilder()
.setExclusionStrategies(new ExclusionStrategy() {
@Override
public boolean shouldSkipField(FieldAttributes f) {
return f.getDeclaringClass().equals(RealmObject.class);
}
@Override
public boolean shouldSkipClass(Class<?> clazz) {
return false;
}
})
.create();
}
示例7: excludeClass
import com.google.gson.ExclusionStrategy; //导入依赖的package包/类
public boolean excludeClass(Class<?> clazz, boolean serialize) {
if (this.version != IGNORE_VERSIONS && !isValidVersion((Since) clazz.getAnnotation(Since
.class), (Until) clazz.getAnnotation(Until.class))) {
return true;
}
if (!this.serializeInnerClasses && isInnerClass(clazz)) {
return true;
}
if (isAnonymousOrLocal(clazz)) {
return true;
}
for (ExclusionStrategy exclusionStrategy : serialize ? this.serializationStrategies :
this.deserializationStrategies) {
if (exclusionStrategy.shouldSkipClass(clazz)) {
return true;
}
}
return false;
}
示例8: addFlagToObject
import com.google.gson.ExclusionStrategy; //导入依赖的package包/类
public static void addFlagToObject(MCRBase obj, MCRPI databaseEntry) {
String json = new GsonBuilder().setExclusionStrategies(new ExclusionStrategy() {
@Override
public boolean shouldSkipField(FieldAttributes fieldAttributes) {
String name = fieldAttributes.getName();
return Stream.of("mcrRevision", "mycoreID", "id", "mcrVersion")
.anyMatch(field -> field.equals(name));
}
@Override
public boolean shouldSkipClass(Class<?> aClass) {
return false;
}
}).create().toJson(databaseEntry);
obj.getService().addFlag(PI_FLAG, json);
}
示例9: provideGson
import com.google.gson.ExclusionStrategy; //导入依赖的package包/类
/**
* Custom Gson to make Retrofit Gson adapter work with Realm objects
*/
@NonNull
@Provides
@Singleton
public static Gson provideGson(@NonNull ListTypeAdapterFactory jsonArrayTypeAdapterFactory,
@NonNull HtmlAdapter htmlAdapter,
@NonNull StringCapitalizerAdapter stringCapitalizerAdapter) {
return new GsonBuilder()
.setExclusionStrategies(new ExclusionStrategy() {
@Override
public boolean shouldSkipField(FieldAttributes f) {
return f.getDeclaringClass().equals(RealmObject.class);
}
@Override
public boolean shouldSkipClass(Class<?> clazz) {
return false;
}
})
.registerTypeAdapterFactory(jsonArrayTypeAdapterFactory)
.registerTypeAdapter(String.class, htmlAdapter)
.registerTypeAdapter(String.class, stringCapitalizerAdapter)
.create();
}
示例10: setUp
import com.google.gson.ExclusionStrategy; //导入依赖的package包/类
@Before
public void setUp() {
gson = new GsonBuilder()
.registerTypeHierarchyAdapter(Object.class, new RequiredFieldDeserializer())
.registerTypeAdapter(LocalDate.class, new MillisecondsLocalDateAdapter())
.setExclusionStrategies(new ExclusionStrategy() {
@Override
public boolean shouldSkipField(FieldAttributes fieldAttributes) {
return fieldAttributes.getAnnotation(GsonExclude.class) != null;
}
@Override
public boolean shouldSkipClass(Class<?> clazz) {
return false;
}
})
.create();
}
示例11: getExclusionStrategy
import com.google.gson.ExclusionStrategy; //导入依赖的package包/类
/**
* Retrieves an {@link ExclusionStrategy} that excludes {@link GsonExclude} fields and the classes contained in
* {@code excludedClasses}.
*
* @param strategy the type of the strategy to be retrieved
* @return the {@link ExclusionStrategy} for the {@code strategy} provided
*/
public ExclusionStrategy getExclusionStrategy(@Nullable GsonExclude.Strategy strategy) {
return new ExclusionStrategy() {
@Override
public boolean shouldSkipField(FieldAttributes fieldAttributes) {
return shouldSkipFieldFromSerialization(fieldAttributes)
|| (fieldAttributes.getAnnotation(GsonExclude.class) != null
&& (Objects.equals(fieldAttributes.getAnnotation(GsonExclude.class).strategy(), GsonExclude.Strategy.ALL)
|| Objects.equals(fieldAttributes.getAnnotation(GsonExclude.class).strategy(), strategy)));
}
@Override
public boolean shouldSkipClass(Class<?> clazz) {
return false;
}
};
}
示例12: getRobolectricGson
import com.google.gson.ExclusionStrategy; //导入依赖的package包/类
public static Gson getRobolectricGson(GsonBuilder builder) {
return builder
.setExclusionStrategies(
new ExclusionStrategy() {
@Override
public boolean shouldSkipField(FieldAttributes f) {
return "__robo_data__".equals(f.getName());
}
@Override
public boolean shouldSkipClass(Class<?> clazz) {
return false;
}
}
).create();
}
示例13: provideRestAPI
import com.google.gson.ExclusionStrategy; //导入依赖的package包/类
@Provides
@Singleton
RestAPI provideRestAPI() {
Gson gson = new GsonBuilder()
.setExclusionStrategies(new ExclusionStrategy() {
@Override
public boolean shouldSkipField(FieldAttributes f) {
return f.getDeclaringClass().equals(RealmObject.class);
}
@Override
public boolean shouldSkipClass(Class<?> clazz) {
return false;
}
})
.create();
Retrofit retrofit = new Retrofit.Builder()
.baseUrl(BASE_URL)
.addConverterFactory(GsonConverterFactory.create(gson))
.addCallAdapterFactory(RxJavaCallAdapterFactory.create())
.client(okHttpClient())
.build();
return retrofit.create(RestAPI.class);
}
示例14: getGsonInstance
import com.google.gson.ExclusionStrategy; //导入依赖的package包/类
public static Gson getGsonInstance(){
return new GsonBuilder()
.setExclusionStrategies(new ExclusionStrategy() {
@Override
public boolean shouldSkipField(FieldAttributes f) {
return f.getDeclaringClass().equals(RealmObject.class);
}
@Override
public boolean shouldSkipClass(Class<?> clazz) {
return false;
}
})
.setDateFormat("yyyy-MM-dd'T'HH:mm:ss")
.create();
}
示例15: Servicios
import com.google.gson.ExclusionStrategy; //导入依赖的package包/类
public Servicios() {
Gson gson = new GsonBuilder()
.setExclusionStrategies(new ExclusionStrategy() {
@Override
public boolean shouldSkipField(FieldAttributes f) {
return f.getDeclaringClass().equals(RealmObject.class);
}
@Override
public boolean shouldSkipClass(Class<?> clazz) {
return false;
}
})
.create();
this.retrofit = new Retrofit.Builder()
.baseUrl(ip)//
.addConverterFactory(GsonConverterFactory.create(gson))
.build();
services = retrofit.create(IServices.class);
//repositoryPhotos.readPostAll();
}