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

java.DomainObject.xpt Maven / Gradle / Ivy

There is a newer version: 1.24.1
Show newest version
«EXTENSION java::Naming»
«EXTENSION java::ObjectMapper»
«EXTENSION java::GeneratorCommons»
«EXTENSION entity::ModelProperties»

«IMPORT JMM»

////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
//
// Generate domain object for business object 
//
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
«DEFINE DomainClass FOR DomainObject»
	«IF generateDomainObjects() == true»
	«IF this.ownedOperation.size == 0 && this.hasCustomImplementation == false»
	«FILE packagePath() + "/" + name +".java" src_gen»
	«getFileHeader()»
	package «this.packageName()»;
  
	import com.anaptecs.jeaf.xfun.api.XFunMessages;
	import com.anaptecs.jeaf.xfun.api.XFun;
	   
	«EXPAND functions::Javadoc::JavadocForType»
	«EXPAND java::Helper::GenerateGeneratedAnnotation»
	«EXPAND java::Helper::GenerateSuppressWarningsAnnotation»
	«EXPAND java::Helper::GenerateDeprecationAnnotation-»
	public «IF isAbstract»abstract«ENDIF» class «name» extends «IF !superClass.isEmpty»«superClass.get(0).fqn()»«ELSE»com.anaptecs.jeaf.core.api.DomainObject«ENDIF»«IF needsToImplementIdentifiable()==true» implements com.anaptecs.jeaf.xfun.api.common.Identifiable<«this.getObjectIDClassName()»>«ENDIF» {
		/**
		 * Default serial version uid.
		 */
		private static final long serialVersionUID = 1L;
    
		«REM»Generate constants for all real attributes«ENDREM»
		«EXPAND java::Helper::GenerateConstantsForAttributeNames FOR ((uml::Class) this)»
  
		«IF needsToImplementIdentifiable() == true»
		«EXPAND java::Identifiable::GenerateIdentifiableDeclaration (this.getObjectIDClassName())»
		«ENDIF»
		
    «EXPAND Attribute::PropertyDeclaration FOREACH ownedAttribute»

      /**
       * Initialize object. Nothing special to do.
       */
      public «name»() {
		  «IF needsToImplementIdentifiable() == true»
			  objectID = null;
		  «ENDIF»
		  «EXPAND DomainObjectConstructorInits»
      }
      
      /**
       * Initialize object. Therefore its domain object id has to be passed.
       * 
       * @param pDomainObjectID Id of this domain object. The parameter must not be null.
       */
      public «name»(com.anaptecs.jeaf.core.api.DomainObjectID pDomainObjectID) {
        super(pDomainObjectID);
		  «IF needsToImplementIdentifiable() == true»
			  objectID = null;
		  «ENDIF»
		  «EXPAND DomainObjectConstructorInits»
      }
      
		«IF needsToImplementIdentifiable() == true»
		«EXPAND java::Identifiable::GenerateIdentifiableGetters (this.getObjectIDClassName())»
		«ENDIF»

    «EXPAND Attribute::PropertyAccessors FOREACH ownedAttribute»
    «EXPAND java::Helper::GenerateToStringMethod»
  }
  «ENDFILE»
  «ELSE»
      «FILE packagePath() + "/" + name +"Base.java" src_gen»
      «getFileHeader()»
      package «this.packageName()»;
      
      import com.anaptecs.jeaf.xfun.api.XFunMessages;
      import com.anaptecs.jeaf.xfun.api.XFun;        
      
      «EXPAND functions::Javadoc::JavadocForType»
	  «EXPAND java::Helper::GenerateGeneratedAnnotation»
	  «EXPAND java::Helper::GenerateSuppressWarningsAnnotation»
      «EXPAND java::Helper::GenerateDeprecationAnnotation-»
      public abstract class «name»Base extends «IF !superClass.isEmpty»«superClass.get(0).fqn()»«ELSE»com.anaptecs.jeaf.core.api.DomainObject«ENDIF»«IF needsToImplementIdentifiable()==true» implements com.anaptecs.jeaf.xfun.api.common.Identifiable<«this.getObjectIDClassName()»>«ENDIF» {
        /**
         * Default serial version uid.
         */
        private static final long serialVersionUID = 1L;
        
          «REM»Generate constants for all attributes«ENDREM»
          «FOREACH this.ownedAttribute AS attr»
          «IF attr.isMultivalued() == false»          
          /**
           * Constant for the name of attribute "«attr.name»".
           */
          public static final String «attr.asInstanceVar().toUpperCase()» = "«attr.asInstanceVar()»";
          «ENDIF»«ENDFOREACH»
          
		«IF needsToImplementIdentifiable() == true»
		«EXPAND java::Identifiable::GenerateIdentifiableDeclaration (this.getObjectIDClassName())»
		«ENDIF»
		
        «EXPAND Attribute::PropertyDeclaration FOREACH ownedAttribute»

          /**
           * Initialize object. Nothing special to do.
           */
          public «name»Base() {
			  «IF needsToImplementIdentifiable() == true»
				  objectID = null;
			  «ENDIF»
			  «EXPAND DomainObjectConstructorInits»
          }
          
          /**
           * Initialize object. Therefore its domain object id has to be passed.
           * 
           * @param pDomainObjectID Id of this domain object. The parameter must not be null.
           */
          public «name»Base(com.anaptecs.jeaf.core.api.DomainObjectID pDomainObjectID) {
            super(pDomainObjectID);
			  «IF needsToImplementIdentifiable() == true»
				  objectID = null;
			  «ENDIF»
			  «EXPAND DomainObjectConstructorInits»
          }
      
		«IF needsToImplementIdentifiable() == true»
		«EXPAND java::Identifiable::GenerateIdentifiableGetters (this.getObjectIDClassName())»
		«ENDIF»

        «EXPAND Attribute::PropertyAccessors FOREACH ownedAttribute»
        «EXPAND jeaf::JEAFOperation::PersistentObjectOperation FOREACH ownedOperation»
        «EXPAND java::Helper::GenerateToStringMethod»
      }
      «ENDFILE»

      «FILE packagePath() + "/" + name +".java" src»
      «getFileHeader()»
      package «this.packageName()»;
      
      «EXPAND functions::Javadoc::JavadocForType»
      «EXPAND java::Helper::GenerateDeprecationAnnotation-»
      public «IF isAbstract»abstract«ENDIF» class «name» extends «name»Base {
        /**
         * Default serial version uid.
         */
        private static final long serialVersionUID = 1L;
        
          /**
           * Initialize object. Nothing special to do.
           */
          public «name»() {
            // Nothing to do.
          }
          
          /**
           * Initialize object. Therefore its domain object id has to be passed.
           * 
           * @param pDomainObjectID Id of this domain object. The parameter must not be null.
           */
          public «name»(com.anaptecs.jeaf.core.api.DomainObjectID pDomainObjectID) {
            super(pDomainObjectID);
          }
      
        «EXPAND jeaf::JEAFOperation::PersistentObjectOperationImpl FOREACH ownedOperation»
      }
      «ENDFILE»
  «ENDIF»
