OSDN Git Service

i
[luz/luz.git] / lacoder / src / com / lavans / lacoder / model / Package.java
1 /* $Id: Package.java 421 2011-07-29 09:55:09Z dobashi $\r
2  * create: 2004/12/28\r
3  * (c)2004 Lavans Networks Inc. All Rights Reserved.\r
4  */\r
5 package com.lavans.lacoder.model;\r
6 \r
7 import java.util.ArrayList;\r
8 import java.util.List;\r
9 \r
10 /**\r
11  * @author dobashi\r
12  * @version 1.00\r
13  */\r
14 public class Package {\r
15         private static final String PRESENTATION  = "presentation";\r
16         private static final String DOMAIN  = "domain";\r
17         private static final String SERVICE = "service";\r
18         private static List<Package> allList = new ArrayList<Package>();\r
19         public static boolean addPackage(Package p) {\r
20                 return allList.add(p);\r
21         }\r
22         public static List<Package> getAllList(){\r
23                 return allList;\r
24         }\r
25         public static Package getPackage(String name){\r
26                 Package result = null;\r
27                 for(int i=0; i<allList.size(); i++){\r
28                         Package pkg = allList.get(i);\r
29                         if(pkg.getName().equals(name)){\r
30                                 result=pkg;\r
31                                 break;\r
32                         }\r
33                 }\r
34                 return result;\r
35         }\r
36 \r
37         private String fqdn = null;\r
38         private String project = null;\r
39         private String subname=null;\r
40 \r
41         private List<Entity> entityList = new ArrayList<Entity>();\r
42         private List<EnumClass> enumList= new ArrayList<EnumClass>();\r
43         private List<Service> serviceList= new ArrayList<Service>();\r
44 \r
45         public Entity getEntity(String name){\r
46                 Entity result = null;\r
47                 for(int i=0; i<entityList.size(); i++){\r
48                         Entity table = entityList.get(i);\r
49                         if(table.getName().equals(name)){\r
50                                 result=table;\r
51                                 break;\r
52                         }\r
53                 }\r
54                 return result;\r
55         }\r
56         public EnumClass getEnum(String name){\r
57                 EnumClass result = null;\r
58                 for(int i=0; i<enumList.size(); i++){\r
59                         EnumClass enums = enumList.get(i);\r
60                         if(enums.getName().equals(name)){\r
61                                 result=enums;\r
62                                 break;\r
63                         }\r
64                 }\r
65                 return result;\r
66         }\r
67         public Service getService(String name){\r
68                 Service result = null;\r
69                 for(int i=0; i<serviceList.size(); i++){\r
70                         Service service = serviceList.get(i);\r
71                         if(service.getName().equals(name)){\r
72                                 result=service;\r
73                                 break;\r
74                         }\r
75                 }\r
76                 return result;\r
77         }\r
78 \r
79         /**\r
80          *\r
81          * @return fullname(domain.project.package) を戻します。\r
82          * パッケージを特定するためのキーとしてのみ利用します。\r
83          * lacoderが生成するクラスではこの組み合わせ(projectの次にsubname)のjavaパッケージは存在しません。\r
84          *\r
85          */\r
86         public String getName() {\r
87                 return fqdn+"."+project+"."+subname;\r
88         }\r
89         /**\r
90          * @return fullname(domain.project.package) を戻します。\r
91          */\r
92         public String getDomainPath() {\r
93                 return fqdn+"."+project+"."+DOMAIN ;\r
94         }\r
95 \r
96         public String getDomainSubPackagePath() {\r
97                 return fqdn+"."+project+"."+DOMAIN +"."+ subname;\r
98         }\r
99         public String getServiceSubPackagePath() {\r
100                 return fqdn+"."+project+"."+SERVICE +"."+ subname;\r
101         }\r
102         public String getPresentationPath() {\r
103                 return fqdn+"."+project+"."+PRESENTATION;\r
104         }\r
105         /**\r
106          * Actionのpathを取得します。Actionはroleの下にあるので引数でroleをとります。\r
107          * @return\r
108          */\r
109         public String getActionPath(String role) {\r
110                 return getPresentationPath()+"."+ role +"."+ subname +".action";\r
111         }\r
112         /**\r
113          * jspのpathを取得します。Actionはroleの下にあるので引数でroleをとります。\r
114          * @return\r
115          */\r
116         public String getJspPath(String role) {\r
117                 return getPresentationPath()+"."+ role +"."+ subname +".jsp";\r
118         }\r
119 \r
120         /**\r
121          * @return package名のみを戻します。\r
122          */\r
123         public String getSubPackageName() {\r
124                 return subname;\r
125         }\r
126 \r
127         /**\r
128          * @param name name を設定。\r
129          */\r
130         public void setName(String fqdn, String project, String name) {\r
131                 this.subname = name;\r
132                 this.fqdn = fqdn;\r
133                 this.project = project;\r
134         }\r
135         /**\r
136          * @param arg0\r
137          * @return\r
138          */\r
139         public boolean addEntity(Entity entity) {\r
140                 entity.setParentPackage(this);\r
141                 return entityList.add(entity);\r
142         }\r
143         /**\r
144          * @param arg0\r
145          * @return\r
146          */\r
147         public Entity getEntity(int arg0) {\r
148                 return entityList.get(arg0);\r
149         }\r
150         /**\r
151          * @param arg0\r
152          * @return\r
153          */\r
154         public boolean removeEntity(Object arg0) {\r
155                 return entityList.remove(arg0);\r
156         }\r
157         /**\r
158          * @return\r
159          */\r
160         public int entitySize() {\r
161                 return entityList.size();\r
162         }\r
163 \r
164         /**\r
165          * @param arg0\r
166          * @return\r
167          */\r
168         public boolean addEnum(EnumClass arg0) {\r
169                 return enumList.add(arg0);\r
170         }\r
171         /**\r
172          * @param arg0\r
173          * @return\r
174          */\r
175         public EnumClass getEnum(int arg0) {\r
176                 return enumList.get(arg0);\r
177         }\r
178         /**\r
179          * @param arg0\r
180          * @return\r
181          */\r
182         public boolean removeEnum(Object arg0) {\r
183                 return enumList.remove(arg0);\r
184         }\r
185         /**\r
186          * @return\r
187          */\r
188         public int enumSize() {\r
189                 return enumList.size();\r
190         }\r
191 \r
192         public boolean addService(Service arg0) {\r
193                 return serviceList.add(arg0);\r
194         }\r
195         public Service getService(int arg0) {\r
196                 return serviceList.get(arg0);\r
197         }\r
198         public Service removeService(int arg0) {\r
199                 return serviceList.remove(arg0);\r
200         }\r
201         /**\r
202          * @return\r
203          */\r
204         public int serviceSize() {\r
205                 return serviceList.size();\r
206         }\r
207 \r
208         /**\r
209          * @return domain を戻します。\r
210          */\r
211         public String getFqdn() {\r
212                 return fqdn;\r
213         }\r
214         /**\r
215          * @param domain domain を設定。\r
216          */\r
217         public void setFqdn(String domain) {\r
218                 this.fqdn = domain;\r
219         }\r
220         /**\r
221          * @return project を戻します。\r
222          */\r
223         public String getProject() {\r
224                 return project;\r
225         }\r
226         /**\r
227          * @param project project を設定。\r
228          */\r
229         public void setProject(String project) {\r
230                 this.project = project;\r
231         }\r
232 }\r