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;
/ / f r o m w w w . j a v a 2 s . c o m
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