13742d9db8b6edb10627b0f89336cca5249f1d15aManuel Roman/** 23742d9db8b6edb10627b0f89336cca5249f1d15aManuel Roman * 33742d9db8b6edb10627b0f89336cca5249f1d15aManuel Roman */ 43742d9db8b6edb10627b0f89336cca5249f1d15aManuel Romanpackage javax.jmdns.impl; 53742d9db8b6edb10627b0f89336cca5249f1d15aManuel Roman 63742d9db8b6edb10627b0f89336cca5249f1d15aManuel Romanimport java.net.InetAddress; 73742d9db8b6edb10627b0f89336cca5249f1d15aManuel Roman 83742d9db8b6edb10627b0f89336cca5249f1d15aManuel Romanimport javax.jmdns.JmDNS; 93742d9db8b6edb10627b0f89336cca5249f1d15aManuel Romanimport javax.jmdns.NetworkTopologyEvent; 103742d9db8b6edb10627b0f89336cca5249f1d15aManuel Romanimport javax.jmdns.NetworkTopologyListener; 113742d9db8b6edb10627b0f89336cca5249f1d15aManuel Roman 123742d9db8b6edb10627b0f89336cca5249f1d15aManuel Roman/** 133742d9db8b6edb10627b0f89336cca5249f1d15aManuel Roman * @author Cédrik Lime, Pierre Frisch 143742d9db8b6edb10627b0f89336cca5249f1d15aManuel Roman */ 153742d9db8b6edb10627b0f89336cca5249f1d15aManuel Romanpublic class NetworkTopologyEventImpl extends NetworkTopologyEvent implements Cloneable { 163742d9db8b6edb10627b0f89336cca5249f1d15aManuel Roman 173742d9db8b6edb10627b0f89336cca5249f1d15aManuel Roman /** 183742d9db8b6edb10627b0f89336cca5249f1d15aManuel Roman * 193742d9db8b6edb10627b0f89336cca5249f1d15aManuel Roman */ 203742d9db8b6edb10627b0f89336cca5249f1d15aManuel Roman private static final long serialVersionUID = 1445606146153550463L; 213742d9db8b6edb10627b0f89336cca5249f1d15aManuel Roman 223742d9db8b6edb10627b0f89336cca5249f1d15aManuel Roman private final InetAddress _inetAddress; 233742d9db8b6edb10627b0f89336cca5249f1d15aManuel Roman 243742d9db8b6edb10627b0f89336cca5249f1d15aManuel Roman /** 253742d9db8b6edb10627b0f89336cca5249f1d15aManuel Roman * Constructs a Network Topology Event. 263742d9db8b6edb10627b0f89336cca5249f1d15aManuel Roman * 273742d9db8b6edb10627b0f89336cca5249f1d15aManuel Roman * @param jmDNS 283742d9db8b6edb10627b0f89336cca5249f1d15aManuel Roman * @param inetAddress 293742d9db8b6edb10627b0f89336cca5249f1d15aManuel Roman * @exception IllegalArgumentException 303742d9db8b6edb10627b0f89336cca5249f1d15aManuel Roman * if source is null. 313742d9db8b6edb10627b0f89336cca5249f1d15aManuel Roman */ 323742d9db8b6edb10627b0f89336cca5249f1d15aManuel Roman public NetworkTopologyEventImpl(JmDNS jmDNS, InetAddress inetAddress) { 333742d9db8b6edb10627b0f89336cca5249f1d15aManuel Roman super(jmDNS); 343742d9db8b6edb10627b0f89336cca5249f1d15aManuel Roman this._inetAddress = inetAddress; 353742d9db8b6edb10627b0f89336cca5249f1d15aManuel Roman } 363742d9db8b6edb10627b0f89336cca5249f1d15aManuel Roman 373742d9db8b6edb10627b0f89336cca5249f1d15aManuel Roman NetworkTopologyEventImpl(NetworkTopologyListener jmmDNS, InetAddress inetAddress) { 383742d9db8b6edb10627b0f89336cca5249f1d15aManuel Roman super(jmmDNS); 393742d9db8b6edb10627b0f89336cca5249f1d15aManuel Roman this._inetAddress = inetAddress; 403742d9db8b6edb10627b0f89336cca5249f1d15aManuel Roman } 413742d9db8b6edb10627b0f89336cca5249f1d15aManuel Roman 423742d9db8b6edb10627b0f89336cca5249f1d15aManuel Roman /* 433742d9db8b6edb10627b0f89336cca5249f1d15aManuel Roman * (non-Javadoc) 443742d9db8b6edb10627b0f89336cca5249f1d15aManuel Roman * @see javax.jmdns.NetworkTopologyEvent#getDNS() 453742d9db8b6edb10627b0f89336cca5249f1d15aManuel Roman */ 463742d9db8b6edb10627b0f89336cca5249f1d15aManuel Roman @Override 473742d9db8b6edb10627b0f89336cca5249f1d15aManuel Roman public JmDNS getDNS() { 483742d9db8b6edb10627b0f89336cca5249f1d15aManuel Roman return (this.getSource() instanceof JmDNS ? (JmDNS) getSource() : null); 493742d9db8b6edb10627b0f89336cca5249f1d15aManuel Roman } 503742d9db8b6edb10627b0f89336cca5249f1d15aManuel Roman 513742d9db8b6edb10627b0f89336cca5249f1d15aManuel Roman /* 523742d9db8b6edb10627b0f89336cca5249f1d15aManuel Roman * (non-Javadoc) 533742d9db8b6edb10627b0f89336cca5249f1d15aManuel Roman * @see javax.jmdns.NetworkTopologyEvent#getInetAddress() 543742d9db8b6edb10627b0f89336cca5249f1d15aManuel Roman */ 553742d9db8b6edb10627b0f89336cca5249f1d15aManuel Roman @Override 563742d9db8b6edb10627b0f89336cca5249f1d15aManuel Roman public InetAddress getInetAddress() { 573742d9db8b6edb10627b0f89336cca5249f1d15aManuel Roman return _inetAddress; 583742d9db8b6edb10627b0f89336cca5249f1d15aManuel Roman } 593742d9db8b6edb10627b0f89336cca5249f1d15aManuel Roman 603742d9db8b6edb10627b0f89336cca5249f1d15aManuel Roman @Override 613742d9db8b6edb10627b0f89336cca5249f1d15aManuel Roman public String toString() { 623742d9db8b6edb10627b0f89336cca5249f1d15aManuel Roman StringBuilder buf = new StringBuilder(); 633742d9db8b6edb10627b0f89336cca5249f1d15aManuel Roman buf.append("[" + this.getClass().getSimpleName() + "@" + System.identityHashCode(this) + " "); 643742d9db8b6edb10627b0f89336cca5249f1d15aManuel Roman buf.append("\n\tinetAddress: '"); 653742d9db8b6edb10627b0f89336cca5249f1d15aManuel Roman buf.append(this.getInetAddress()); 663742d9db8b6edb10627b0f89336cca5249f1d15aManuel Roman buf.append("']"); 673742d9db8b6edb10627b0f89336cca5249f1d15aManuel Roman // buf.append("' source: "); 683742d9db8b6edb10627b0f89336cca5249f1d15aManuel Roman // buf.append("\n\t" + source + ""); 693742d9db8b6edb10627b0f89336cca5249f1d15aManuel Roman // buf.append("\n]"); 703742d9db8b6edb10627b0f89336cca5249f1d15aManuel Roman return buf.toString(); 713742d9db8b6edb10627b0f89336cca5249f1d15aManuel Roman } 723742d9db8b6edb10627b0f89336cca5249f1d15aManuel Roman 733742d9db8b6edb10627b0f89336cca5249f1d15aManuel Roman /* 743742d9db8b6edb10627b0f89336cca5249f1d15aManuel Roman * (non-Javadoc) 753742d9db8b6edb10627b0f89336cca5249f1d15aManuel Roman * @see java.lang.Object#clone() 763742d9db8b6edb10627b0f89336cca5249f1d15aManuel Roman */ 773742d9db8b6edb10627b0f89336cca5249f1d15aManuel Roman @Override 783742d9db8b6edb10627b0f89336cca5249f1d15aManuel Roman public NetworkTopologyEventImpl clone() throws CloneNotSupportedException { 793742d9db8b6edb10627b0f89336cca5249f1d15aManuel Roman return new NetworkTopologyEventImpl(getDNS(), getInetAddress()); 803742d9db8b6edb10627b0f89336cca5249f1d15aManuel Roman } 813742d9db8b6edb10627b0f89336cca5249f1d15aManuel Roman 823742d9db8b6edb10627b0f89336cca5249f1d15aManuel Roman} 83