1b5840353SAdam Hornáček /* 2b5840353SAdam Hornáček * CDDL HEADER START 3b5840353SAdam Hornáček * 4b5840353SAdam Hornáček * The contents of this file are subject to the terms of the 5b5840353SAdam Hornáček * Common Development and Distribution License (the "License"). 6b5840353SAdam Hornáček * You may not use this file except in compliance with the License. 7b5840353SAdam Hornáček * 8b5840353SAdam Hornáček * See LICENSE.txt included in this distribution for the specific 9b5840353SAdam Hornáček * language governing permissions and limitations under the License. 10b5840353SAdam Hornáček * 11b5840353SAdam Hornáček * When distributing Covered Code, include this CDDL HEADER in each 12b5840353SAdam Hornáček * file and include the License file at LICENSE.txt. 13b5840353SAdam Hornáček * If applicable, add the following below this CDDL HEADER, with the 14b5840353SAdam Hornáček * fields enclosed by brackets "[]" replaced with your own identifying 15b5840353SAdam Hornáček * information: Portions Copyright [yyyy] [name of copyright owner] 16b5840353SAdam Hornáček * 17b5840353SAdam Hornáček * CDDL HEADER END 18b5840353SAdam Hornáček */ 19b5840353SAdam Hornáček 20b5840353SAdam Hornáček /* 21*5d9f3aa0SAdam Hornáček * Copyright (c) 2017, 2018, Chris Fraire <cfraire@me.com>. 22b5840353SAdam Hornáček */ 239805b761SAdam Hornáček package org.opengrok.indexer.analysis; 24b5840353SAdam Hornáček 25b5840353SAdam Hornáček // "How do I make a Class extend Observable when it has extended another class too?" 26b5840353SAdam Hornáček // Answered by adamski, https://stackoverflow.com/users/127479/adamski, 27b5840353SAdam Hornáček // https://stackoverflow.com/a/1658735/933163, 28b5840353SAdam Hornáček // https://stackoverflow.com/questions/1658702/how-do-i-make-a-class-extend-observable-when-it-has-extended-another-class-too 29b5840353SAdam Hornáček 30b5840353SAdam Hornáček /** 31b5840353SAdam Hornáček * Represents an API for a publisher for {@link SymbolMatchedEvent}s. 32b5840353SAdam Hornáček */ 33b5840353SAdam Hornáček public interface SymbolMatchedPublisher { 34b5840353SAdam Hornáček /** 35b5840353SAdam Hornáček * Sets a listener for the publisher. 36b5840353SAdam Hornáček * @param l the listener 37b5840353SAdam Hornáček */ setSymbolMatchedListener(SymbolMatchedListener l)38b5840353SAdam Hornáček void setSymbolMatchedListener(SymbolMatchedListener l); 39b5840353SAdam Hornáček 40b5840353SAdam Hornáček /** 41b5840353SAdam Hornáček * Clears any listener from the publisher. 42b5840353SAdam Hornáček */ clearSymbolMatchedListener()43b5840353SAdam Hornáček void clearSymbolMatchedListener(); 44b5840353SAdam Hornáček 45b5840353SAdam Hornáček /** 46b5840353SAdam Hornáček * Sets a listener for the publisher. 47b5840353SAdam Hornáček * @param l the listener 48b5840353SAdam Hornáček */ setNonSymbolMatchedListener(NonSymbolMatchedListener l)49b5840353SAdam Hornáček void setNonSymbolMatchedListener(NonSymbolMatchedListener l); 50b5840353SAdam Hornáček 51b5840353SAdam Hornáček /** 52b5840353SAdam Hornáček * Clears any listener from the publisher. 53b5840353SAdam Hornáček */ clearNonSymbolMatchedListener()54b5840353SAdam Hornáček void clearNonSymbolMatchedListener(); 55b5840353SAdam Hornáček } 56