Exemple #1
0
	public final void ReadFromBytes(byte[] bytes) {

		MyBuffer buff = new MyBuffer(bytes);

		setParametersCount(buff.get());
		setParameters(new java.util.ArrayList<ParameterItem>(
				getParametersCount()));
		int pos = 1;
		while (buff.hasRemain()) {
			ParameterItem item = new ParameterItem();
			item.setParameterId(buff.getLong());
			pos += 4;
			item.setParameterLength(buff.get());
			pos += 1;
			String fieldType = GetFieldType((int) item.getParameterId());
			// C# TO JAVA CONVERTER NOTE: The following 'switch' operated on a
			// string member and was converted to Java 'if-else' logic:
			// switch (fieldType)
			// ORIGINAL LINE: case "BYTE":
			if (fieldType.equals("BYTE")) // 参数值为byte类型
			{
				item.setParameterValue(buff.get());
			}
			// ORIGINAL LINE: case "WORD":
			else if (fieldType.equals("WORD")) // 参数值为ushort类型
			{
				item.setParameterValue(buff.getShort());
			}
			// ORIGINAL LINE: case "DWORD":
			else if (fieldType.equals("DWORD")) // 参数值为uint类型
			{
				item.setParameterValue(buff.getLong());
			} else {
				byte[] strBytes = buff.gets(item.getParameterLength());
				String strValue = BitConverter.getString(strBytes, 0,
						strBytes.length);
				item.setParameterValue(strValue);
			}
			getParameters().add(item);
			pos += item.getParameterLength();
		}

	}