OSDN Git Service

import
[luz/luz.git] / lacoder / src / com / lavans / lacoder / model / Package.java
diff --git a/lacoder/src/com/lavans/lacoder/model/Package.java b/lacoder/src/com/lavans/lacoder/model/Package.java
new file mode 100644 (file)
index 0000000..d4ecc06
--- /dev/null
@@ -0,0 +1,232 @@
+/* $Id: Package.java 421 2011-07-29 09:55:09Z dobashi $\r
+ * create: 2004/12/28\r
+ * (c)2004 Lavans Networks Inc. All Rights Reserved.\r
+ */\r
+package com.lavans.lacoder.model;\r
+\r
+import java.util.ArrayList;\r
+import java.util.List;\r
+\r
+/**\r
+ * @author dobashi\r
+ * @version 1.00\r
+ */\r
+public class Package {\r
+       private static final String PRESENTATION  = "presentation";\r
+       private static final String DOMAIN  = "domain";\r
+       private static final String SERVICE = "service";\r
+       private static List<Package> allList = new ArrayList<Package>();\r
+       public static boolean addPackage(Package p) {\r
+               return allList.add(p);\r
+       }\r
+       public static List<Package> getAllList(){\r
+               return allList;\r
+       }\r
+       public static Package getPackage(String name){\r
+               Package result = null;\r
+               for(int i=0; i<allList.size(); i++){\r
+                       Package pkg = allList.get(i);\r
+                       if(pkg.getName().equals(name)){\r
+                               result=pkg;\r
+                               break;\r
+                       }\r
+               }\r
+               return result;\r
+       }\r
+\r
+       private String fqdn = null;\r
+       private String project = null;\r
+       private String subname=null;\r
+\r
+       private List<Entity> entityList = new ArrayList<Entity>();\r
+       private List<EnumClass> enumList= new ArrayList<EnumClass>();\r
+       private List<Service> serviceList= new ArrayList<Service>();\r
+\r
+       public Entity getEntity(String name){\r
+               Entity result = null;\r
+               for(int i=0; i<entityList.size(); i++){\r
+                       Entity table = entityList.get(i);\r
+                       if(table.getName().equals(name)){\r
+                               result=table;\r
+                               break;\r
+                       }\r
+               }\r
+               return result;\r
+       }\r
+       public EnumClass getEnum(String name){\r
+               EnumClass result = null;\r
+               for(int i=0; i<enumList.size(); i++){\r
+                       EnumClass enums = enumList.get(i);\r
+                       if(enums.getName().equals(name)){\r
+                               result=enums;\r
+                               break;\r
+                       }\r
+               }\r
+               return result;\r
+       }\r
+       public Service getService(String name){\r
+               Service result = null;\r
+               for(int i=0; i<serviceList.size(); i++){\r
+                       Service service = serviceList.get(i);\r
+                       if(service.getName().equals(name)){\r
+                               result=service;\r
+                               break;\r
+                       }\r
+               }\r
+               return result;\r
+       }\r
+\r
+       /**\r
+        *\r
+        * @return fullname(domain.project.package) を戻します。\r
+        * パッケージを特定するためのキーとしてのみ利用します。\r
+        * lacoderが生成するクラスではこの組み合わせ(projectの次にsubname)のjavaパッケージは存在しません。\r
+        *\r
+        */\r
+       public String getName() {\r
+               return fqdn+"."+project+"."+subname;\r
+       }\r
+       /**\r
+        * @return fullname(domain.project.package) を戻します。\r
+        */\r
+       public String getDomainPath() {\r
+               return fqdn+"."+project+"."+DOMAIN ;\r
+       }\r
+\r
+       public String getDomainSubPackagePath() {\r
+               return fqdn+"."+project+"."+DOMAIN +"."+ subname;\r
+       }\r
+       public String getServiceSubPackagePath() {\r
+               return fqdn+"."+project+"."+SERVICE +"."+ subname;\r
+       }\r
+       public String getPresentationPath() {\r
+               return fqdn+"."+project+"."+PRESENTATION;\r
+       }\r
+       /**\r
+        * Actionのpathを取得します。Actionはroleの下にあるので引数でroleをとります。\r
+        * @return\r
+        */\r
+       public String getActionPath(String role) {\r
+               return getPresentationPath()+"."+ role +"."+ subname +".action";\r
+       }\r
+       /**\r
+        * jspのpathを取得します。Actionはroleの下にあるので引数でroleをとります。\r
+        * @return\r
+        */\r
+       public String getJspPath(String role) {\r
+               return getPresentationPath()+"."+ role +"."+ subname +".jsp";\r
+       }\r
+\r
+       /**\r
+        * @return package名のみを戻します。\r
+        */\r
+       public String getSubPackageName() {\r
+               return subname;\r
+       }\r
+\r
+       /**\r
+        * @param name name を設定。\r
+        */\r
+       public void setName(String fqdn, String project, String name) {\r
+               this.subname = name;\r
+               this.fqdn = fqdn;\r
+               this.project = project;\r
+       }\r
+       /**\r
+        * @param arg0\r
+        * @return\r
+        */\r
+       public boolean addEntity(Entity entity) {\r
+               entity.setParentPackage(this);\r
+               return entityList.add(entity);\r
+       }\r
+       /**\r
+        * @param arg0\r
+        * @return\r
+        */\r
+       public Entity getEntity(int arg0) {\r
+               return entityList.get(arg0);\r
+       }\r
+       /**\r
+        * @param arg0\r
+        * @return\r
+        */\r
+       public boolean removeEntity(Object arg0) {\r
+               return entityList.remove(arg0);\r
+       }\r
+       /**\r
+        * @return\r
+        */\r
+       public int entitySize() {\r
+               return entityList.size();\r
+       }\r
+\r
+       /**\r
+        * @param arg0\r
+        * @return\r
+        */\r
+       public boolean addEnum(EnumClass arg0) {\r
+               return enumList.add(arg0);\r
+       }\r
+       /**\r
+        * @param arg0\r
+        * @return\r
+        */\r
+       public EnumClass getEnum(int arg0) {\r
+               return enumList.get(arg0);\r
+       }\r
+       /**\r
+        * @param arg0\r
+        * @return\r
+        */\r
+       public boolean removeEnum(Object arg0) {\r
+               return enumList.remove(arg0);\r
+       }\r
+       /**\r
+        * @return\r
+        */\r
+       public int enumSize() {\r
+               return enumList.size();\r
+       }\r
+\r
+       public boolean addService(Service arg0) {\r
+               return serviceList.add(arg0);\r
+       }\r
+       public Service getService(int arg0) {\r
+               return serviceList.get(arg0);\r
+       }\r
+       public Service removeService(int arg0) {\r
+               return serviceList.remove(arg0);\r
+       }\r
+       /**\r
+        * @return\r
+        */\r
+       public int serviceSize() {\r
+               return serviceList.size();\r
+       }\r
+\r
+       /**\r
+        * @return domain を戻します。\r
+        */\r
+       public String getFqdn() {\r
+               return fqdn;\r
+       }\r
+       /**\r
+        * @param domain domain を設定。\r
+        */\r
+       public void setFqdn(String domain) {\r
+               this.fqdn = domain;\r
+       }\r
+       /**\r
+        * @return project を戻します。\r
+        */\r
+       public String getProject() {\r
+               return project;\r
+       }\r
+       /**\r
+        * @param project project を設定。\r
+        */\r
+       public void setProject(String project) {\r
+               this.project = project;\r
+       }\r
+}\r