#set( $filename = "MethodRegistry.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 version: #foreach( $supportedVersion in $model.VersionSet ) * $supportedVersion.getMajor()-$supportedVersion.getMinor() #end */ package org.apache.qpid.framing; import java.io.IOException; import org.apache.qpid.framing.abstraction.ProtocolVersionMethodConverter; import org.apache.qpid.codec.MarkableDataInput; import java.util.Map; import java.util.HashMap; public abstract class MethodRegistry { private static final Map _registries = new HashMap(); #foreach( $supportedVersion in $model.VersionSet ) #set( $verName = "_$supportedVersion.getMajor()_$supportedVersion.getMinor()" ) #set( $regPackage = "org.apache.qpid.framing.amqp$verName" ) public static final MethodRegistry registry_$supportedVersion.getMajor()_$supportedVersion.getMinor() = new ${regPackage}.MethodRegistry${verName}(); #end public abstract AMQMethodBody convertToBody(MarkableDataInput in, long size) throws AMQFrameDecodingException, IOException; public abstract int getMaxClassId(); public abstract int getMaxMethodId(int classId); protected MethodRegistry(ProtocolVersion pv) { _registries.put(pv, this); } public static MethodRegistry getMethodRegistry(ProtocolVersion pv) { return _registries.get(pv); } #foreach( $amqpClass in $model.getClasses() ) #set( $amqpClassNameFirstChar = $amqpClass.getName().substring(0,1) ) #set( $amqpClassNameFirstCharU = $amqpClassNameFirstChar.toUpperCase() ) #set( $amqpClassNameUpperCamel = "$amqpClassNameFirstCharU$amqpClass.getName().substring(1)" ) #foreach( $amqpMethodVersions in $amqpClass.getMethods() ) #if( $amqpMethodVersions.isVersionInterfaceConsistent() ) #set( $amqpMethod = $amqpMethodVersions.asSingleVersionMethod($amqpMethodVersions.getVersionSet().first()) ) #set( $amqpMethodNameFirstChar = $amqpMethod.getName().substring(0,1) ) #set( $amqpMethodNameFirstCharU = $amqpMethodNameFirstChar.toUpperCase() ) #set( $amqpMethodNameUpperCamel = "$amqpMethodNameFirstCharU$amqpMethod.getName().substring(1)" ) public abstract ${amqpClassNameUpperCamel}${amqpMethodNameUpperCamel}Body create${amqpClassNameUpperCamel}${amqpMethodNameUpperCamel}Body( #foreach( $field in $amqpMethod.FieldList ) #if( $velocityCount == $amqpMethod.getFieldList().size() ) final $field.NativeType $field.Name #else final $field.NativeType $field.Name, #end #end ); #end #end #end public abstract ProtocolVersionMethodConverter getProtocolVersionMethodConverter(); }