TransitionStore.java revision 7eea4d3ac59aa88d327fc0d58f5e4052f43c54c9
1616a70fdb4473d2fbd7b70772a3a82b908aeae1eOwen Lin/*
2616a70fdb4473d2fbd7b70772a3a82b908aeae1eOwen Lin * Copyright (C) 2012 The Android Open Source Project
3616a70fdb4473d2fbd7b70772a3a82b908aeae1eOwen Lin *
4616a70fdb4473d2fbd7b70772a3a82b908aeae1eOwen Lin * Licensed under the Apache License, Version 2.0 (the "License");
5616a70fdb4473d2fbd7b70772a3a82b908aeae1eOwen Lin * you may not use this file except in compliance with the License.
6616a70fdb4473d2fbd7b70772a3a82b908aeae1eOwen Lin * You may obtain a copy of the License at
7616a70fdb4473d2fbd7b70772a3a82b908aeae1eOwen Lin *
8616a70fdb4473d2fbd7b70772a3a82b908aeae1eOwen Lin *      http://www.apache.org/licenses/LICENSE-2.0
9616a70fdb4473d2fbd7b70772a3a82b908aeae1eOwen Lin *
10616a70fdb4473d2fbd7b70772a3a82b908aeae1eOwen Lin * Unless required by applicable law or agreed to in writing, software
11616a70fdb4473d2fbd7b70772a3a82b908aeae1eOwen Lin * distributed under the License is distributed on an "AS IS" BASIS,
12616a70fdb4473d2fbd7b70772a3a82b908aeae1eOwen Lin * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13616a70fdb4473d2fbd7b70772a3a82b908aeae1eOwen Lin * See the License for the specific language governing permissions and
14616a70fdb4473d2fbd7b70772a3a82b908aeae1eOwen Lin * limitations under the License.
15616a70fdb4473d2fbd7b70772a3a82b908aeae1eOwen Lin */
16616a70fdb4473d2fbd7b70772a3a82b908aeae1eOwen Lin
17616a70fdb4473d2fbd7b70772a3a82b908aeae1eOwen Linpackage com.android.gallery3d.app;
18616a70fdb4473d2fbd7b70772a3a82b908aeae1eOwen Lin
19616a70fdb4473d2fbd7b70772a3a82b908aeae1eOwen Linimport java.util.HashMap;
20616a70fdb4473d2fbd7b70772a3a82b908aeae1eOwen Lin
21616a70fdb4473d2fbd7b70772a3a82b908aeae1eOwen Linpublic class TransitionStore {
22616a70fdb4473d2fbd7b70772a3a82b908aeae1eOwen Lin    private HashMap<Object, Object> mStorage = new HashMap<Object, Object>();
23616a70fdb4473d2fbd7b70772a3a82b908aeae1eOwen Lin
24616a70fdb4473d2fbd7b70772a3a82b908aeae1eOwen Lin    public void put(Object key, Object value) {
25616a70fdb4473d2fbd7b70772a3a82b908aeae1eOwen Lin        mStorage.put(key, value);
26616a70fdb4473d2fbd7b70772a3a82b908aeae1eOwen Lin    }
27616a70fdb4473d2fbd7b70772a3a82b908aeae1eOwen Lin
28616a70fdb4473d2fbd7b70772a3a82b908aeae1eOwen Lin    @SuppressWarnings("unchecked")
29616a70fdb4473d2fbd7b70772a3a82b908aeae1eOwen Lin    public <T> T get(Object key) {
30616a70fdb4473d2fbd7b70772a3a82b908aeae1eOwen Lin        return (T) mStorage.get(key);
31616a70fdb4473d2fbd7b70772a3a82b908aeae1eOwen Lin    }
32616a70fdb4473d2fbd7b70772a3a82b908aeae1eOwen Lin
337eea4d3ac59aa88d327fc0d58f5e4052f43c54c9Bobby Georgescu    public <T> T get(Object key, T valueIfNull) {
347eea4d3ac59aa88d327fc0d58f5e4052f43c54c9Bobby Georgescu        T value = get(key);
357eea4d3ac59aa88d327fc0d58f5e4052f43c54c9Bobby Georgescu        return value == null ? valueIfNull : value;
367eea4d3ac59aa88d327fc0d58f5e4052f43c54c9Bobby Georgescu    }
377eea4d3ac59aa88d327fc0d58f5e4052f43c54c9Bobby Georgescu
38616a70fdb4473d2fbd7b70772a3a82b908aeae1eOwen Lin    public void clear() {
39616a70fdb4473d2fbd7b70772a3a82b908aeae1eOwen Lin        mStorage.clear();
40616a70fdb4473d2fbd7b70772a3a82b908aeae1eOwen Lin    }
41616a70fdb4473d2fbd7b70772a3a82b908aeae1eOwen Lin}
42