• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
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      */
ServiceEventImpl(JmDNSImpl jmDNS, String type, String name, ServiceInfo info)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
getDNS()62     public JmDNS getDNS() {
63         return (JmDNS) getSource();
64     }
65 
66     /*
67      * (non-Javadoc)
68      * @see javax.jmdns.ServiceEvent#getType()
69      */
70     @Override
getType()71     public String getType() {
72         return _type;
73     }
74 
75     /*
76      * (non-Javadoc)
77      * @see javax.jmdns.ServiceEvent#getName()
78      */
79     @Override
getName()80     public String getName() {
81         return _name;
82     }
83 
84     /*
85      * (non-Javadoc)
86      * @see java.util.EventObject#toString()
87      */
88     @Override
toString()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
getInfo()110     public ServiceInfo getInfo() {
111         return _info;
112     }
113 
114     /*
115      * (non-Javadoc)
116      * @see javax.jmdns.ServiceEvent#clone()
117      */
118     @Override
clone()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