001 /*
002 * Created on 21-Apr-2004
003 */
004 package ca.uhn.hl7v2.protocol.impl;
005
006 import ca.uhn.hl7v2.protocol.ApplicationRouter;
007
008 /**
009 * A default implementation of <code>ApplicationRouter.AppRoutingData</code>.
010 *
011 * @author <a href="mailto:bryan.tripp@uhn.on.ca">Bryan Tripp</a>
012 * @version $Revision: 1.1 $ updated on $Date: 2007-02-19 02:24:26 $ by $Author: jamesagnew $
013 */
014 public class AppRoutingDataImpl implements ApplicationRouter.AppRoutingData {
015
016 private final String myMessageType;
017 private final String myTriggerEvent;
018 private final String myProcessingId;
019 private final String myVersionId;
020
021 /**
022 * Creates a new instance with args used as values that will be returned
023 * by the corresponding getters.
024 *
025 * @param theMessageType
026 * @param theTriggerEvent
027 * @param theProcessingId
028 * @param theVersionId
029 */
030 public AppRoutingDataImpl(String theMessageType, String theTriggerEvent,
031 String theProcessingId, String theVersionId) {
032 myMessageType = theMessageType;
033 myTriggerEvent = theTriggerEvent;
034 myProcessingId = theProcessingId;
035 myVersionId = theVersionId;
036 }
037
038 /**
039 * @see ca.uhn.hl7v2.protocol.ApplicationRouter.AppRoutingData#getMessageType()
040 */
041 public String getMessageType() {
042 return myMessageType;
043 }
044
045 /**
046 * @see ca.uhn.hl7v2.protocol.ApplicationRouter.AppRoutingData#getTriggerEvent()
047 */
048 public String getTriggerEvent() {
049 return myTriggerEvent;
050 }
051
052 /**
053 * @see ca.uhn.hl7v2.protocol.ApplicationRouter.AppRoutingData#getProcessingId()
054 */
055 public String getProcessingId() {
056 return myProcessingId;
057 }
058
059 /**
060 * @see ca.uhn.hl7v2.protocol.ApplicationRouter.AppRoutingData#getVersion()
061 */
062 public String getVersion() {
063 return myVersionId;
064 }
065
066 public boolean equals(Object o) {
067 boolean result = false;
068 if (o instanceof AppRoutingDataImpl) {
069 AppRoutingDataImpl that = (AppRoutingDataImpl) o;
070 if (this.getMessageType() == that.getMessageType()
071 && this.getTriggerEvent() == that.getTriggerEvent()
072 && this.getProcessingId() == that.getProcessingId()
073 && this.getVersion() == that.getVersion()) {
074
075 result = true;
076 }
077 }
078 return result;
079 }
080
081 public int hashCode() {
082 return getMessageType().hashCode()
083 + getTriggerEvent().hashCode()
084 + getProcessingId().hashCode()
085 + getVersion().hashCode();
086 }
087
088 }