001: /*
002: * BEGIN_HEADER - DO NOT EDIT
003: *
004: * The contents of this file are subject to the terms
005: * of the Common Development and Distribution License
006: * (the "License"). You may not use this file except
007: * in compliance with the License.
008: *
009: * You can obtain a copy of the license at
010: * https://open-esb.dev.java.net/public/CDDLv1.0.html.
011: * See the License for the specific language governing
012: * permissions and limitations under the License.
013: *
014: * When distributing Covered Code, include this CDDL
015: * HEADER in each file and include the License file at
016: * https://open-esb.dev.java.net/public/CDDLv1.0.html.
017: * If applicable add the following below this CDDL HEADER,
018: * with the fields enclosed by brackets "[]" replaced with
019: * your own identifying information: Portions Copyright
020: * [year] [name of copyright owner]
021: */
022:
023: /*
024: * @(#)EventNotifierCommon.java
025: * Copyright 2004-2007 Sun Microsystems, Inc. All Rights Reserved.
026: *
027: * END_HEADER - DO NOT EDIT
028: */
029: package com.sun.jbi.framework;
030:
031: import com.sun.jbi.EventNotifierBase;
032: import javax.management.Notification;
033:
034: /**
035: * This interface defines the methods that are used to emit notifications for
036: * events affecting the state of JBI runtime. Methods are provided for emitting
037: * notifications for all applicable events in the runtime, such as startup and
038: * shutdown of the runtime, installation or uninstallation of a component or
039: * shared library, deployment or undeployment of a service assembly or service
040: * unit, and all life cycle operations on components, service assemblies, and
041: * service units.
042: *
043: * This interface is implemented by the EventNotifier MBean in the runtime.
044: *
045: * @author Mark S White
046: */
047: public interface EventNotifierCommon extends EventNotifierBase {
048: /**
049: * This method is called to emit a notification for an event on the JBI
050: * runtime. The caller provides information that determines the content of
051: * the notification. The event type for a JBI runtime notification can be
052: * Ready, Started, or Stopped. The source type is always JBIRuntime.
053: *
054: * @param eventType the type of event that occurred.
055: * @param msg a message associated with the event.
056: * @return the actual Notification sent.
057: */
058: Notification emitRuntimeNotification(EventType eventType, String msg);
059:
060: /**
061: * This method is called to emit a notification for an event on either a
062: * binding component or a service engine. The caller provides information
063: * that determines the content of the notification. The event type for a
064: * component notification can be Installed, Uninstalled, Started, Stopped,
065: * or ShutDown. The source type is either BindingComponent or ServiceEngine.
066: *
067: * @param eventType the type of event that occurred.
068: * @param sourceType the type of component on which the event occurred.
069: * @param componentName the name of the component on which the event
070: * occurred.
071: * @param msg a message associated with the event.
072: * @return the actual Notification sent.
073: */
074: Notification emitComponentNotification(EventType eventType,
075: SourceType sourceType, String componentName, String msg);
076:
077: /**
078: * This method is called to emit a notification for an event on a shared
079: * library. The caller provides information that determines the content of
080: * the notification. The event type for a shared library notification can be
081: * either Installed or Uninstalled. The source type is always SharedLibrary.
082: *
083: * @param eventType the type of event that occurred.
084: * @param sharedLibraryName the name of the shared library on which the
085: * event occurred.
086: * @param msg a message associated with the event.
087: * @return the actual Notification sent.
088: */
089: Notification emitSharedLibraryNotification(EventType eventType,
090: String sharedLibraryName, String msg);
091:
092: /**
093: * This method is called to emit a notification for an event on a service
094: * assembly. The caller provides information that determines the content
095: * of the notification. The event type for a service assembly notification
096: * can be Deployed, Undeployed, Started, Stopped, or ShutDown. The source
097: * type is always ServiceAssembly.
098: *
099: * @param eventType the type of event that occurred.
100: * @param serviceAssemblyName the name of the service assembly on which the
101: * event occurred.
102: * @param msg a message associated with the event.
103: * @return the actual Notification sent.
104: */
105: Notification emitServiceAssemblyNotification(EventType eventType,
106: String serviceAssemblyName, String msg);
107:
108: /**
109: * This method is called to emit a notification for an event on a service
110: * unit. The caller provides information that determines the content of the
111: * notification. The event type for a service unit notification can be
112: * Deployed, Undeployed, Started, Stopped, or ShutDown. The source type is
113: * always ServiceUnit.
114: *
115: * @param eventType the type of event that occurred.
116: * @param serviceUnitName the name of the service unit on which the event
117: * occurred.
118: * @param serviceAssemblyName the name of the service assembly to which the
119: * service unit belongs.
120: * @param componentName the name of the component to which the service unit
121: * is deployed.
122: * @param msg a message associated with the event.
123: * @return the actual Notification sent.
124: */
125: Notification emitServiceUnitNotification(EventType eventType,
126: String serviceUnitName, String serviceAssemblyName,
127: String componentName, String msg);
128: }
|