package twitter4j.json;
import java.lang.reflect.Constructor;
import java.lang.reflect.InvocationTargetException;
import java.lang.reflect.Method;
import java.util.HashMap;
import java.util.Map;
import twitter4j.AccountTotals;
import twitter4j.Category;
import twitter4j.DirectMessage;
import twitter4j.IDs;
import twitter4j.Location;
import twitter4j.OEmbed;
import twitter4j.Place;
import twitter4j.RateLimitStatus;
import twitter4j.Relationship;
import twitter4j.SavedSearch;
import twitter4j.Status;
import twitter4j.StatusDeletionNotice;
import twitter4j.Trend;
import twitter4j.Trends;
import twitter4j.TwitterException;
import twitter4j.User;
import twitter4j.UserList;
import twitter4j.internal.org.json.JSONException;
import twitter4j.internal.org.json.JSONObject;
public final class DataObjectFactory
{
private static final Constructor<IDs> IDsConstructor;
private static final Constructor<AccountTotals> accountTotalsConstructor;
private static final Constructor<Category> categoryConstructor;
private static final Constructor<DirectMessage> directMessageConstructor;
private static final Constructor<Location> locationConstructor;
private static final Constructor<OEmbed> oembedConstructor;
private static final Constructor<Place> placeConstructor;
private static final Method rateLimitStatusConstructor;
private static final ThreadLocal<Map> rawJsonMap;
private static final Constructor<Relationship> relationshipConstructor;
private static final Constructor<SavedSearch> savedSearchConstructor;
private static final Constructor<Status> statusConstructor;
private static final Constructor<StatusDeletionNotice> statusDeletionNoticeConstructor;
private static final Constructor<Trend> trendConstructor;
private static final Constructor<Trends> trendsConstructor;
private static final Constructor<User> userConstructor;
private static final Constructor<UserList> userListConstructor;
static
{
try
{
Class localClass1 = Class.forName("twitter4j.internal.json.StatusJSONImpl");
Class[] arrayOfClass1 = new Class[1];
arrayOfClass1[0] = JSONObject.class;
statusConstructor = localClass1.getDeclaredConstructor(arrayOfClass1);
statusConstructor.setAccessible(true);
Class localClass2 = Class.forName("twitter4j.internal.json.UserJSONImpl");
Class[] arrayOfClass2 = new Class[1];
arrayOfClass2[0] = JSONObject.class;
userConstructor = localClass2.getDeclaredConstructor(arrayOfClass2);
userConstructor.setAccessible(true);
Class localClass3 = Class.forName("twitter4j.internal.json.RelationshipJSONImpl");
Class[] arrayOfClass3 = new Class[1];
arrayOfClass3[0] = JSONObject.class;
relationshipConstructor = localClass3.getDeclaredConstructor(arrayOfClass3);
relationshipConstructor.setAccessible(true);
Class localClass4 = Class.forName("twitter4j.internal.json.PlaceJSONImpl");
Class[] arrayOfClass4 = new Class[1];
arrayOfClass4[0] = JSONObject.class;
placeConstructor = localClass4.getDeclaredConstructor(arrayOfClass4);
placeConstructor.setAccessible(true);
Class localClass5 = Class.forName("twitter4j.internal.json.SavedSearchJSONImpl");
Class[] arrayOfClass5 = new Class[1];
arrayOfClass5[0] = JSONObject.class;
savedSearchConstructor = localClass5.getDeclaredConstructor(arrayOfClass5);
savedSearchConstructor.setAccessible(true);
Class localClass6 = Class.forName("twitter4j.internal.json.TrendJSONImpl");
Class[] arrayOfClass6 = new Class[1];
arrayOfClass6[0] = JSONObject.class;
trendConstructor = localClass6.getDeclaredConstructor(arrayOfClass6);
trendConstructor.setAccessible(true);
Class localClass7 = Class.forName("twitter4j.internal.json.TrendsJSONImpl");
Class[] arrayOfClass7 = new Class[1];
arrayOfClass7[0] = String.class;
trendsConstructor = localClass7.getDeclaredConstructor(arrayOfClass7);
trendsConstructor.setAccessible(true);
Class localClass8 = Class.forName("twitter4j.internal.json.IDsJSONImpl");
Class[] arrayOfClass8 = new Class[1];
arrayOfClass8[0] = String.class;
IDsConstructor = localClass8.getDeclaredConstructor(arrayOfClass8);
IDsConstructor.setAccessible(true);
Class localClass9 = Class.forName("twitter4j.internal.json.RateLimitStatusJSONImpl");
Class[] arrayOfClass9 = new Class[1];
arrayOfClass9[0] = JSONObject.class;
rateLimitStatusConstructor = localClass9.getDeclaredMethod("createRateLimitStatuses", arrayOfClass9);
rateLimitStatusConstructor.setAccessible(true);
Class localClass10 = Class.forName("twitter4j.internal.json.CategoryJSONImpl");
Class[] arrayOfClass10 = new Class[1];
arrayOfClass10[0] = JSONObject.class;
categoryConstructor = localClass10.getDeclaredConstructor(arrayOfClass10);
categoryConstructor.setAccessible(true);
Class localClass11 = Class.forName("twitter4j.internal.json.DirectMessageJSONImpl");
Class[] arrayOfClass11 = new Class[1];
arrayOfClass11[0] = JSONObject.class;
directMessageConstructor = localClass11.getDeclaredConstructor(arrayOfClass11);
directMessageConstructor.setAccessible(true);
Class localClass12 = Class.forName("twitter4j.internal.json.LocationJSONImpl");
Class[] arrayOfClass12 = new Class[1];
arrayOfClass12[0] = JSONObject.class;
locationConstructor = localClass12.getDeclaredConstructor(arrayOfClass12);
locationConstructor.setAccessible(true);
Class localClass13 = Class.forName("twitter4j.internal.json.UserListJSONImpl");
Class[] arrayOfClass13 = new Class[1];
arrayOfClass13[0] = JSONObject.class;
userListConstructor = localClass13.getDeclaredConstructor(arrayOfClass13);
userListConstructor.setAccessible(true);
Class localClass14 = Class.forName("twitter4j.StatusDeletionNoticeImpl");
Class[] arrayOfClass14 = new Class[1];
arrayOfClass14[0] = JSONObject.class;
statusDeletionNoticeConstructor = localClass14.getDeclaredConstructor(arrayOfClass14);
statusDeletionNoticeConstructor.setAccessible(true);
Class localClass15 = Class.forName("twitter4j.internal.json.AccountTotalsJSONImpl");
Class[] arrayOfClass15 = new Class[1];
arrayOfClass15[0] = JSONObject.class;
accountTotalsConstructor = localClass15.getDeclaredConstructor(arrayOfClass15);
accountTotalsConstructor.setAccessible(true);
Class localClass16 = Class.forName("twitter4j.internal.json.OEmbedJSONImpl");
Class[] arrayOfClass16 = new Class[1];
arrayOfClass16[0] = JSONObject.class;
oembedConstructor = localClass16.getDeclaredConstructor(arrayOfClass16);
oembedConstructor.setAccessible(true);
rawJsonMap = new ThreadLocal()
{
protected Map initialValue()
{
return new HashMap();
}
};
return;
}
catch (NoSuchMethodException localNoSuchMethodException)
{
throw new ExceptionInInitializerError(localNoSuchMethodException);
}
catch (ClassNotFoundException localClassNotFoundException)
{
throw new ExceptionInInitializerError(localClassNotFoundException);
}
}
private DataObjectFactory()
{
throw new AssertionError("not intended to be instantiated.");
}
static void clearThreadLocalMap()
{
((Map)rawJsonMap.get()).clear();
}
public static AccountTotals createAccountTotals(String paramString)
throws TwitterException
{
try
{
JSONObject localJSONObject = new JSONObject(paramString);
Constructor localConstructor = accountTotalsConstructor;
Object[] arrayOfObject = new Object[1];
arrayOfObject[0] = localJSONObject;
AccountTotals localAccountTotals = (AccountTotals)localConstructor.newInstance(arrayOfObject);
return localAccountTotals;
}
catch (InstantiationException localInstantiationException)
{
throw new TwitterException(localInstantiationException);
}
catch (IllegalAccessException localIllegalAccessException)
{
throw new AssertionError(localIllegalAccessException);
}
catch (InvocationTargetException localInvocationTargetException)
{
throw new TwitterException(localInvocationTargetException);
}
catch (JSONException localJSONException)
{
throw new TwitterException(localJSONException);
}
}
public static Category createCategory(String paramString)
throws TwitterException
{
try
{
JSONObject localJSONObject = new JSONObject(paramString);
Constructor localConstructor = categoryConstructor;
Object[] arrayOfObject = new Object[1];
arrayOfObject[0] = localJSONObject;
Category localCategory = (Category)localConstructor.newInstance(arrayOfObject);
return localCategory;
}
catch (InstantiationException localInstantiationException)
{
throw new TwitterException(localInstantiationException);
}
catch (IllegalAccessException localIllegalAccessException)
{
throw new AssertionError(localIllegalAccessException);
}
catch (InvocationTargetException localInvocationTargetException)
{
throw new TwitterException(localInvocationTargetException);
}
catch (JSONException localJSONException)
{
throw new TwitterException(localJSONException);
}
}
public static DirectMessage createDirectMessage(String paramString)
throws TwitterException
{
try
{
JSONObject localJSONObject = new JSONObject(paramString);
Constructor localConstructor = directMessageConstructor;
Object[] arrayOfObject = new Object[1];
arrayOfObject[0] = localJSONObject;
DirectMessage localDirectMessage = (DirectMessage)localConstructor.newInstance(arrayOfObject);
return localDirectMessage;
}
catch (InstantiationException localInstantiationException)
{
throw new TwitterException(localInstantiationException);
}
catch (IllegalAccessException localIllegalAccessException)
{
throw new AssertionError(localIllegalAccessException);
}
catch (InvocationTargetException localInvocationTargetException)
{
throw new TwitterException(localInvocationTargetException);
}
catch (JSONException localJSONException)
{
throw new TwitterException(localJSONException);
}
}
public static IDs createIDs(String paramString)
throws TwitterException
{
try
{
Constructor localConstructor = IDsConstructor;
Object[] arrayOfObject = new Object[1];
arrayOfObject[0] = paramString;
IDs localIDs = (IDs)localConstructor.newInstance(arrayOfObject);
return localIDs;
}
catch (InstantiationException localInstantiationException)
{
throw new TwitterException(localInstantiationException);
}
catch (IllegalAccessException localIllegalAccessException)
{
throw new AssertionError(localIllegalAccessException);
}
catch (InvocationTargetException localInvocationTargetException)
{
throw new TwitterException(localInvocationTargetException);
}
}
public static Location createLocation(String paramString)
throws TwitterException
{
try
{
JSONObject localJSONObject = new JSONObject(paramString);
Constructor localConstructor = locationConstructor;
Object[] arrayOfObject = new Object[1];
arrayOfObject[0] = localJSONObject;
Location localLocation = (Location)localConstructor.newInstance(arrayOfObject);
return localLocation;
}
catch (InstantiationException localInstantiationException)
{
throw new TwitterException(localInstantiationException);
}
catch (IllegalAccessException localIllegalAccessException)
{
throw new AssertionError(localIllegalAccessException);
}
catch (InvocationTargetException localInvocationTargetException)
{
throw new TwitterException(localInvocationTargetException);
}
catch (JSONException localJSONException)
{
throw new TwitterException(localJSONException);
}
}
public static OEmbed createOEmbed(String paramString)
throws TwitterException
{
try
{
JSONObject localJSONObject = new JSONObject(paramString);
Constructor localConstructor = oembedConstructor;
Object[] arrayOfObject = new Object[1];
arrayOfObject[0] = localJSONObject;
OEmbed localOEmbed = (OEmbed)localConstructor.newInstance(arrayOfObject);
return localOEmbed;
}
catch (InstantiationException localInstantiationException)
{
throw new TwitterException(localInstantiationException);
}
catch (IllegalAccessException localIllegalAccessException)
{
throw new AssertionError(localIllegalAccessException);
}
catch (InvocationTargetException localInvocationTargetException)
{
throw new TwitterException(localInvocationTargetException);
}
catch (JSONException localJSONException)
{
throw new TwitterException(localJSONException);
}
}
public static Object createObject(String paramString)
throws TwitterException
{
try
{
localObject1 = new JSONObject(paramString);
JSONObjectType.Type localType = JSONObjectType.determine((JSONObject)localObject1);
switch (2.$SwitchMap$twitter4j$json$JSONObjectType$Type[localType.ordinal()])
{
case 1:
Constructor localConstructor4 = directMessageConstructor;
Object[] arrayOfObject4 = new Object[1];
arrayOfObject4[0] = ((JSONObject)localObject1).getJSONObject("direct_message");
localObject1 = registerJSONObject(localConstructor4.newInstance(arrayOfObject4), localObject1);
}
}
catch (InstantiationException localInstantiationException)
{
Constructor localConstructor3;
Object[] arrayOfObject3;
Constructor localConstructor2;
Object[] arrayOfObject2;
Constructor localConstructor1;
Object[] arrayOfObject1;
Object localObject2;
throw new TwitterException(localInstantiationException);
}
catch (IllegalAccessException localIllegalAccessException)
{
throw new AssertionError(localIllegalAccessException);
}
catch (InvocationTargetException localInvocationTargetException)
{
throw new TwitterException(localInvocationTargetException);
}
catch (JSONException localJSONException)
{
throw new TwitterException(localJSONException);
}
localConstructor3 = statusConstructor;
arrayOfObject3 = new Object[1];
arrayOfObject3[0] = localObject1;
Object localObject1 = registerJSONObject(localConstructor3.newInstance(arrayOfObject3), localObject1);
return localObject1;
localConstructor2 = directMessageConstructor;
arrayOfObject2 = new Object[1];
arrayOfObject2[0] = ((JSONObject)localObject1).getJSONObject("direct_message");
return registerJSONObject(localConstructor2.newInstance(arrayOfObject2), localObject1);
localConstructor1 = statusDeletionNoticeConstructor;
arrayOfObject1 = new Object[1];
arrayOfObject1[0] = ((JSONObject)localObject1).getJSONObject("delete").getJSONObject("status");
localObject2 = registerJSONObject(localConstructor1.newInstance(arrayOfObject1), localObject1);
localObject1 = localObject2;
return localObject1;
}
public static Place createPlace(String paramString)
throws TwitterException
{
try
{
JSONObject localJSONObject = new JSONObject(paramString);
Constructor localConstructor = placeConstructor;
Object[] arrayOfObject = new Object[1];
arrayOfObject[0] = localJSONObject;
Place localPlace = (Place)localConstructor.newInstance(arrayOfObject);
return localPlace;
}
catch (InstantiationException localInstantiationException)
{
throw new TwitterException(localInstantiationException);
}
catch (IllegalAccessException localIllegalAccessException)
{
throw new AssertionError(localIllegalAccessException);
}
catch (InvocationTargetException localInvocationTargetException)
{
throw new TwitterException(localInvocationTargetException);
}
catch (JSONException localJSONException)
{
throw new TwitterException(localJSONException);
}
}
public static Map<String, RateLimitStatus> createRateLimitStatus(String paramString)
throws TwitterException
{
try
{
JSONObject localJSONObject = new JSONObject(paramString);
Method localMethod = rateLimitStatusConstructor;
Class localClass = Class.forName("twitter4j.internal.json.RateLimitStatusJSONImpl");
Object[] arrayOfObject = new Object[1];
arrayOfObject[0] = localJSONObject;
Map localMap = (Map)localMethod.invoke(localClass, arrayOfObject);
return localMap;
}
catch (ClassNotFoundException localClassNotFoundException)
{
throw new TwitterException(localClassNotFoundException);
}
catch (IllegalAccessException localIllegalAccessException)
{
throw new AssertionError(localIllegalAccessException);
}
catch (InvocationTargetException localInvocationTargetException)
{
throw new TwitterException(localInvocationTargetException);
}
catch (JSONException localJSONException)
{
throw new TwitterException(localJSONException);
}
}
public static Relationship createRelationship(String paramString)
throws TwitterException
{
try
{
JSONObject localJSONObject = new JSONObject(paramString);
Constructor localConstructor = relationshipConstructor;
Object[] arrayOfObject = new Object[1];
arrayOfObject[0] = localJSONObject;
Relationship localRelationship = (Relationship)localConstructor.newInstance(arrayOfObject);
return localRelationship;
}
catch (InstantiationException localInstantiationException)
{
throw new TwitterException(localInstantiationException);
}
catch (IllegalAccessException localIllegalAccessException)
{
throw new AssertionError(localIllegalAccessException);
}
catch (InvocationTargetException localInvocationTargetException)
{
throw new TwitterException(localInvocationTargetException);
}
catch (JSONException localJSONException)
{
throw new TwitterException(localJSONException);
}
}
public static SavedSearch createSavedSearch(String paramString)
throws TwitterException
{
try
{
JSONObject localJSONObject = new JSONObject(paramString);
Constructor localConstructor = savedSearchConstructor;
Object[] arrayOfObject = new Object[1];
arrayOfObject[0] = localJSONObject;
SavedSearch localSavedSearch = (SavedSearch)localConstructor.newInstance(arrayOfObject);
return localSavedSearch;
}
catch (InstantiationException localInstantiationException)
{
throw new TwitterException(localInstantiationException);
}
catch (IllegalAccessException localIllegalAccessException)
{
throw new AssertionError(localIllegalAccessException);
}
catch (InvocationTargetException localInvocationTargetException)
{
throw new TwitterException(localInvocationTargetException);
}
catch (JSONException localJSONException)
{
throw new TwitterException(localJSONException);
}
}
public static Status createStatus(String paramString)
throws TwitterException
{
try
{
JSONObject localJSONObject = new JSONObject(paramString);
Constructor localConstructor = statusConstructor;
Object[] arrayOfObject = new Object[1];
arrayOfObject[0] = localJSONObject;
Status localStatus = (Status)localConstructor.newInstance(arrayOfObject);
return localStatus;
}
catch (InstantiationException localInstantiationException)
{
throw new TwitterException(localInstantiationException);
}
catch (IllegalAccessException localIllegalAccessException)
{
throw new AssertionError(localIllegalAccessException);
}
catch (InvocationTargetException localInvocationTargetException)
{
throw new TwitterException(localInvocationTargetException);
}
catch (JSONException localJSONException)
{
throw new TwitterException(localJSONException);
}
}
public static Trend createTrend(String paramString)
throws TwitterException
{
try
{
JSONObject localJSONObject = new JSONObject(paramString);
Constructor localConstructor = trendConstructor;
Object[] arrayOfObject = new Object[1];
arrayOfObject[0] = localJSONObject;
Trend localTrend = (Trend)localConstructor.newInstance(arrayOfObject);
return localTrend;
}
catch (InstantiationException localInstantiationException)
{
throw new TwitterException(localInstantiationException);
}
catch (IllegalAccessException localIllegalAccessException)
{
throw new AssertionError(localIllegalAccessException);
}
catch (InvocationTargetException localInvocationTargetException)
{
throw new TwitterException(localInvocationTargetException);
}
catch (JSONException localJSONException)
{
throw new TwitterException(localJSONException);
}
}
public static Trends createTrends(String paramString)
throws TwitterException
{
try
{
Constructor localConstructor = trendsConstructor;
Object[] arrayOfObject = new Object[1];
arrayOfObject[0] = paramString;
Trends localTrends = (Trends)localConstructor.newInstance(arrayOfObject);
return localTrends;
}
catch (InstantiationException localInstantiationException)
{
throw new TwitterException(localInstantiationException);
}
catch (IllegalAccessException localIllegalAccessException)
{
throw new TwitterException(localIllegalAccessException);
}
catch (InvocationTargetException localInvocationTargetException)
{
throw new AssertionError(localInvocationTargetException);
}
}
public static User createUser(String paramString)
throws TwitterException
{
try
{
JSONObject localJSONObject = new JSONObject(paramString);
Constructor localConstructor = userConstructor;
Object[] arrayOfObject = new Object[1];
arrayOfObject[0] = localJSONObject;
User localUser = (User)localConstructor.newInstance(arrayOfObject);
return localUser;
}
catch (InstantiationException localInstantiationException)
{
throw new TwitterException(localInstantiationException);
}
catch (IllegalAccessException localIllegalAccessException)
{
throw new AssertionError(localIllegalAccessException);
}
catch (InvocationTargetException localInvocationTargetException)
{
throw new TwitterException(localInvocationTargetException);
}
catch (JSONException localJSONException)
{
throw new TwitterException(localJSONException);
}
}
public static UserList createUserList(String paramString)
throws TwitterException
{
try
{
JSONObject localJSONObject = new JSONObject(paramString);
Constructor localConstructor = userListConstructor;
Object[] arrayOfObject = new Object[1];
arrayOfObject[0] = localJSONObject;
UserList localUserList = (UserList)localConstructor.newInstance(arrayOfObject);
return localUserList;
}
catch (InstantiationException localInstantiationException)
{
throw new TwitterException(localInstantiationException);
}
catch (IllegalAccessException localIllegalAccessException)
{
throw new AssertionError(localIllegalAccessException);
}
catch (InvocationTargetException localInvocationTargetException)
{
throw new TwitterException(localInvocationTargetException);
}
catch (JSONException localJSONException)
{
throw new TwitterException(localJSONException);
}
}
public static String getRawJSON(Object paramObject)
{
Object localObject = ((Map)rawJsonMap.get()).get(paramObject);
String str;
if ((localObject instanceof String)) {
str = (String)localObject;
}
for (;;)
{
return str;
if (localObject != null) {
str = localObject.toString();
} else {
str = null;
}
}
}
static <T> T registerJSONObject(T paramT, Object paramObject)
{
((Map)rawJsonMap.get()).put(paramT, paramObject);
return paramT;
}
}
/* Location: F:\neembuu\Research\android_apps\output_jar.jar
* Qualified Name: twitter4j.json.DataObjectFactory
* JD-Core Version: 0.7.0.1
*/