1
2
3
4
5
6
7 package org.asyrinx.joey.gen.command.rdb2java.standard;
8
9 import java.util.Iterator;
10
11 import org.apache.commons.lang.StringUtils;
12 import org.asyrinx.joey.gen.command.rdb.CopyPackageNames;
13 import org.asyrinx.joey.gen.model.Element;
14 import org.asyrinx.joey.gen.model.java.Entity;
15 import org.asyrinx.joey.gen.model.java.JavaEnumeration;
16 import org.asyrinx.joey.gen.model.java.PackageType;
17 import org.asyrinx.joey.gen.model.rdb.RdbEnumeration;
18 import org.asyrinx.joey.gen.model.rdb.Table;
19
20 /***
21 * @author takeshi
22 */
23 public class BasicPackaging implements PackagingStrategy {
24
25 /***
26 *
27 */
28 public BasicPackaging() {
29 super();
30 }
31
32 private CopyPackageNames copyPackageNames = new CopyPackageNames();
33
34
35
36
37
38
39 public String toPackageName(RdbEnumeration enum) {
40 return copyPackageNames.toPackageName(enum);
41 }
42
43
44
45
46
47
48 public String getPackageName(Element element) {
49 return copyPackageNames.getPackage(element.getOptions());
50 }
51
52
53
54
55
56
57 public String toPackageName(Table table) {
58 return copyPackageNames.toPackageName(table);
59 }
60
61 public static final String PACKAGE_TEMPLATE_SYMBOL = "${packageType}";
62
63
64
65
66
67
68 public void preparePackageNames(Entity entity) {
69 final String template = entity.getPackageTemplate();
70 for (Iterator i = PackageType.getElements().iterator(); i.hasNext();) {
71 fiPackageType packageType = (PackageType) i/next()/package-summary.html">nal PackageType packageType = (PackageType) i.next();
72 entity.setPackage(packageType.getName(), genPackageName(template, packageType));
73 }
74 }
75
76 /***
77 * @param template
78 * @param packageType
79 * @return
80 */
81 private String genPackageName(final String template, final PackageType packageType) {/package-summary.html">ong> String genPackageName(final String template, final PackageType packageType) {
82 final</strong> String packageName = StringUtils.replace(template, PACKAGE_TEMPLATE_SYMBOL, packageType.getName());
83 return</strong> packageName;
84 }
85
86
87
88
89
90
91 public void preparePackageName(JavaEnumeration enum) {
92 enum.setPackageName(genPackageName(enum.getPackageName(), PackageType.ENTITY));
93 }
94
95 }