16a26de1d7e3bb3b277c0af6d678023b862c22a86Jean Chalard/* 26a26de1d7e3bb3b277c0af6d678023b862c22a86Jean Chalard * Copyright (C) 2013 The Android Open Source Project 36a26de1d7e3bb3b277c0af6d678023b862c22a86Jean Chalard * 46a26de1d7e3bb3b277c0af6d678023b862c22a86Jean Chalard * Licensed under the Apache License, Version 2.0 (the "License"); 56a26de1d7e3bb3b277c0af6d678023b862c22a86Jean Chalard * you may not use this file except in compliance with the License. 66a26de1d7e3bb3b277c0af6d678023b862c22a86Jean Chalard * You may obtain a copy of the License at 76a26de1d7e3bb3b277c0af6d678023b862c22a86Jean Chalard * 86a26de1d7e3bb3b277c0af6d678023b862c22a86Jean Chalard * http://www.apache.org/licenses/LICENSE-2.0 96a26de1d7e3bb3b277c0af6d678023b862c22a86Jean Chalard * 106a26de1d7e3bb3b277c0af6d678023b862c22a86Jean Chalard * Unless required by applicable law or agreed to in writing, software 116a26de1d7e3bb3b277c0af6d678023b862c22a86Jean Chalard * distributed under the License is distributed on an "AS IS" BASIS, 126a26de1d7e3bb3b277c0af6d678023b862c22a86Jean Chalard * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 136a26de1d7e3bb3b277c0af6d678023b862c22a86Jean Chalard * See the License for the specific language governing permissions and 146a26de1d7e3bb3b277c0af6d678023b862c22a86Jean Chalard * limitations under the License. 156a26de1d7e3bb3b277c0af6d678023b862c22a86Jean Chalard */ 166a26de1d7e3bb3b277c0af6d678023b862c22a86Jean Chalard 176a26de1d7e3bb3b277c0af6d678023b862c22a86Jean Chalardpackage com.android.inputmethod.event; 186a26de1d7e3bb3b277c0af6d678023b862c22a86Jean Chalard 196a26de1d7e3bb3b277c0af6d678023b862c22a86Jean Chalard/** 206a26de1d7e3bb3b277c0af6d678023b862c22a86Jean Chalard * A generic interface for combiners. 216a26de1d7e3bb3b277c0af6d678023b862c22a86Jean Chalard */ 226a26de1d7e3bb3b277c0af6d678023b862c22a86Jean Chalardpublic interface Combiner { 236a26de1d7e3bb3b277c0af6d678023b862c22a86Jean Chalard /** 246a26de1d7e3bb3b277c0af6d678023b862c22a86Jean Chalard * Combine an event with the existing state and return the new event. 256a26de1d7e3bb3b277c0af6d678023b862c22a86Jean Chalard * @param event the event to combine with the existing state. 266a26de1d7e3bb3b277c0af6d678023b862c22a86Jean Chalard * @return the resulting event. 276a26de1d7e3bb3b277c0af6d678023b862c22a86Jean Chalard */ 286a26de1d7e3bb3b277c0af6d678023b862c22a86Jean Chalard Event combine(Event event); 296a26de1d7e3bb3b277c0af6d678023b862c22a86Jean Chalard} 30