001/* Copyright 2011-2012 the original author or authors: 002 * 003 * Marc Palmer (marc@grailsrocks.com) 004 * Stéphane Maldini (smaldini@vmware.com) 005 * 006 * Licensed under the Apache License, Version 2.0 (the "License"); 007 * you may not use this file except in compliance with the License. 008 * You may obtain a copy of the License at 009 * 010 * http://www.apache.org/licenses/LICENSE-2.0 011 * 012 * Unless required by applicable law or agreed to in writing, software 013 * distributed under the License is distributed on an "AS IS" BASIS, 014 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 015 * See the License for the specific language governing permissions and 016 * limitations under the License. 017 */ 018package org.grails.plugin.platform.events.registry; 019 020import groovy.lang.Closure; 021 022import java.lang.reflect.Method; 023 024/** 025 * @author Stephane Maldini <smaldini@vmware.com> 026 * @version 1.0 027 * @file 028 * @date 02/01/12 029 * @section DESCRIPTION 030 * <p/> 031 * [Does stuff] 032 */ 033public interface EventsRegistry { 034 035 public String on(String namespace, String topic, Object bean, Method callbackMethod); 036 037 public String on(String namespace, String topic, Object bean, String callbackMethodName); 038 039 public String on(String namespace, String topic, Closure callback); 040 041 public int removeListeners(String callbackId); 042 043 public int countListeners(String callbackId); 044}