package de.ugoe.cs.autoquest.eventcore; /** *

* A simple event type that is identified by a string. *

* * @version $Revision: $ $Date: Aug 16, 2012$ * @author 2012, last modified by $Author: sherbold$ */ public class StringEventType implements IEventType { /** *

* Id for object serialization. *

*/ private static final long serialVersionUID = 1L; /** *

* String that identifies the event type. *

*/ private String str; /** *

* Constructor. Creates a new StringEventType. str must not be null. *

* * @param str * string that identifies the event type * @throws IllegalArgumentException * thrown if str is null */ public StringEventType(String str) throws IllegalArgumentException { if (str == null) { throw new IllegalArgumentException("str must not be null"); } this.str = str; } /* * (non-Javadoc) * * @see de.ugoe.cs.autoquest.eventcore.IEventType#getName() */ @Override public String getName() { return "StringEventType"; } /* * (non-Javadoc) * * @see java.lang.Object#toString() */ @Override public String toString() { return str; } /* * (non-Javadoc) * * @see java.lang.Object#hashCode() */ @Override public int hashCode() { return str.hashCode(); } /* * (non-Javadoc) * * @see java.lang.Object#equals(java.lang.Object) */ @Override public boolean equals(Object other) { if (other == this) { return true; } if (other instanceof StringEventType) { return str.equals(((StringEventType) other).str); } return false; } }