类com.google.gson.annotations.SerializedName源码实例Demo

下面列出了怎么用com.google.gson.annotations.SerializedName的API类实例代码及写法,或者点击链接到github查看源代码。

/**
 * Get's the class' id property name
 *
 * @param clazz
 * @return Id Property name
 */
@SuppressWarnings("rawtypes")
private static String getIdPropertyName(Class clazz) {
    // Search for annotation called id, regardless case
    for (Field field : clazz.getDeclaredFields()) {

        SerializedName serializedName = field.getAnnotation(SerializedName.class);
        if (serializedName != null && serializedName.value().equalsIgnoreCase("id")) {
            return serializedName.value();
        } else if (field.getName().equalsIgnoreCase("id")) {
            return field.getName();
        }
    }

    // Otherwise, return empty
    return "";
}
 
/**
 * Validates the class has an id property defined
 *
 * @param clazz
 */
private <E> void validateClass(Class<E> clazz) {
    if (clazz.isInterface() || Modifier.isAbstract(clazz.getModifiers())) {
        throw new IllegalArgumentException("The class type used for creating a MobileServiceTable must be a concrete class");
    }

    int idPropertyCount = 0;
    for (Field field : clazz.getDeclaredFields()) {
        SerializedName serializedName = field.getAnnotation(SerializedName.class);
        if (serializedName != null) {
            if (serializedName.value().equalsIgnoreCase("id")) {
                idPropertyCount++;
            }
        } else {
            if (field.getName().equalsIgnoreCase("id")) {
                idPropertyCount++;
            }
        }
    }

    if (idPropertyCount != 1) {
        throw new IllegalArgumentException("The class representing the MobileServiceTable must have a single id property defined");
    }
}
 
/**
 * @return the system properties defined or annotated in the entity class
 *
 * @param clazz Target entity class
 */
public static <F> EnumSet<MobileServiceSystemProperty> getSystemProperties(Class<F> clazz) {
    EnumSet<MobileServiceSystemProperty> result = EnumSet.noneOf(MobileServiceSystemProperty.class);

    Class<?> idClazz = getIdPropertyClass(clazz);

    if (idClazz != null && !isIntegerClass(idClazz)) {
        // Search for system properties annotations, regardless case
        for (Field field : clazz.getDeclaredFields()) {
            SerializedName serializedName = field.getAnnotation(SerializedName.class);

            if (serializedName != null) {
                if (SystemPropertyNameToEnum.containsKey(serializedName.value())) {
                    result.add(SystemPropertyNameToEnum.get(serializedName.value()));
                }
            } else {
                if (SystemPropertyNameToEnum.containsKey(field.getName())) {
                    result.add(SystemPropertyNameToEnum.get(field.getName()));
                }
            }
        }
    }

    // Otherwise, return empty
    return result;
}
 
源代码4 项目: ProjectAres   文件: DocumentRegistry.java
private static String serializedName(Member member) {
    if(member instanceof AnnotatedElement) {
        SerializedName nameAnnot = ((AnnotatedElement) member).getAnnotation(SerializedName.class);
        if(nameAnnot != null) return nameAnnot.value();
    }
    return member.getName();
}
 
源代码5 项目: yandex-money-sdk-java   文件: Operation.java
@SerializedName("turn-on-reminder")
TURN_ON_REMINDER("turn-on-reminder"),
@SerializedName("turn-on-autopayment")
TURN_ON_AUTOPAYMENT("turn-on-autopayment"),
@SerializedName("repeat")
REPEAT("repeat"),
@SerializedName("add-to-favourites")
ADD_TO_FAVOURITES("add-to-favourites");
 
源代码6 项目: canvas-api   文件: CalendarEvent.java
@SerializedName("daily")
DAILY,
@SerializedName("weekly")
WEEKLY,
@SerializedName("monthly")
MONTHLY;

@Override
public String toString() { return name().toLowerCase(); }
 
