Package org.osgi.service.event
Class Event
- java.lang.Object
-
- org.osgi.service.event.Event
-
public class Event extends java.lang.Object
An event.Event
objects are delivered toEventHandler
services which subscribe to the topic of the event.
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description private static class
Event.FilterProperties
Dictionary to use for Filter matching.
-
Field Summary
Fields Modifier and Type Field Description private EventProperties
properties
The properties carried by this event.private java.lang.String
topic
The topic of this event.
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description boolean
containsProperty(java.lang.String name)
Indicate the presence of an event property.boolean
equals(java.lang.Object object)
Compares thisEvent
object to another object.java.lang.Object
getProperty(java.lang.String name)
Retrieve the value of an event property.java.lang.String[]
getPropertyNames()
Returns a list of this event's property names.java.lang.String
getTopic()
Returns the topic of this event.int
hashCode()
Returns a hash code value for this object.boolean
matches(org.osgi.framework.Filter filter)
Tests this event's properties against the given filter using a case sensitive match.java.lang.String
toString()
Returns the string representation of this event.private static void
validateTopicName(java.lang.String topic)
Called by the constructor to validate the topic name.
-
-
-
Field Detail
-
topic
private final java.lang.String topic
The topic of this event.
-
properties
private final EventProperties properties
The properties carried by this event. Keys are strings and values are objects
-
-
Constructor Detail
-
Event
public Event(java.lang.String topic, java.util.Map<java.lang.String,?> properties)
Constructs an event.- Parameters:
topic
- The topic of the event.properties
- The event's properties (may benull
). A property whose key is not of typeString
will be ignored. If the specified properties is anEventProperties
object, then it will be directly used. Otherwise, a copy of the specified properties is made.- Throws:
java.lang.IllegalArgumentException
- If topic is not a valid topic name.- Since:
- 1.2
-
Event
public Event(java.lang.String topic, java.util.Dictionary<java.lang.String,?> properties)
Constructs an event.- Parameters:
topic
- The topic of the event.properties
- The event's properties (may benull
). A property whose key is not of typeString
will be ignored. A copy of the specified properties is made.- Throws:
java.lang.IllegalArgumentException
- If topic is not a valid topic name.
-
-
Method Detail
-
getProperty
public final java.lang.Object getProperty(java.lang.String name)
Retrieve the value of an event property. The event topic may be retrieved with the property name "event.topics".- Parameters:
name
- The name of the property to retrieve.- Returns:
- The value of the property, or
null
if not found.
-
containsProperty
public final boolean containsProperty(java.lang.String name)
Indicate the presence of an event property. The event topic is present using the property name "event.topics".- Parameters:
name
- The name of the property.- Returns:
true
if a property with the specified name is in the event. This property may have anull
value.false
otherwise.- Since:
- 1.3
-
getPropertyNames
public final java.lang.String[] getPropertyNames()
Returns a list of this event's property names. The list will include the event topic property name "event.topics".- Returns:
- A non-empty array with one element per property.
-
getTopic
public final java.lang.String getTopic()
Returns the topic of this event.- Returns:
- The topic of this event.
-
matches
public final boolean matches(org.osgi.framework.Filter filter)
Tests this event's properties against the given filter using a case sensitive match.- Parameters:
filter
- The filter to test.- Returns:
- true If this event's properties match the filter, false otherwise.
-
equals
public boolean equals(java.lang.Object object)
Compares thisEvent
object to another object.An event is considered to be equal to another event if the topic is equal and the properties are equal. The properties are compared using the
java.util.Map.equals()
rules which includes identity comparison for array values.- Overrides:
equals
in classjava.lang.Object
- Parameters:
object
- TheEvent
object to be compared.- Returns:
true
ifobject
is aEvent
and is equal to this object;false
otherwise.
-
hashCode
public int hashCode()
Returns a hash code value for this object.- Overrides:
hashCode
in classjava.lang.Object
- Returns:
- An integer which is a hash code value for this object.
-
toString
public java.lang.String toString()
Returns the string representation of this event.- Overrides:
toString
in classjava.lang.Object
- Returns:
- The string representation of this event.
-
validateTopicName
private static void validateTopicName(java.lang.String topic)
Called by the constructor to validate the topic name.- Parameters:
topic
- The topic name to validate.- Throws:
java.lang.IllegalArgumentException
- If the topic name is invalid.
-
-