wanpipeaddress.java

来自「JGRoups源码」· Java 代码 · 共 115 行

JAVA
115
字号
// $Id: WanPipeAddress.java,v 1.9 2005/08/08 12:45:46 belaban Exp $package org.jgroups.protocols;import org.jgroups.Address;import org.jgroups.util.Util;import org.apache.commons.logging.Log;import org.apache.commons.logging.LogFactory;import java.io.*;/** * Logical address for a WAN pipe (logical link) */public class WanPipeAddress implements Address {    String logical_name=null;    static final Log log=LogFactory.getLog(WanPipeAddress.class);    // Used only by Externalization    public WanPipeAddress() {    }    public WanPipeAddress(String logical_name) {        this.logical_name=logical_name;    }    public boolean isMulticastAddress() {        return true;    }    public int size() {        return logical_name != null? logical_name.length()+2 : 22;    }    /**     * Establishes an order between 2 addresses. Assumes other contains non-null WanPipeAddress.     *     * @return 0 for equality, value less than 0 if smaller, greater than 0 if greater.     */    public int compareTo(Object other) throws ClassCastException {        if(other == null) {            log.error("WanPipeAddress.compareTo(): other address is null !");            return -1;        }        if(!(other instanceof WanPipeAddress)) {            log.error("WanPipeAddress.compareTo(): other address is not of type WanPipeAddress !");            return -1;        }        if(((WanPipeAddress)other).logical_name == null) {            log.error("WanPipeAddress.compareTo(): other address is null !");            return -1;        }        return logical_name.compareTo(((WanPipeAddress)other).logical_name);    }    public boolean equals(Object obj) {        return compareTo(obj) == 0;    }    public int hashCode() {        return logical_name.hashCode();    }    public String toString() {        return logical_name;    }    public void writeExternal(ObjectOutput out) throws IOException {        out.writeObject(logical_name);    }    public void readExternal(ObjectInput in) throws IOException, ClassNotFoundException {        logical_name=(String)in.readObject();    }    public static void main(String args[]) {        WanPipeAddress a=new WanPipeAddress("daddy");        System.out.println(a);        WanPipeAddress b=new WanPipeAddress("daddy.nms.fnc.fujitsu.com");        System.out.println(b);        if(a.equals(b))            System.out.println("equals");        else            System.out.println("does not equal");    }    public void writeTo(DataOutputStream outstream) throws IOException {        Util.writeString(logical_name, outstream);    }    public void readFrom(DataInputStream instream) throws IOException, IllegalAccessException, InstantiationException {        logical_name=Util.readString(instream);    }}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?