Android Open Source - xing-android-sdk Activity Object Type Adapter






From Project

Back to project page xing-android-sdk.

License

The source code is released under:

Apache License

If you think the Android project xing-android-sdk listed in this page is inappropriate, such as containing malicious code/tools or violating the copyright, please email info at java2s dot com, thanks.

Java Source Code

package de.hdodenhof.xingapi.typeadapter;
//from ww w  . j  av  a 2  s .  c  om
import com.google.gson.JsonDeserializationContext;
import com.google.gson.JsonDeserializer;
import com.google.gson.JsonElement;
import com.google.gson.JsonObject;
import com.google.gson.JsonParseException;

import java.lang.reflect.Type;
import java.util.HashMap;
import java.util.Map;

import de.hdodenhof.xingapi.BuildConfig;
import de.hdodenhof.xingapi.enums.ActivityObjectType;
import de.hdodenhof.xingapi.models.*;

public class ActivityObjectTypeAdapter implements JsonDeserializer<ActivityObject> {

    private static final String BASE_PACKAGE = BuildConfig.APPLICATION_ID + ".models.";

    private static final Map<String, String> sClassMap = new HashMap<>();

    static {
        sClassMap.put(ActivityObjectType.BOOKMARK.name().toLowerCase(), BASE_PACKAGE + Bookmark.class.getSimpleName());
        sClassMap.put(ActivityObjectType.COMPANY_PROFILE.name().toLowerCase(), BASE_PACKAGE + CompanyProfile.class.getSimpleName());
        sClassMap.put(ActivityObjectType.COMPANY_PROFILE_UPDATE.name().toLowerCase(), BASE_PACKAGE + CompanyProfileUpdate.class.getSimpleName());
        sClassMap.put(ActivityObjectType.EVENT.name().toLowerCase(), BASE_PACKAGE + Event.class.getSimpleName());
        sClassMap.put(ActivityObjectType.GROUP.name().toLowerCase(), BASE_PACKAGE + Group.class.getSimpleName());
        sClassMap.put(ActivityObjectType.JOB_POSTING.name().toLowerCase(), BASE_PACKAGE + JobPosting.class.getSimpleName());
        sClassMap.put(ActivityObjectType.STATUS.name().toLowerCase(), BASE_PACKAGE + Status.class.getSimpleName());
        sClassMap.put(ActivityObjectType.THREAD.name().toLowerCase(), BASE_PACKAGE + de.hdodenhof.xingapi.models.Thread.class.getSimpleName());
        sClassMap.put(ActivityObjectType.USER.name().toLowerCase(), BASE_PACKAGE + User.class.getSimpleName());
    }

    @Override
    public ActivityObject deserialize(JsonElement jsonElement, Type typeOfT, JsonDeserializationContext jsonDeserializationContext)
            throws JsonParseException {
        JsonObject jsonObject = jsonElement.getAsJsonObject();
        String type = jsonObject.get("type").getAsString().toLowerCase();

        try {
            return jsonDeserializationContext.deserialize(jsonElement, Class.forName(sClassMap.get(type)));
        } catch (ClassNotFoundException e) {
            throw new JsonParseException("Unknown element type: " + type, e);
        }
    }
}




Java Source Code List

