本文整理匯總了Java中com.google.gson.FieldAttributes類的典型用法代碼示例。如果您正苦於以下問題:Java FieldAttributes類的具體用法?Java FieldAttributes怎麽用?Java FieldAttributes使用的例子?那麽, 這裏精選的類代碼示例或許可以為您提供幫助。
FieldAttributes類屬於com.google.gson包,在下文中一共展示了FieldAttributes類的15個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的Java代碼示例。
示例1: getGsonBuilder
import com.google.gson.FieldAttributes; //導入依賴的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: WebApi
import com.google.gson.FieldAttributes; //導入依賴的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();
}
示例3: makeGsonForRealm
import com.google.gson.FieldAttributes; //導入依賴的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();
}
示例4: addFlagToObject
import com.google.gson.FieldAttributes; //導入依賴的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);
}
示例5: provideGson
import com.google.gson.FieldAttributes; //導入依賴的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();
}
示例6: setUp
import com.google.gson.FieldAttributes; //導入依賴的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();
}
示例7: getExclusionStrategy
import com.google.gson.FieldAttributes; //導入依賴的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;
}
};
}
示例8: getRobolectricGson
import com.google.gson.FieldAttributes; //導入依賴的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();
}
示例9: shouldSkipField
import com.google.gson.FieldAttributes; //導入依賴的package包/類
public boolean shouldSkipField(final FieldAttributes f) {
final Param param = f.getAnnotation(Param.class);
if (param != null) {
final RoleType[] allowedRoles = param.authorized();
if (allowedRoles.length > 0) {
boolean permittedParameter = false;
final Account caller = CallContext.current().getCallingAccount();
for (final RoleType allowedRole : allowedRoles) {
if (allowedRole.getValue() == caller.getType()) {
permittedParameter = true;
break;
}
}
if (!permittedParameter) {
return true;
}
}
}
return false;
}
示例10: provideRestAPI
import com.google.gson.FieldAttributes; //導入依賴的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);
}
示例11: getGsonInstance
import com.google.gson.FieldAttributes; //導入依賴的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();
}
示例12: Servicios
import com.google.gson.FieldAttributes; //導入依賴的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();
}
示例13: shouldSkipField
import com.google.gson.FieldAttributes; //導入依賴的package包/類
public boolean shouldSkipField(FieldAttributes f)
{
if (this.excludeFields == null)
{
return false;
}
for (String field : this.excludeFields)
{
if (field.equals(f.getName()))
{
return true;
}
}
return false;
}
示例14: build
import com.google.gson.FieldAttributes; //導入依賴的package包/類
public static Gson build() {
GsonBuilder builder = new GsonBuilder();
builder.addSerializationExclusionStrategy(new ExclusionStrategy() {
@Override
public boolean shouldSkipField(FieldAttributes f) {
return f.getAnnotation(GsonTransient.class) != null;
}
@Override
public boolean shouldSkipClass(Class<?> c) {
return c.getAnnotation(GsonTransient.class) != null;
}
});
return builder.create();
}
示例15: configBuilder
import com.google.gson.FieldAttributes; //導入依賴的package包/類
/**
* GSON can parse the data.
* Note there is a bug in GSON 2.3.1 that can cause it to StackOverflow when working with RealmObjects.
* To work around this, use the ExclusionStrategy below or downgrade to 1.7.1
* See more here: https://code.google.com/p/google-gson/issues/detail?id=440
*
* @param b gs builder body
* @return the gbuilder
*/
protected GsonBuilder configBuilder(GsonBuilder b) {
b.setExclusionStrategies(new ExclusionStrategy() {
@Override
public boolean shouldSkipField(FieldAttributes f) {
return f.getDeclaringClass().equals(RealmObject.class);
}
@Override
public boolean shouldSkipClass(Class<?> clazz) {
return false;
}
});
return b;
}