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