源代码7 项目: hmftools   文件: CivicIndexResult.java
@SerializedName("_meta")
public abstract CivicApiMetadata meta();
 
源代码8 项目: hmftools   文件: CivicVariantCoordinates.java
@Nullable
@SerializedName("reference_build")
public abstract String referenceBuild();
 
源代码9 项目: hmftools   文件: CivicGeneVariantMetadata.java
@SerializedName("evidence_items")
protected abstract CivicEvidenceItemMetadata evidenceItems();
 
源代码10 项目: XiaoxiaZhihu   文件: GetThemeResponse.java
@Nullable
@SerializedName("image_srouce")
public abstract String getImageSrouce();
 
源代码11 项目: android-rxmvp-tutorial   文件: GitHubRepo.java
@SerializedName("url")
public abstract String url();
 
源代码12 项目: hmftools   文件: CivicVariantCoordinates.java
@Nullable
@SerializedName("representative_transcript2")
public abstract String representativeTranscript2();
 
源代码13 项目: RxUploader   文件: UserJSONModel.java
@SerializedName("id")
public abstract int id();
 
源代码14 项目: RxUploader   文件: UserJSONModel.java
@SerializedName("username")
public abstract String username();
 
源代码15 项目: XiaoxiaZhihu   文件: GetLongCommentsResponse.java
@Nullable
@SerializedName("comments")
public abstract List<Comment> getComments();
 
源代码16 项目: hmftools   文件: CivicEvidenceItem.java
@SerializedName("evidence_level")
public abstract Character level();
 
源代码17 项目: RxUploader   文件: UserJSONModel.java
@SerializedName("country")
public abstract String country();
 
源代码18 项目: RxUploader   文件: ImageJSONModel.java
@SerializedName("size")
public abstract Integer size();
 
源代码19 项目: immutables   文件: NullableArray.java
@Nullable
@SerializedName("a")
String[] array();
 
源代码20 项目: framework   文件: ReflectiveTypeAdapterFactory.java
static String getFieldName(FieldNamingStrategy fieldNamingPolicy, Field f) {
  SerializedName serializedName = f.getAnnotation(SerializedName.class);
  return serializedName == null ? fieldNamingPolicy.translateName(f) : serializedName.value();
}
 
源代码21 项目: hmftools   文件: LimsJsonSampleData.java
@NotNull
@SerializedName("ptum")
public abstract String primaryTumor();
 
源代码22 项目: XiaoxiaZhihu   文件: LastTemeTopStory.java
@SerializedName("type")
public abstract int getType();
 
源代码23 项目: MOE   文件: Revision.java
/** The label for the configured repository from which this revision originates. */
@SerializedName(
  value = "repository_name",
  alternate = {"repositoryName"}
)
public abstract String repositoryName();
 
源代码24 项目: hmftools   文件: CivicVariant.java
@SerializedName("variant_types")
List<CivicVariantType> variantTypes();
 
源代码25 项目: XiaoxiaZhihu   文件: GetNewsResponse.java
@SerializedName("id")
public abstract int getId();
 
源代码26 项目: MOE   文件: Revision.java
/** The unique ID assigned to this revision by the underlying revision control system. */
@SerializedName(
  value = "rev_id",
  alternate = {"revId"}
)
public abstract String revId();
 
源代码27 项目: MOE   文件: EditorConfig.java
@Nullable
@SerializedName("command_string") // TODO(cushon): remove pending rharter/auto-value-gson#18
public abstract String commandString();
 
源代码28 项目: android-rxmvp-tutorial   文件: GithubUser.java
@SerializedName("login")
public abstract String login();
 
源代码29 项目: hmftools   文件: CivicEvidenceItemMetadata.java
@SerializedName("accepted_count")
public abstract int accepted();
 
源代码30 项目: XiaoxiaZhihu   文件: Comment.java
@SerializedName("id")
public abstract int getId();
 
 类所在包
 类方法
 同包方法