Home | History | Annotate | Download | only in jmdns
      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 }