aboutsummaryrefslogtreecommitdiff
path: root/src/main/java/com/android/volley/Response.java
diff options
context:
space:
mode:
authorFicus Kirkpatrick <ficus@android.com>2014-11-29 09:32:54 -0800
committerFicus Kirkpatrick <ficus@android.com>2014-12-05 15:46:44 -0800
commitb9b8dc3d98fb1a8c3f02c2c2fcc18cbd344c05cb (patch)
tree1f4a33c24f608d79781de54e5d1ff5f3072fa261 /src/main/java/com/android/volley/Response.java
parent008e0cc8e51ef9e91110d91d4d662d0d86b252a1 (diff)
downloadvolley-b9b8dc3d98fb1a8c3f02c2c2fcc18cbd344c05cb.tar.gz
Migrate from Gradle to Maven.
- Restructure source to src/{main,test} style - Add pom.xml and update Android.mk - Migrate all tests to JUnit4 and Robolectric - RequestQueueTest is currently @Ignored as fixing it will involve more extensive refactoring. - Main library still builds in Gradle; tests do not Change-Id: I1edc53bb1a54f64d3e806e4572901295ef63e2ca
Diffstat (limited to 'src/main/java/com/android/volley/Response.java')
-rw-r--r--src/main/java/com/android/volley/Response.java85
1 files changed, 85 insertions, 0 deletions
diff --git a/src/main/java/com/android/volley/Response.java b/src/main/java/com/android/volley/Response.java
new file mode 100644
index 0000000..1165595
--- /dev/null
+++ b/src/main/java/com/android/volley/Response.java
@@ -0,0 +1,85 @@
+/*
+ * Copyright (C) 2011 The Android Open Source Project
+ *
+ * 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 com.android.volley;
+
+/**
+ * Encapsulates a parsed response for delivery.
+ *
+ * @param <T> Parsed type of this response
+ */
+public class Response<T> {
+
+ /** Callback interface for delivering parsed responses. */
+ public interface Listener<T> {
+ /** Called when a response is received. */
+ public void onResponse(T response);
+ }
+
+ /** Callback interface for delivering error responses. */
+ public interface ErrorListener {
+ /**
+ * Callback method that an error has been occurred with the
+ * provided error code and optional user-readable message.
+ */
+ public void onErrorResponse(VolleyError error);
+ }
+
+ /** Returns a successful response containing the parsed result. */
+ public static <T> Response<T> success(T result, Cache.Entry cacheEntry) {
+ return new Response<T>(result, cacheEntry);
+ }
+
+ /**
+ * Returns a failed response containing the given error code and an optional
+ * localized message displayed to the user.
+ */
+ public static <T> Response<T> error(VolleyError error) {
+ return new Response<T>(error);
+ }
+
+ /** Parsed response, or null in the case of error. */
+ public final T result;
+
+ /** Cache metadata for this response, or null in the case of error. */
+ public final Cache.Entry cacheEntry;
+
+ /** Detailed error information if <code>errorCode != OK</code>. */
+ public final VolleyError error;
+
+ /** True if this response was a soft-expired one and a second one MAY be coming. */
+ public boolean intermediate = false;
+
+ /**
+ * Returns whether this response is considered successful.
+ */
+ public boolean isSuccess() {
+ return error == null;
+ }
+
+
+ private Response(T result, Cache.Entry cacheEntry) {
+ this.result = result;
+ this.cacheEntry = cacheEntry;
+ this.error = null;
+ }
+
+ private Response(VolleyError error) {
+ this.result = null;
+ this.cacheEntry = null;
+ this.error = error;
+ }
+}