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; 6 7 import java.util.EventObject; 8 9 /** 10 * 11 */ 12 public abstract class ServiceEvent extends EventObject implements Cloneable { 13 14 /** 15 * 16 */ 17 private static final long serialVersionUID = -8558445644541006271L; 18 19 /** 20 * Constructs a Service Event. 21 * 22 * @param eventSource 23 * The object on which the Event initially occurred. 24 * @exception IllegalArgumentException 25 * if source is null. 26 */ 27 public ServiceEvent(final Object eventSource) { 28 super(eventSource); 29 } 30 31 /** 32 * Returns the JmDNS instance which originated the event. 33 * 34 * @return JmDNS instance 35 */ 36 public abstract JmDNS getDNS(); 37 38 /** 39 * Returns the fully qualified type of the service. 40 * 41 * @return type of the service. 42 */ 43 public abstract String getType(); 44 45 /** 46 * Returns the instance name of the service. Always returns null, if the event is sent to a service type listener. 47 * 48 * @return name of the service 49 */ 50 public abstract String getName(); 51 52 /** 53 * Returns the service info record, or null if the service could not be resolved. Always returns null, if the event is sent to a service type listener. 54 * 55 * @return service info record 56 * @see javax.jmdns.ServiceEvent#getInfo() 57 */ 58 public abstract ServiceInfo getInfo(); 59 60 /* 61 * (non-Javadoc) 62 * @see java.lang.Object#clone() 63 */ 64 @Override 65 public ServiceEvent clone() { 66 try { 67 return (ServiceEvent) super.clone(); 68 } catch (CloneNotSupportedException exception) { 69 // clone is supported 70 return null; 71 } 72 } 73 74 }