View Javadoc

1   /*******************************************************************************
2    * Copyright (c) 2009 Ordina and committers to Mod4j
3    * All rights reserved. This program and the accompanying materials
4    * are made available under the terms of the Eclipse Public License v1.0
5    * which accompanies this distribution, and is available at
6    * http://www.eclipse.org/legal/epl-v10.html
7    *
8    * Contributors:
9    *     Ordina - initial implementation
10   *******************************************************************************/
11  package org.mod4j.dsl.datacontract.generator.helpers;
12  
13  import java.util.ArrayList;
14  import java.util.List;
15  
16  import org.mod4j.dsl.datacontract.mm.DataContractDsl.BusinessClassDto;
17  import org.mod4j.dsl.datacontract.mm.DataContractDsl.Dto;
18  import org.mod4j.dsl.datacontract.mm.DataContractDsl.DtoBooleanProperty;
19  import org.mod4j.dsl.datacontract.mm.DataContractDsl.DtoDateTimeProperty;
20  import org.mod4j.dsl.datacontract.mm.DataContractDsl.DtoDecimalProperty;
21  import org.mod4j.dsl.datacontract.mm.DataContractDsl.DtoEnumerationProperty;
22  import org.mod4j.dsl.datacontract.mm.DataContractDsl.DtoIntegerProperty;
23  import org.mod4j.dsl.datacontract.mm.DataContractDsl.DtoProperty;
24  import org.mod4j.dsl.datacontract.mm.DataContractDsl.DtoStringProperty;
25  import org.mod4j.dsl.datacontract.mm.DataContractDsl.EnumerationDto;
26  import org.mod4j.dslcommon.generator.helpers.ModelHelpers;
27  
28  public class DtoHelpers {
29  
30      public static String getBaseDtoName (Dto dto){
31              return ModelHelpers.javaClassName( ((BusinessClassDto)dto).getName());
32      }
33  
34      public static String getBaseDtoBusinessClassName (Dto dto){
35              return ModelHelpers.javaClassName( ((BusinessClassDto)dto).getBase().getName());
36      }
37  
38      public static String javaType(DtoProperty p) {
39          if (p instanceof DtoBooleanProperty) {
40              return javaType((DtoBooleanProperty) p);
41          } else if (p instanceof DtoStringProperty) {
42              return javaType((DtoStringProperty) p);
43          } else if (p instanceof DtoIntegerProperty) {
44              return javaType((DtoIntegerProperty) p);
45          } else if (p instanceof DtoDecimalProperty) {
46              return javaType((DtoDecimalProperty) p);
47          } else if (p instanceof DtoEnumerationProperty) {
48              return javaType((DtoEnumerationProperty) p);
49          } else if (p instanceof DtoDateTimeProperty) {
50              return javaType((DtoDateTimeProperty) p);
51          }
52          return "Object";
53      }
54  
55      public static String javaType(DtoBooleanProperty p) {
56          // return p.isNullable() ? "Boolean" : "boolean";
57          return "Boolean";
58      }
59  
60      public static String javaType(DtoDateTimeProperty p) {
61          return "DateTime";
62      }
63  
64      public static String javaType(DtoEnumerationProperty p) {
65          EnumerationDto e = p.getType();
66          if (e == null) {
67              System.err.println("ERROR in javaType() for EnumerationProperty");
68              return "Object";
69          }
70          return ModelHelpers.javaClassName(p.getType().getName());
71      }
72  
73      public static String javaType(DtoStringProperty p) {
74          return "String";
75      }
76  
77      public static String javaType(DtoIntegerProperty p) {
78          // return p.isNullable() ? "Integer" : "int";
79          return "Integer";
80      }
81  
82      public static String javaType(DtoDecimalProperty p) {
83          // return p.isNullable() ? "Float" : "float";
84          return "Float";
85      }
86  
87      public static List<DtoProperty> getAllProperties(BusinessClassDto cls) {
88          List<DtoProperty> result = new ArrayList<DtoProperty>();
89          result.addAll(cls.getProperties());
90          return result;
91      }
92      
93      public static String javaTranslatorName(String clsName){
94          return ModelHelpers.javaClassName(clsName) + "Translator";
95      }
96      
97  }