aboutsummaryrefslogtreecommitdiffstats
path: root/lib/jinterface/java_src/com/ericsson/otp/erlang/OtpErlangPid.java
diff options
context:
space:
mode:
Diffstat (limited to 'lib/jinterface/java_src/com/ericsson/otp/erlang/OtpErlangPid.java')
-rw-r--r--lib/jinterface/java_src/com/ericsson/otp/erlang/OtpErlangPid.java195
1 files changed, 94 insertions, 101 deletions
diff --git a/lib/jinterface/java_src/com/ericsson/otp/erlang/OtpErlangPid.java b/lib/jinterface/java_src/com/ericsson/otp/erlang/OtpErlangPid.java
index fe81ce302d..20b7ff6a7f 100644
--- a/lib/jinterface/java_src/com/ericsson/otp/erlang/OtpErlangPid.java
+++ b/lib/jinterface/java_src/com/ericsson/otp/erlang/OtpErlangPid.java
@@ -1,33 +1,31 @@
/*
* %CopyrightBegin%
- *
+ *
* Copyright Ericsson AB 2000-2009. All Rights Reserved.
- *
- * The contents of this file are subject to the Erlang Public License,
- * Version 1.1, (the "License"); you may not use this file except in
- * compliance with the License. You should have received a copy of the
- * Erlang Public License along with this software. If not, it can be
- * retrieved online at http://www.erlang.org/.
- *
- * Software distributed under the License is distributed on an "AS IS"
- * basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See
- * the License for the specific language governing rights and limitations
- * under the License.
- *
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
* %CopyrightEnd%
*/
package com.ericsson.otp.erlang;
-import java.io.Serializable;
-
/**
* Provides a Java representation of Erlang PIDs. PIDs represent Erlang
* processes and consist of a nodename and a number of integers.
*/
-public class OtpErlangPid extends OtpErlangObject implements Serializable,
- Cloneable, Comparable<Object> {
+public class OtpErlangPid extends OtpErlangObject implements Comparable<Object> {
// don't change this!
- static final long serialVersionUID = 1664394142301803659L;
+ private static final long serialVersionUID = 1664394142301803659L;
private final String node;
private final int id;
@@ -36,175 +34,170 @@ public class OtpErlangPid extends OtpErlangObject implements Serializable,
/**
* Create a unique Erlang PID belonging to the local node.
- *
+ *
* @param self
- * the local node.
- *
+ * the local node.
+ *
* @deprecated use OtpLocalNode:createPid() instead
*/
@Deprecated
public OtpErlangPid(final OtpLocalNode self) {
- final OtpErlangPid p = self.createPid();
+ final OtpErlangPid p = self.createPid();
- id = p.id;
- serial = p.serial;
- creation = p.creation;
- node = p.node;
+ id = p.id;
+ serial = p.serial;
+ creation = p.creation;
+ node = p.node;
}
/**
* Create an Erlang PID from a stream containing a PID encoded in Erlang
* external format.
- *
+ *
* @param buf
- * the stream containing the encoded PID.
- *
+ * the stream containing the encoded PID.
+ *
* @exception OtpErlangDecodeException
- * if the buffer does not contain a valid external
- * representation of an Erlang PID.
+ * if the buffer does not contain a valid external
+ * representation of an Erlang PID.
*/
public OtpErlangPid(final OtpInputStream buf)
- throws OtpErlangDecodeException {
- final OtpErlangPid p = buf.read_pid();
+ throws OtpErlangDecodeException {
+ final OtpErlangPid p = buf.read_pid();
- node = p.node();
- id = p.id();
- serial = p.serial();
- creation = p.creation();
+ node = p.node();
+ id = p.id();
+ serial = p.serial();
+ creation = p.creation();
}
/**
* Create an Erlang pid from its components.
- *
+ *
* @param node
- * the nodename.
- *
+ * the nodename.
+ *
* @param id
- * an arbitrary number. Only the low order 15 bits will be
- * used.
- *
+ * an arbitrary number. Only the low order 15 bits will be used.
+ *
* @param serial
- * another arbitrary number. Only the low order 13 bits will
- * be used.
- *
+ * another arbitrary number. Only the low order 13 bits will be
+ * used.
+ *
* @param creation
- * yet another arbitrary number. Only the low order 2 bits
- * will be used.
+ * yet another arbitrary number. Only the low order 2 bits will
+ * be used.
*/
public OtpErlangPid(final String node, final int id, final int serial,
- final int creation) {
- this.node = node;
- this.id = id & 0x7fff; // 15 bits
- this.serial = serial & 0x1fff; // 13 bits
- this.creation = creation & 0x03; // 2 bits
+ final int creation) {
+ this.node = node;
+ this.id = id & 0x7fff; // 15 bits
+ this.serial = serial & 0x1fff; // 13 bits
+ this.creation = creation & 0x03; // 2 bits
}
/**
* Get the serial number from the PID.
- *
+ *
* @return the serial number from the PID.
*/
public int serial() {
- return serial;
+ return serial;
}
/**
* Get the id number from the PID.
- *
+ *
* @return the id number from the PID.
*/
public int id() {
- return id;
+ return id;
}
/**
* Get the creation number from the PID.
- *
+ *
* @return the creation number from the PID.
*/
public int creation() {
- return creation;
+ return creation;
}
/**
* Get the node name from the PID.
- *
+ *
* @return the node name from the PID.
*/
public String node() {
- return node;
+ return node;
}
/**
* Get the string representation of the PID. Erlang PIDs are printed as
* #Pid&lt;node.id.serial&gt;
- *
+ *
* @return the string representation of the PID.
*/
@Override
public String toString() {
- return "#Pid<" + node.toString() + "." + id + "." + serial + ">";
+ return "#Pid<" + node.toString() + "." + id + "." + serial + ">";
}
/**
* Convert this PID to the equivalent Erlang external representation.
- *
+ *
* @param buf
- * an output stream to which the encoded PID should be
- * written.
+ * an output stream to which the encoded PID should be written.
*/
@Override
public void encode(final OtpOutputStream buf) {
- buf.write_pid(node, id, serial, creation);
+ buf.write_pid(node, id, serial, creation);
}
/**
* Determine if two PIDs are equal. PIDs are equal if their components are
* equal.
- *
- * @param port
- * the other PID to compare to.
- *
+ *
+ * @param o
+ * the other PID to compare to.
+ *
* @return true if the PIDs are equal, false otherwise.
*/
@Override
public boolean equals(final Object o) {
- if (!(o instanceof OtpErlangPid)) {
- return false;
- }
+ if (!(o instanceof OtpErlangPid)) {
+ return false;
+ }
- final OtpErlangPid pid = (OtpErlangPid) o;
+ final OtpErlangPid pid = (OtpErlangPid) o;
- return creation == pid.creation && serial == pid.serial && id == pid.id
- && node.compareTo(pid.node) == 0;
+ return creation == pid.creation && serial == pid.serial && id == pid.id
+ && node.compareTo(pid.node) == 0;
}
-
+
@Override
protected int doHashCode() {
- OtpErlangObject.Hash hash = new OtpErlangObject.Hash(5);
- hash.combine(creation, serial);
- hash.combine(id, node.hashCode());
- return hash.valueOf();
+ final OtpErlangObject.Hash hash = new OtpErlangObject.Hash(5);
+ hash.combine(creation, serial);
+ hash.combine(id, node.hashCode());
+ return hash.valueOf();
}
-
+
public int compareTo(final Object o) {
- if (!(o instanceof OtpErlangPid)) {
- return -1;
- }
-
- final OtpErlangPid pid = (OtpErlangPid) o;
- if (creation == pid.creation) {
- if (serial == pid.serial) {
- if (id == pid.id) {
- return node.compareTo(pid.node);
- } else {
- return id - pid.id;
- }
- } else {
- return serial - pid.serial;
- }
- } else {
- return creation - pid.creation;
- }
+ if (!(o instanceof OtpErlangPid)) {
+ return -1;
+ }
+
+ final OtpErlangPid pid = (OtpErlangPid) o;
+ if (creation == pid.creation) {
+ if (serial == pid.serial) {
+ if (id == pid.id) {
+ return node.compareTo(pid.node);
+ }
+ return id - pid.id;
+ }
+ return serial - pid.serial;
+ }
+ return creation - pid.creation;
}
}