1 /*******************************************************************************
2 * Copyright (c) 2007, 2014 Massimiliano Ziccardi
3 *
4 * Licensed under the Apache License, Version 2.0 (the "License");
5 * you may not use this file except in compliance with the License.
6 * You may obtain a copy of the License at
7 *
8 * http://www.apache.org/licenses/LICENSE-2.0
9 *
10 * Unless required by applicable law or agreed to in writing, software
11 * distributed under the License is distributed on an "AS IS" BASIS,
12 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 * See the License for the specific language governing permissions and
14 * limitations under the License.
15 *******************************************************************************/
16 package it.jnrpe;
17
18 import it.jnrpe.events.IJNRPEEvent;
19
20 import java.util.HashMap;
21 import java.util.Map;
22
23 /**
24 * A basic, very simple, general purpose event.
25 *
26 * @author Massimiliano Ziccardi
27 */
28 class SimpleEvent implements IJNRPEEvent {
29 /**
30 * The name of the event.
31 */
32 private final String eventName;
33
34 /**
35 * A map containing all the event parameters. The key of the map is the
36 * parameter name.
37 */
38 private final Map<String, Object> eventParametersMap = new HashMap<String, Object>();
39
40 /**
41 * Initializes the event with the given event name and the given event
42 * parameters.
43 *
44 * @param sEventName
45 * The event name
46 * @param paramsAry
47 * The event parameters
48 */
49 public SimpleEvent(final String sEventName, final Object[] paramsAry) {
50 this.eventName = sEventName;
51 for (int i = 0; paramsAry != null && i < paramsAry.length; i += 2) {
52 eventParametersMap.put((String) paramsAry[i], paramsAry[i + 1]);
53 }
54 }
55
56 /**
57 * Returns the event name.
58 *
59 * @return The event name
60 */
61 public String getEventName() {
62 return eventName;
63 }
64
65 /**
66 * Returns the event parameters.
67 *
68 * @return The event parameters
69 */
70 public Map<String, Object> getEventParams() {
71 return eventParametersMap;
72 }
73 }