1 package org.objectweb.celtix.bus.handlers; 2 3 import javax.xml.namespace.QName ; 4 import javax.xml.ws.handler.PortInfo; 5 6 public class PortInfoImpl implements PortInfo { 7 8 private final QName portName; 9 private final QName serviceName; 10 private final String bindingId; 11 12 public PortInfoImpl(QName sname, QName pname, String bid) { 13 checkNullArgument(sname, "service name"); 14 checkNullArgument(pname, "port name"); 15 portName = pname; 16 serviceName = sname; 17 bindingId = bid; 18 } 19 20 21 public QName getServiceName() { 22 return serviceName; 23 } 24 25 public QName getPortName() { 26 return portName; 27 } 28 29 public String getBindingID() { 30 return bindingId; 31 } 32 33 public boolean equals(Object o) { 34 if (o == this) { 35 return true; 36 } 37 38 if (!(o instanceof PortInfoImpl)) { 39 return false; 40 } 41 PortInfoImpl rhs = (PortInfoImpl)o; 42 43 boolean bindingIdsEqual = false; 44 if (bindingId == null && rhs.getBindingID() == null) { 45 bindingIdsEqual = true; 46 } else if (bindingId == null && rhs.getBindingID() != null) { 47 bindingIdsEqual = false; 48 } else { 49 bindingIdsEqual = bindingId.equals(rhs.getBindingID()); 50 } 51 return serviceName.equals(rhs.getServiceName()) && portName.equals(rhs.getPortName()) 52 && bindingIdsEqual; 53 } 54 55 public int hashCode() { 56 57 int ret = 17; 58 ret = 37 * ret + serviceName.hashCode(); 59 ret = 37 * ret + portName.hashCode(); 60 if (bindingId != null) { 61 ret = 37 * ret + bindingId.hashCode(); 62 } 63 return ret; 64 } 65 66 private void checkNullArgument(Object arg, String name) { 67 if (arg == null) { 68 throw new IllegalArgumentException (name + " must not be null"); 69 } 70 } 71 72 } 73 | Popular Tags |