blob: 42582fcb7c725cfc7214c9e83c89445cdb07d9b2 [file] [log] [blame]
&{${CLASS}${METHOD}Body.java}
/*
*
* Licensed to the Apache Software Foundation (ASF) under one
* or more contributor license agreements. See the NOTICE file
* distributed with this work for additional information
* regarding copyright ownership. The ASF licenses this file
* to you 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.
*
*/
/*
* This file is auto-generated by ${GENERATOR} - do not modify.
* Supported AMQP versions:
%{VLIST} * ${major}-${minor}
*/
package org.apache.qpid.framing;
import java.util.HashMap;
import org.apache.mina.common.ByteBuffer;
public class ${CLASS}${METHOD}Body extends AMQMethodBody implements EncodableAMQDataBlock
{
private static final AMQMethodBodyInstanceFactory factory = new AMQMethodBodyInstanceFactory()
{
public AMQMethodBody newInstance(byte major, byte minor, ByteBuffer in, long size) throws AMQFrameDecodingException
{
return new ${CLASS}${METHOD}Body(major, minor, in);
}
public AMQMethodBody newInstance(byte major, byte minor, int clazzID, int methodID, ByteBuffer in, long size) throws AMQFrameDecodingException
{
return new ${CLASS}${METHOD}Body(major, minor, clazzID, methodID, in);
}
};
public static AMQMethodBodyInstanceFactory getFactory()
{
return factory;
}
public static HashMap<Integer, Integer> classIdMap = new HashMap<Integer, Integer>();
public static HashMap<Integer, Integer> methodIdMap = new HashMap<Integer, Integer>();
private static void registerMethodId(byte major, byte minor, int methodId)
{
methodIdMap.put((0xff & (int) major) | ((0xff & (int) minor)<<8), methodId);
}
private static void registerClassId(byte major, byte minor, int classId)
{
classIdMap.put((0xff & (int) major) | ((0xff & (int) minor)<<8), classId);
}
static
{
${CLASS_ID_INIT}
${METHOD_ID_INIT}
}
// Fields declared in specification
%{FLIST} ${field_declaration}
private final int _clazz;
private final int _method;
// Constructor
public ${CLASS}${METHOD}Body(byte major, byte minor, ByteBuffer buffer) throws AMQFrameDecodingException
{
this(major, minor, getClazz(major,minor), getMethod(major,minor), buffer);
}
public ${CLASS}${METHOD}Body(byte major, byte minor, int clazzID, int methodID, ByteBuffer buffer) throws AMQFrameDecodingException
{
super(major, minor);
_clazz = clazzID;
_method = methodID;
%{FLIST} ${mb_field_decode}
}
public ${CLASS}${METHOD}Body(byte major, byte minor, int clazzID, int methodID
%{FLIST} ${mb_field_parameter_list}
)
{
super(major, minor);
_clazz = getClazz(major,minor);
_method = getMethod(major,minor);
%{FLIST} ${mb_field_body_initialize}
}
public int getClazz()
{
return _clazz;
}
public int getMethod()
{
return _method;
}
public static int getClazz(byte major, byte minor)
{
return classIdMap.get((0xff & (int) major) | ((0xff & (int) minor)<<8));
}
public static int getMethod(byte major, byte minor)
{
return methodIdMap.get((0xff & (int) major) | ((0xff & (int) minor)<<8));
}
// Field methods
%{FLIST} ${mb_field_get_method}
public int getBodySize()
{
int size = 0;
%{FLIST} ${mb_field_size}
return size;
}
protected void writeMethodPayload(ByteBuffer buffer)
{
%{FLIST} ${mb_field_encode}
}
public void populateMethodBodyFromBuffer(ByteBuffer buffer) throws AMQFrameDecodingException
{
%{FLIST} ${mb_field_decode}
}
public String toString()
{
StringBuffer buf = new StringBuffer(super.toString());
%{FLIST} ${mb_field_to_string}
return buf.toString();
}
public static ${CLASS}${METHOD}Body createMethodBody(byte major, byte minor
%{FLIST} ${mb_field_parameter_list}
)
{
return createMethodBody(major, minor, getClazz(major, minor), getMethod(major, minor)
%{FLIST} ${mb_field_passed_parameter_list}
);
}
public static ${CLASS}${METHOD}Body createMethodBody(byte major, byte minor, int clazzID, int methodID
%{FLIST} ${mb_field_parameter_list}
)
{
return new ${CLASS}${METHOD}Body(major, minor, clazzID, methodID
%{FLIST} ${mb_field_passed_parameter_list}
);
}
public ${CLASS}${METHOD}Body copy()
{
return new ${CLASS}${METHOD}Body(major, minor, getClazz(major, minor), getMethod(major, minor)
%{FLIST} ${mb_field_passed_parameter_list}
);
}
}