10b27d3453d5e257594792e9177c5fedb1bc6f9e9Igor Murashkin/*
20b27d3453d5e257594792e9177c5fedb1bc6f9e9Igor Murashkin * Copyright (C) 2014 The Android Open Source Project
30b27d3453d5e257594792e9177c5fedb1bc6f9e9Igor Murashkin *
40b27d3453d5e257594792e9177c5fedb1bc6f9e9Igor Murashkin * Licensed under the Apache License, Version 2.0 (the "License");
50b27d3453d5e257594792e9177c5fedb1bc6f9e9Igor Murashkin * you may not use this file except in compliance with the License.
60b27d3453d5e257594792e9177c5fedb1bc6f9e9Igor Murashkin * You may obtain a copy of the License at
70b27d3453d5e257594792e9177c5fedb1bc6f9e9Igor Murashkin *
80b27d3453d5e257594792e9177c5fedb1bc6f9e9Igor Murashkin *      http://www.apache.org/licenses/LICENSE-2.0
90b27d3453d5e257594792e9177c5fedb1bc6f9e9Igor Murashkin *
100b27d3453d5e257594792e9177c5fedb1bc6f9e9Igor Murashkin * Unless required by applicable law or agreed to in writing, software
110b27d3453d5e257594792e9177c5fedb1bc6f9e9Igor Murashkin * distributed under the License is distributed on an "AS IS" BASIS,
120b27d3453d5e257594792e9177c5fedb1bc6f9e9Igor Murashkin * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
130b27d3453d5e257594792e9177c5fedb1bc6f9e9Igor Murashkin * See the License for the specific language governing permissions and
140b27d3453d5e257594792e9177c5fedb1bc6f9e9Igor Murashkin * limitations under the License.
150b27d3453d5e257594792e9177c5fedb1bc6f9e9Igor Murashkin */
160b27d3453d5e257594792e9177c5fedb1bc6f9e9Igor Murashkinpackage android.hardware.camera2.dispatch;
170b27d3453d5e257594792e9177c5fedb1bc6f9e9Igor Murashkin
180b27d3453d5e257594792e9177c5fedb1bc6f9e9Igor Murashkin
190b27d3453d5e257594792e9177c5fedb1bc6f9e9Igor Murashkinimport java.lang.reflect.Method;
200b27d3453d5e257594792e9177c5fedb1bc6f9e9Igor Murashkin
210b27d3453d5e257594792e9177c5fedb1bc6f9e9Igor Murashkin/**
220b27d3453d5e257594792e9177c5fedb1bc6f9e9Igor Murashkin * Do nothing when dispatching; follows the null object pattern.
230b27d3453d5e257594792e9177c5fedb1bc6f9e9Igor Murashkin */
240b27d3453d5e257594792e9177c5fedb1bc6f9e9Igor Murashkinpublic class NullDispatcher<T> implements Dispatchable<T> {
250b27d3453d5e257594792e9177c5fedb1bc6f9e9Igor Murashkin    /**
260b27d3453d5e257594792e9177c5fedb1bc6f9e9Igor Murashkin     * Create a dispatcher that does nothing when dispatched to.
270b27d3453d5e257594792e9177c5fedb1bc6f9e9Igor Murashkin     */
280b27d3453d5e257594792e9177c5fedb1bc6f9e9Igor Murashkin    public NullDispatcher() {
290b27d3453d5e257594792e9177c5fedb1bc6f9e9Igor Murashkin    }
300b27d3453d5e257594792e9177c5fedb1bc6f9e9Igor Murashkin
310b27d3453d5e257594792e9177c5fedb1bc6f9e9Igor Murashkin    /**
320b27d3453d5e257594792e9177c5fedb1bc6f9e9Igor Murashkin     * Do nothing; all parameters are ignored.
330b27d3453d5e257594792e9177c5fedb1bc6f9e9Igor Murashkin     */
340b27d3453d5e257594792e9177c5fedb1bc6f9e9Igor Murashkin    @Override
350b27d3453d5e257594792e9177c5fedb1bc6f9e9Igor Murashkin    public Object dispatch(Method method, Object[] args) {
360b27d3453d5e257594792e9177c5fedb1bc6f9e9Igor Murashkin        return null;
370b27d3453d5e257594792e9177c5fedb1bc6f9e9Igor Murashkin    }
380b27d3453d5e257594792e9177c5fedb1bc6f9e9Igor Murashkin}
39