<%@ jet package="compiledtemplates" 
imports="java.util.* util.EcoreGenerationHelper org.eclipse.emf.ecore.* org.eclipse.emf.codegen.util.*"
class="CommandImpl" %>
<%
%>
<%EOperation eOperation = (EOperation) argument;
EClass eClass = eOperation.getEContainingClass();
EPackage ePackage = eClass.getEPackage();

EcoreGenerationHelper h = new EcoreGenerationHelper();

String baseName = h.capName(eOperation.getName());
String productType = "Access";

String apiPackageName = h.getQualifiedName(ePackage.getESuperPackage()) + ".accessapi";
String implPackageName = h.getQualifiedName(ePackage.getESuperPackage()) + ".accessimpl";
String fwImplPackageName = h.getQualifiedName(ePackage.getESuperPackage().getESuperPackage()) + ".framework.accessimpl";
h.makeImportManager(implPackageName);
%>
<%@ include file="Header.jetinc"%>
package <%=implPackageName%>;

<%
StringBuffer importStringBuffer = stringBuffer;
int importInsertionPoint = stringBuffer.length();
h.getImportManager().addCompilationUnitImports(stringBuffer.toString());
h.addImport(apiPackageName + "." + baseName + productType);
h.addImport(fwImplPackageName + ".AccessBase");
h.addImport("org.hibernate.HibernateException");
%>

/**
* <p>
* Implementation of <%=productType%> command for <%=baseName%>.
* </p>
* <p>
* Command design pattern.
* </p>
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
*
* @generated
*/
public class <%=baseName%><%=productType%>Impl extends <%=productType%>Base implements <%=baseName%><%=productType%> {

<%for (EParameter parameter : h.getParameters(eOperation)) {%>
/** @generated */
private <%=h.getTypeName(parameter)%> <%=h.getName(parameter)%>;
<%}%>

<%if (!h.getTypeName(eOperation).equals("void")) { %>
/** @generated */
private <%=h.getTypeName(eOperation)%> result;
<%}%>

<%for (EParameter parameter : h.getParameters(eOperation)) {%>
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public <%=h.getTypeName(parameter)%> get<%=h.capName(h.getName(parameter))%>() {
return this.<%=h.getName(parameter)%>;
}

/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public void set<%=h.capName(h.getName(parameter))%>(<%=h.getTypeName(parameter)%> a<%=h.capName(h.getName(parameter))%>) {
this.<%=h.getName(parameter)%> = a<%=h.capName(h.getName(parameter))%>;
}
<%}%>

<%if (!h.getTypeName(eOperation).equals("void")) { %>
/**
* The result of the command.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public <%=h.getTypeName(eOperation)%> getResult() {
return this.result;
}
<%}%>

/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public void performExecute() throws HibernateException {
// TODO Auto-generated method stub
}

}
<%importStringBuffer.insert(importInsertionPoint, h.getImportManager().computeSortedImports());%>