Package org.apache.cayenne.event
Class EventSubject
java.lang.Object
org.apache.cayenne.event.EventSubject
- All Implemented Interfaces:
Serializable
This class encapsulates the String that is used to identify the subject that
a listener is interested in. Using plain Strings causes several severe problems:
- it's easy to misspell a subject, leading to undesired behaviour at runtime that is hard to debug.
- in systems with many different subjects there is no safeguard for defining the same subject twice for different purposes. This is especially true in a distributed setting.
- See Also:
-
Constructor Summary
ConstructorsModifierConstructorDescriptionprotected
EventSubject
(String fullSubjectName) Protected constructor for new subjects. -
Method Summary
Modifier and TypeMethodDescriptionboolean
static EventSubject
getSubject
(Class<?> subjectOwner, String subjectName) Returns an event subject identified by the given owner and subject name.int
hashCode()
toString()
-
Constructor Details
-
EventSubject
Protected constructor for new subjects.- Parameters:
fullSubjectName
- the name of the new subject to be created
-
-
Method Details
-
getSubject
Returns an event subject identified by the given owner and subject name.- Parameters:
subjectOwner
- the Class used for uniquely identifying this subjectsubjectName
- a String used as name, e.g. "MyEventTopic"- Throws:
IllegalArgumentException
- if subjectOwner/subjectName arenull
or subjectName is empty.
-
equals
-
hashCode
public int hashCode() -
getSubjectName
-
toString
-