OSDN Git Service

auto import from //depot/cupcake/@132589
[android-x86/packages-apps-IM.git] / src / com / android / im / imps / SimpleAsyncTransaction.java
1 /*
2  * Copyright (C) 2007 Esmertec AG.
3  * Copyright (C) 2007 The Android Open Source Project
4  *
5  * Licensed under the Apache License, Version 2.0 (the "License");
6  * you may not use this file except in compliance with the License.
7  * You may obtain a copy of the License at
8  *
9  *      http://www.apache.org/licenses/LICENSE-2.0
10  *
11  * Unless required by applicable law or agreed to in writing, software
12  * distributed under the License is distributed on an "AS IS" BASIS,
13  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14  * See the License for the specific language governing permissions and
15  * limitations under the License.
16  */
17
18 package com.android.im.imps;
19
20 /**
21  * A default implementation of AsyncTransaction for some simple transactions.
22  * It might be convenient for a subclass to extend this class instead of
23  * AsyncTransaction so it doesn't have to override both onResponseError and
24  * onResponseOk but it could as well be missing either of them when doing so.
25  * Therefore we make this class final to prevent that from happening.
26  */
27 final class SimpleAsyncTransaction extends AsyncTransaction {
28
29     public SimpleAsyncTransaction(ImpsTransactionManager manager,
30             AsyncCompletion completion) {
31         super(manager, completion);
32         if (completion == null) {
33             // Since SimpleAsyncTransaction does nothing in onResponseOk
34             // and onResponseError, we must have a completion object to
35             // be able to notify someone.
36             throw new NullPointerException();
37         }
38     }
39
40     @Override
41     public void onResponseError(ImpsErrorInfo error) {
42         // do nothing
43     }
44
45     @Override
46     public void onResponseOk(Primitive response) {
47         // do nothing
48     }
49 }