protocoldata.java
来自「JGRoups源码」· Java 代码 · 共 125 行
JAVA
125 行
package org.jgroups.conf;/** * Data holder for protocol * @author Filip Hanik (<a href="mailto:filip@filip.net">filip@filip.net) * @version $Id: ProtocolData.java,v 1.7 2006/08/15 05:50:06 belaban Exp $ */import java.util.HashMap;import java.util.Iterator;public class ProtocolData { /** Map<String,ProtocolParameter> of property keys and values */ private final HashMap mParameters=new HashMap(); private final String mProtocolName; private final String mDescription; private final String mClassName; private boolean mIsOverRide=false; public ProtocolData(String protocolName, String description, String className, ProtocolParameter[] params) { mProtocolName=protocolName; mDescription=description; mClassName=className; if(params != null) { for(int i=0; i < params.length; i++) { mParameters.put(params[i].getName(), params[i]); } } } public ProtocolData(String overRideName, ProtocolParameter[] params) { this(overRideName, null, null, params); mIsOverRide=true; } public String getClassName() { return mClassName; } public String getProtocolName() { return mProtocolName; } public String getDescription() { return mDescription; } public HashMap getParameters() { return mParameters; } public boolean isOverride() { return mIsOverRide; } public ProtocolParameter[] getParametersAsArray() { ProtocolParameter[] result=new ProtocolParameter[mParameters.size()]; Iterator it=mParameters.keySet().iterator(); for(int i=0; i < result.length; i++) { String key=(String)it.next(); result[i]=(ProtocolParameter)mParameters.get(key); } return result; } public void override(ProtocolParameter[] params) { for(int i=0; i < params.length; i++) mParameters.put(params[i].getName(), params[i]); } public String getProtocolString(boolean new_format) { return new_format? getProtocolStringNewXml() : getProtocolString(); } public String getProtocolString() { StringBuffer buf=new StringBuffer(mClassName); if(mParameters.size() > 0) { buf.append('('); Iterator i=mParameters.keySet().iterator(); while(i.hasNext()) { String key=(String)i.next(); ProtocolParameter param=(ProtocolParameter)mParameters.get(key); buf.append(param.getParameterString()); if(i.hasNext()) buf.append(';'); }//while buf.append(')'); } return buf.toString(); } public String getProtocolStringNewXml() { StringBuffer buf=new StringBuffer(mClassName + ' '); if(mParameters.size() > 0) { Iterator i=mParameters.keySet().iterator(); while(i.hasNext()) { String key=(String)i.next(); ProtocolParameter param=(ProtocolParameter)mParameters.get(key); buf.append(param.getParameterStringXml()); if(i.hasNext()) buf.append(' '); } } return buf.toString(); } public int hashCode() { return mProtocolName.hashCode(); } public boolean equals(Object another) { if(another instanceof ProtocolData) return getProtocolName().equals(((ProtocolData)another).getProtocolName()); else return false; }}
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?