## 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.

/**
 * Please modify this class to meet your needs
 * This class is not complete
 */

package $intf.PackageName;

/**
 * This cla  ss was generated by the CXF $version
 * $currentdate
 * Generated source version: $version
 * 
 */
                      
public class ${intf.Name}Impl implements $intf.Name {
#foreach ($method in $intf.Methods)
  public $method.return.ClassName ${method.Name}(#if($method.ParameterList.size() == 0))#end#if($method.ParameterList.size() != 0)#foreach ($param in ${method.ParameterList})$param#end)#end#if($method.Exceptions.size() > 0) throws#foreach($exception in $method.Exceptions) $exception.ClassName#if($method.Exceptions.size() != $velocityCount),#end#end#end {  
#foreach ($parameter in $method.Parameters)
#if ($parameter.Style.toString() == "IN")
    System.out.println($parameter.Name);#end#end
    #foreach ($parameter in $method.Parameter)
      #if ($parameter.Style.toString() == "OUT")
         #set($paramValueName = "${parameter.Name}Value")
            ${parameter.writeDefaultValue(${out}, "            ", ${method.Name}, ${paramValueName})}
            ${parameter.Name}.value = ${paramValueName};
      #end        
    #end

    #if ($method.return.ClassName != "void")try {
            ${method.return.writeDefaultValue(${out}, "            ", ${method.Name}, "_return")}
            return _return;
    } catch (Exception ex) {
            ex.printStackTrace();
            throw new RuntimeException(ex);
    }
 #end

#if ($method.Exceptions.size() > 0) 
#foreach($exception in $method.Exceptions)
     //throw new ${exception.ClassName}("${exception.Name}...");
#end
#end
 }

#end
}