de.hdodenhof.xingapi.BaseAPI.java
de.hdodenhof.xingapi.ContactsAPI.java
de.hdodenhof.xingapi.MessagesAPI.java
de.hdodenhof.xingapi.NetworkFeedAPI.java
de.hdodenhof.xingapi.ProfileVisitsAPI.java
de.hdodenhof.xingapi.UserProfilesAPI.java
de.hdodenhof.xingapi.XingApiClient.java
de.hdodenhof.xingapi.enums.ActivityAction.java
de.hdodenhof.xingapi.enums.ActivityAggregator.java
de.hdodenhof.xingapi.enums.ActivityObjectType.java
de.hdodenhof.xingapi.enums.ActivityVerb.java
de.hdodenhof.xingapi.enums.Badge.java
de.hdodenhof.xingapi.enums.CarrerLevel.java
de.hdodenhof.xingapi.enums.CompanyIndustry.java
de.hdodenhof.xingapi.enums.CompanySize.java
de.hdodenhof.xingapi.enums.EmploymentStatus.java
de.hdodenhof.xingapi.enums.ErrorName.java
de.hdodenhof.xingapi.enums.FormOfEmployment.java
de.hdodenhof.xingapi.enums.IMAccount.java
de.hdodenhof.xingapi.enums.LanguageSkill.java
de.hdodenhof.xingapi.enums.Language.java
de.hdodenhof.xingapi.enums.PremiumService.java
de.hdodenhof.xingapi.enums.Reason.java
de.hdodenhof.xingapi.enums.UserField.java
de.hdodenhof.xingapi.enums.WebProfile.java
de.hdodenhof.xingapi.exceptions.ApiException.java
de.hdodenhof.xingapi.exceptions.BaseException.java
de.hdodenhof.xingapi.exceptions.ConversionException.java
de.hdodenhof.xingapi.exceptions.NetworkException.java
de.hdodenhof.xingapi.internal.AuthHandler.java
de.hdodenhof.xingapi.internal.OAuthConstants.java
de.hdodenhof.xingapi.internal.communication.ErrorHandler.java
de.hdodenhof.xingapi.internal.communication.SigningOkClient.java
de.hdodenhof.xingapi.internal.communication.XingApiInterface.java
de.hdodenhof.xingapi.internal.response.ActivityWrapper.java
de.hdodenhof.xingapi.internal.response.CommentsWrapper.java
de.hdodenhof.xingapi.internal.response.ContactsWrapper.java
de.hdodenhof.xingapi.internal.response.ConversationWrapper.java
de.hdodenhof.xingapi.internal.response.ConversationsWrapper.java
de.hdodenhof.xingapi.internal.response.IdCardWrapper.java
de.hdodenhof.xingapi.internal.response.LikesWrapper.java
de.hdodenhof.xingapi.internal.response.MessageWrapper.java
de.hdodenhof.xingapi.internal.response.MessagesWrapper.java
de.hdodenhof.xingapi.internal.response.NetworkActivityWrapper.java
de.hdodenhof.xingapi.internal.response.ProfileMessageWrapper.java
de.hdodenhof.xingapi.internal.response.ResponseWrapper.java
de.hdodenhof.xingapi.internal.response.ResultWrapper.java
de.hdodenhof.xingapi.internal.response.SharedContactsWrapper.java
de.hdodenhof.xingapi.internal.response.TagsWrapper.java
de.hdodenhof.xingapi.internal.response.UserWrapper.java
de.hdodenhof.xingapi.internal.response.VisitsWrapper.java
de.hdodenhof.xingapi.internal.util.HTTPUtils.java
de.hdodenhof.xingapi.internal.util.URLUtils.java
de.hdodenhof.xingapi.internal.widget.AuthWebDialog.java
de.hdodenhof.xingapi.models.ActivityObject.java
de.hdodenhof.xingapi.models.Address.java
de.hdodenhof.xingapi.models.ApiError.java
de.hdodenhof.xingapi.models.Award.java
de.hdodenhof.xingapi.models.BirthDate.java
de.hdodenhof.xingapi.models.Bookmark.java
de.hdodenhof.xingapi.models.Comment.java
de.hdodenhof.xingapi.models.CompanyProfileUpdate.java
de.hdodenhof.xingapi.models.CompanyProfile.java
de.hdodenhof.xingapi.models.Company.java
de.hdodenhof.xingapi.models.Contacts.java
de.hdodenhof.xingapi.models.Conversation.java
de.hdodenhof.xingapi.models.Conversations.java
de.hdodenhof.xingapi.models.EducationalBackground.java
de.hdodenhof.xingapi.models.ErrorResponse.java
de.hdodenhof.xingapi.models.Event.java
de.hdodenhof.xingapi.models.FindByEmailsResult.java
de.hdodenhof.xingapi.models.Group.java
de.hdodenhof.xingapi.models.IdCard.java
de.hdodenhof.xingapi.models.JobPosting.java
de.hdodenhof.xingapi.models.Message.java
de.hdodenhof.xingapi.models.Messages.java
de.hdodenhof.xingapi.models.MetaComment.java
de.hdodenhof.xingapi.models.MetaLike.java
de.hdodenhof.xingapi.models.NetworkActivity.java
de.hdodenhof.xingapi.models.PhotoUrls.java
de.hdodenhof.xingapi.models.ProfessionalExperience.java
de.hdodenhof.xingapi.models.ProfileMessage.java
de.hdodenhof.xingapi.models.Results.java
de.hdodenhof.xingapi.models.School.java
de.hdodenhof.xingapi.models.Status.java
de.hdodenhof.xingapi.models.Tag.java
de.hdodenhof.xingapi.models.Tags.java
de.hdodenhof.xingapi.models.Thread.java
de.hdodenhof.xingapi.models.TimeZone.java
de.hdodenhof.xingapi.models.User.java
de.hdodenhof.xingapi.models.Visit.java
de.hdodenhof.xingapi.sample.MainActivity.java
de.hdodenhof.xingapi.sample.OAuthFragment.java
de.hdodenhof.xingapi.sample.ProfileFragment.java
de.hdodenhof.xingapi.typeadapter.ActivityObjectTypeAdapter.java