Source code: edu/emory/mathcs/util/net/inproc/InProcSocketAddress.java
1 /* ***** BEGIN LICENSE BLOCK *****
2 * Version: MPL 1.1/GPL 2.0/LGPL 2.1
3 *
4 * The contents of this file are subject to the Mozilla Public License Version
5 * 1.1 (the "License"); you may not use this file except in compliance with
6 * the License. You may obtain a copy of the License at
7 * http://www.mozilla.org/MPL/
8 *
9 * Software distributed under the License is distributed on an "AS IS" basis,
10 * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
11 * for the specific language governing rights and limitations under the
12 * License.
13 *
14 * The Original Code is the Emory Utilities.
15 *
16 * The Initial Developer of the Original Code is
17 * The Distributed Computing Laboratory, Emory University.
18 * Portions created by the Initial Developer are Copyright (C) 2002
19 * the Initial Developer. All Rights Reserved.
20 *
21 * Alternatively, the contents of this file may be used under the terms of
22 * either the GNU General Public License Version 2 or later (the "GPL"), or
23 * the GNU Lesser General Public License Version 2.1 or later (the "LGPL"),
24 * in which case the provisions of the GPL or the LGPL are applicable instead
25 * of those above. If you wish to allow use of your version of this file only
26 * under the terms of either the GPL or the LGPL, and not to allow others to
27 * use your version of this file under the terms of the MPL, indicate your
28 * decision by deleting the provisions above and replace them with the notice
29 * and other provisions required by the GPL or the LGPL. If you do not delete
30 * the provisions above, a recipient may use your version of this file under
31 * the terms of any one of the MPL, the GPL or the LGPL.
32 *
33 * ***** END LICENSE BLOCK ***** */
34
35 package edu.emory.mathcs.util.net.inproc;
36
37 import java.io.*;
38 import java.net.*;
39
40 /**
41 * Represents an address of in-proc socket. Consists of a logical port
42 * number.
43 *
44 * @author Dawid Kurzyniec
45 * @version 1.0
46 */
47 public class InProcSocketAddress extends SocketAddress {
48
49 final int port;
50
51 /**
52 * Creates new inproc socket address representing specified logical port.
53 * @param port the logical port
54 */
55 public InProcSocketAddress(int port) {
56 if (port < 0) throw new IllegalArgumentException("Port number must be non-negative");
57 this.port = port;
58 }
59
60 /**
61 * Returns the logical port number represented by this inproc socket
62 * address.
63 *
64 * @return logical port number
65 */
66 public int getPort() {
67 return port;
68 }
69
70 public int hashCode() {
71 return port;
72 }
73 public boolean equals(Object obj) {
74 if (!(obj instanceof InProcSocketAddress)) return false;
75 InProcSocketAddress that = (InProcSocketAddress)obj;
76 return this.port == that.port;
77 }
78 }