All Downloads are FREE. Search and download functionalities are using the official Maven repository.

jeaf.JEAFOperation.xpt Maven / Gradle / Ivy

There is a newer version: 1.24.1
Show newest version
«EXTENSION java::Naming»
«EXTENSION java::GeneratorCommons»
«EXTENSION entity::ModelProperties»
«EXTENSION functions::DefaultOperation»
«IMPORT uml»
«IMPORT JMM»
«IMPORT java»
«IMPORT entity»

//Operations for JEAF services are created here
//Operation is a stereotype which caries the Exception information


//interface methods are returned
«DEFINE InterfaceOperation FOR Operation»
    «EXPAND functions::Javadoc::JavadocForOperation»
    «EXPAND java::Helper::GenerateDeprecationAnnotation-»
    «EXPAND java::Helper::GenerateDeprecationAnnotation FOR this.getReturnResult() -»    
    «EXPAND Validation::ValidationAnnotation FOR this.getReturnResult()»
	«getReturnTypeName()»  «name» («EXPAND ParameterSignature(true)»)«getThrownExceptionsAsString()»;
«ENDDEFINE»

«DEFINE ServiceInterfaceOperation FOR Operation»
    «EXPAND functions::Javadoc::JavadocForOperation»
    «EXPAND java::Helper::GenerateDeprecationAnnotation-»
    «EXPAND java::Helper::GenerateDeprecationAnnotation FOR this.getReturnResult() -»    
    «EXPAND Validation::ValidationAnnotation FOR this.getReturnResult()»
    «IF this.isDefaultOperation()»default «ENDIF»«getReturnTypeName()»  «name» («EXPAND ParameterSignature(true)»)«getThrownExceptionsAsString()»
    «IF this.isDefaultOperation()»
        «LET this.asDefaultOperation().operationType AS operationType»
	        {
	        «IF operationType.name == "THROW_NOT_YET_IMPLMENTED_EXCEPTION"»
	           throw new NotYetImplementedException("«this.name»('...') is not yet implemented.");
	        «ELSEIF operationType.name == "DO_NOTHING"»
	           «IF getReturnTypeName() != "void"»
	               «IF getReturnType().type.isBooleanType()»
	                   return true;
	               «ELSEIF getReturnType().type.isPrimitiveType()»
	                   return 0;
	               «ELSEIF getReturnType().type.isBasicType()»
	                   return «getReturnType().type.fqn()».valueOf(0);
	               «ELSE»
	                   return null;
	               «ENDIF»
	           «ELSE»
	               // Nothing to do.
	           «ENDIF»
	        «ELSEIF operationType.name == "CUSTOM_GENERATOR_TEMPLATE"»
               «EXPAND jeafgenerator::api::ServiceInterfaceHook::ProvideDefaultImplementation»
	        «ELSE»
	           «IF getReturnTypeName() != "void"»
	               «IF getReturnType().type.isPrimitiveType() || getReturnType().type.isBasicType()»
	                   «IF getReturnType().hasDefaultValueForBasicType()»
	                       «IF getReturnType().type.isBasicType()»
	                           return «getReturnType().type.fqn()».valueOf(«getReturnType().getDefaultValueForBasicType()»);
	                       «ELSE»
                               return «getReturnType().getDefaultValueForBasicType()»;
                           «ENDIF»
                       «ELSE»
                           «IF getReturnType().type.isBooleanType()»
                           return true;
                           «ELSEIF getReturnType().type.isPrimitiveType()»
                           return 0;
                           «ELSE»
                           return «getReturnType().type.fqn()».valueOf(0);
                           «ENDIF»
                       «ENDIF»
                   «ELSEIF getReturnType().type.isEnumeration()»
                       return «getReturnType().type.fqn()».«getReturnType().getDefaultValueForEnum()»;
                   «ELSE»
                       return null;
                   «ENDIF»
	           «ENDIF»
	        «ENDIF» 
	        }
        «ENDLET»
    «ELSE»
        ;
    «ENDIF»
«ENDDEFINE»

//interfaceImpl methods are returned
«DEFINE PersistentObjectOperationImpl FOR Operation»
    «EXPAND functions::Javadoc::JavadocForOperation»
    «EXPAND java::Helper::GenerateDeprecationAnnotation-»
    «EXPAND java::Helper::GenerateDeprecationAnnotation FOR this.getReturnResult()»
    @Override
	«visibility» «getReturnTypeName()» «name» («EXPAND ParameterSignature(true)»)«getThrownExceptionsAsString()» {
	    // TODO: Implement business logic for method.
		«IF getReturnTypeName() != "void"»
			«IF getReturnTypeName() != "boolean"»
				«IF this.returnsPrimitiveType()»
				return 0;
				«ELSE»
				return null; 
				«ENDIF»
			«ELSE»
				return false;
			«ENDIF»
		«ENDIF»
	}
«ENDDEFINE»

«DEFINE ServiceOperationImpl FOR Operation»
    «EXPAND functions::Javadoc::JavadocForOperation»
    «EXPAND java::Helper::GenerateDeprecationAnnotation-»
    «EXPAND java::Helper::GenerateDeprecationAnnotation FOR this.getReturnResult() -»
    @Override
	«visibility» «getReturnTypeName()» «name» («EXPAND ParameterSignatureNoValidationAnnotation»)«getThrownExceptionsAsString()» {
		«IF getReturnTypeName() != "void"»
			// TODO Implement method and return real result
			«IF returnsPrimitiveType()»
				«IF getReturnTypeName() != "boolean"» return 0; «ELSE» return false;«ENDIF»
			«ELSE»
			return null;
			«ENDIF»
		«ENDIF»
	}
«ENDDEFINE»

//abstract methods are returned
«DEFINE PersistentObjectOperation FOR Operation»
    «EXPAND functions::Javadoc::JavadocForOperation»
    «EXPAND java::Helper::GenerateDeprecationAnnotation-»
    «EXPAND java::Helper::GenerateDeprecationAnnotation FOR this.getReturnResult() -»
    «EXPAND Validation::ValidationAnnotation FOR this.getReturnResult()»
	«visibility» abstract «getReturnTypeName()»  «name» («EXPAND ParameterSignature(true)»)«getThrownExceptionsAsString()»;
«ENDDEFINE»

«DEFINE ParameterSignature(boolean addValidation) FOR Operation»
  «EXPAND ParameterDefinition(addValidation) FOREACH ownedParameter.select(e| e.isInputParameter() && e.isParameterSuppressed() == false) SEPARATOR ", "» 
«ENDDEFINE»

«DEFINE ParameterDefinition(boolean addValidation) FOR Parameter»
  «EXPAND java::Helper::GenerateDeprecationAnnotation-»
  «IF addValidation»«EXPAND Validation::ValidationAnnotation» «ENDIF» «this.getTypeName()» «this.name»
«ENDDEFINE»

«DEFINE ParameterSignatureNoValidationAnnotation FOR Operation»
  «EXPAND ParameterDefinitionNoValidationAnnotation FOREACH ownedParameter.select(e| e.isInputParameter() && e.isParameterSuppressed() == false) SEPARATOR ", "» 
«ENDDEFINE»

«DEFINE ParameterDefinitionNoValidationAnnotation FOR Parameter»
  «EXPAND java::Helper::GenerateDeprecationAnnotation-»
  «this.getTypeName()» «this.name»
«ENDDEFINE»




© 2015 - 2024 Weber Informatics LLC | Privacy Policy