1 // /Copyright 2003-2005 Arthur van Hoff, Rick Blair 2 // Licensed under Apache License version 2.0 3 // Original license LGPL 4 5 package javax.jmdns.impl; 6 7 import javax.jmdns.JmDNS; 8 import javax.jmdns.ServiceEvent; 9 import javax.jmdns.ServiceInfo; 10 11 /** 12 * ServiceEvent. 13 * 14 * @author Werner Randelshofer, Rick Blair 15 */ 16 /** 17 * 18 */ 19 public class ServiceEventImpl extends ServiceEvent { 20 /** 21 * 22 */ 23 private static final long serialVersionUID = 7107973622016897488L; 24 // private static Logger logger = Logger.getLogger(ServiceEvent.class.getName()); 25 /** 26 * The type name of the service. 27 */ 28 private final String _type; 29 /** 30 * The instance name of the service. Or null, if the event was fired to a service type listener. 31 */ 32 private final String _name; 33 /** 34 * The service info record, or null if the service could be be resolved. This is also null, if the event was fired to a service type listener. 35 */ 36 private final ServiceInfo _info; 37 38 /** 39 * Creates a new instance. 40 * 41 * @param jmDNS 42 * the JmDNS instance which originated the event. 43 * @param type 44 * the type name of the service. 45 * @param name 46 * the instance name of the service. 47 * @param info 48 * the service info record, or null if the service could be be resolved. 49 */ 50 public ServiceEventImpl(JmDNSImpl jmDNS, String type, String name, ServiceInfo info) { 51 super(jmDNS); 52 this._type = type; 53 this._name = name; 54 this._info = info; 55 } 56 57 /* 58 * (non-Javadoc) 59 * @see javax.jmdns.ServiceEvent#getDNS() 60 */ 61 @Override 62 public JmDNS getDNS() { 63 return (JmDNS) getSource(); 64 } 65 66 /* 67 * (non-Javadoc) 68 * @see javax.jmdns.ServiceEvent#getType() 69 */ 70 @Override 71 public String getType() { 72 return _type; 73 } 74 75 /* 76 * (non-Javadoc) 77 * @see javax.jmdns.ServiceEvent#getName() 78 */ 79 @Override 80 public String getName() { 81 return _name; 82 } 83 84 /* 85 * (non-Javadoc) 86 * @see java.util.EventObject#toString() 87 */ 88 @Override 89 public String toString() { 90 StringBuilder buf = new StringBuilder(); 91 buf.append("[" + this.getClass().getSimpleName() + "@" + System.identityHashCode(this) + " "); 92 buf.append("\n\tname: '"); 93 buf.append(this.getName()); 94 buf.append("' type: '"); 95 buf.append(this.getType()); 96 buf.append("' info: '"); 97 buf.append(this.getInfo()); 98 buf.append("']"); 99 // buf.append("' source: "); 100 // buf.append("\n\t" + source + ""); 101 // buf.append("\n]"); 102 return buf.toString(); 103 } 104 105 /* 106 * (non-Javadoc) 107 * @see javax.jmdns.ServiceEvent#getInfo() 108 */ 109 @Override 110 public ServiceInfo getInfo() { 111 return _info; 112 } 113 114 /* 115 * (non-Javadoc) 116 * @see javax.jmdns.ServiceEvent#clone() 117 */ 118 @Override 119 public ServiceEventImpl clone() { 120 ServiceInfoImpl newInfo = new ServiceInfoImpl(this.getInfo()); 121 return new ServiceEventImpl((JmDNSImpl) this.getDNS(), this.getType(), this.getName(), newInfo); 122 } 123 124 } 125