facebook4j.RawAPIResponseImpl Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of facebook4j-core Show documentation
Show all versions of facebook4j-core Show documentation
A Java library for the Facebook Graph API
/*
* Copyright 2012 Ryuji Yamashita
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package facebook4j;
import facebook4j.internal.http.HttpResponse;
import facebook4j.internal.org.json.JSONArray;
import facebook4j.internal.org.json.JSONObject;
/**
* @since Facebook4J 2.1.0
*/
/*package*/ final class RawAPIResponseImpl implements RawAPIResponse, java.io.Serializable {
private static final long serialVersionUID = 8389958738540393505L;
private final String responseAsString;
private final JSONObject jsonObject;
private final JSONArray jsonArray;
private final Boolean bool;
/*package*/RawAPIResponseImpl(HttpResponse res) throws FacebookException {
responseAsString = res.asString();
if (responseAsString.startsWith("{")) {
jsonObject = res.asJSONObject();
jsonArray = null;
bool = null;
} else
if (responseAsString.startsWith("[")) {
jsonObject = null;
jsonArray = res.asJSONArray();
bool = null;
} else {
jsonObject = null;
jsonArray = null;
bool = Boolean.valueOf(responseAsString.trim());
}
}
public boolean isJSONObject() {
return (jsonObject != null);
}
public boolean isJSONArray() {
return (jsonArray != null);
}
public boolean isBoolean() {
return (bool != null);
}
public JSONObject asJSONObject() throws FacebookException {
return jsonObject;
}
public JSONArray asJSONArray() throws FacebookException {
return jsonArray;
}
public boolean asBoolean() throws FacebookException {
return bool;
}
public String asString() {
return responseAsString;
}
@Override
public boolean equals(Object o) {
if (this == o) return true;
if (!(o instanceof RawAPIResponseImpl)) return false;
RawAPIResponseImpl that = (RawAPIResponseImpl) o;
if (responseAsString != null ? !responseAsString.equals(that.responseAsString) : that.responseAsString != null)
return false;
return true;
}
@Override
public int hashCode() {
return responseAsString != null ? responseAsString.hashCode() : 0;
}
@Override
public String toString() {
return "RawAPIResponseImpl{" +
"responseAsString='" + responseAsString + '\'' +
'}';
}
}