«ENDIF»

	«REM»Generate Object Mappers for POJO«ENDREM»
	«EXPAND java::ObjectMapper::GenerateObjectMappers»
«ENDDEFINE»

«DEFINE DomainObjectConstructorInits FOR DomainObject»
	«FOREACH this.ownedAttribute AS attr»
		«IF attr.isReadOnly == true && attr.isStatic == false»
			«IF attr.type.isPrimitiveType() == true»
				«IF attr.isMultivalued() == false»
					«IF attr.isRealInitValue()»
						«attr.name» = «attr.initValue()»;
					«ELSE»
						«attr.name» = «attr.getPrimitiveDefaultValue()»;
					«ENDIF»
				«ELSE»
					«attr.name» = null;
				«ENDIF»
			«ELSE»
				«IF attr.isMultivalued()»
					«REM»Distiguish between arrays and collections.«ENDREM»
					«IF attr.association == null»
						«attr.name» = null;
					«ELSE»
						«attr.name» = new «attr.getCollectionImplType()»<«attr.type.fqn()»>();
					«ENDIF»
				«ELSE»
					«attr.name» = null;
				«ENDIF»
			«ENDIF»
		«ELSE»
			«IF attr.isMultivalued() && attr.association != null»
				«REM»Only in case of collections we have to initilize them.«ENDREM»
				«attr.name» = new «attr.getCollectionImplType()»<«attr.type.fqn()»>();
			«ELSE»
				«IF attr.isRealInitValue() && attr.isStatic == false »
					«attr.name» = «IF attr.isJEAFEnumerationProperty()»«attr.type.name».«ENDIF»«attr.initValue()»;
				«ENDIF»
			«ENDIF»
		«ENDIF»
	«ENDFOREACH»
«ENDDEFINE»




© 2015 - 2024 Weber Informatics LLC | Privacy Policy