first commit
This commit is contained in:
120
hrmsEjb/org/apache/struts/config/FormBeanConfig.java
Normal file
120
hrmsEjb/org/apache/struts/config/FormBeanConfig.java
Normal file
@@ -0,0 +1,120 @@
|
||||
package org.apache.struts.config;
|
||||
|
||||
import java.io.Serializable;
|
||||
import java.util.HashMap;
|
||||
import org.apache.struts.action.DynaActionForm;
|
||||
|
||||
public class FormBeanConfig implements Serializable {
|
||||
protected boolean configured = false;
|
||||
|
||||
protected HashMap formProperties = new HashMap();
|
||||
|
||||
protected boolean dynamic = false;
|
||||
|
||||
public boolean getDynamic() {
|
||||
return this.dynamic;
|
||||
}
|
||||
|
||||
public void setDynamic(boolean dynamic) {
|
||||
if (this.configured)
|
||||
throw new IllegalStateException("Configuration is frozen");
|
||||
}
|
||||
|
||||
protected ModuleConfig moduleConfig = null;
|
||||
|
||||
public ModuleConfig getModuleConfig() {
|
||||
return this.moduleConfig;
|
||||
}
|
||||
|
||||
public void setModuleConfig(ModuleConfig moduleConfig) {
|
||||
if (this.configured)
|
||||
throw new IllegalStateException("Configuration is frozen");
|
||||
this.moduleConfig = moduleConfig;
|
||||
}
|
||||
|
||||
protected String name = null;
|
||||
|
||||
public String getName() {
|
||||
return this.name;
|
||||
}
|
||||
|
||||
public void setName(String name) {
|
||||
if (this.configured)
|
||||
throw new IllegalStateException("Configuration is frozen");
|
||||
this.name = name;
|
||||
}
|
||||
|
||||
protected String type = null;
|
||||
|
||||
public String getType() {
|
||||
return this.type;
|
||||
}
|
||||
|
||||
public void setType(String type) {
|
||||
if (this.configured)
|
||||
throw new IllegalStateException("Configuration is frozen");
|
||||
this.type = type;
|
||||
Class dynaBeanClass = DynaActionForm.class;
|
||||
Class formBeanClass = formBeanClass();
|
||||
if (formBeanClass != null) {
|
||||
if (dynaBeanClass.isAssignableFrom(formBeanClass)) {
|
||||
this.dynamic = true;
|
||||
} else {
|
||||
this.dynamic = false;
|
||||
}
|
||||
} else {
|
||||
this.dynamic = false;
|
||||
}
|
||||
}
|
||||
|
||||
public void addFormPropertyConfig(FormPropertyConfig config) {
|
||||
if (this.configured)
|
||||
throw new IllegalStateException("Configuration is frozen");
|
||||
if (this.formProperties.containsKey(config.getName()))
|
||||
throw new IllegalArgumentException("Property " + config.getName() + " already defined");
|
||||
this.formProperties.put(config.getName(), config);
|
||||
}
|
||||
|
||||
public FormPropertyConfig findFormPropertyConfig(String name) {
|
||||
return (FormPropertyConfig)this.formProperties.get(name);
|
||||
}
|
||||
|
||||
public FormPropertyConfig[] findFormPropertyConfigs() {
|
||||
FormPropertyConfig[] results = new FormPropertyConfig[this.formProperties.size()];
|
||||
return (FormPropertyConfig[])this.formProperties.values().toArray((Object[])results);
|
||||
}
|
||||
|
||||
public void freeze() {
|
||||
this.configured = true;
|
||||
FormPropertyConfig[] fpconfigs = findFormPropertyConfigs();
|
||||
for (int i = 0; i < fpconfigs.length; i++)
|
||||
fpconfigs[i].freeze();
|
||||
}
|
||||
|
||||
public void removeFormPropertyConfig(FormPropertyConfig config) {
|
||||
if (this.configured)
|
||||
throw new IllegalStateException("Configuration is frozen");
|
||||
this.formProperties.remove(config.getName());
|
||||
}
|
||||
|
||||
public String toString() {
|
||||
StringBuffer sb = new StringBuffer("FormBeanConfig[");
|
||||
sb.append("name=");
|
||||
sb.append(this.name);
|
||||
sb.append(",type=");
|
||||
sb.append(this.type);
|
||||
sb.append("]");
|
||||
return sb.toString();
|
||||
}
|
||||
|
||||
protected Class formBeanClass() {
|
||||
ClassLoader classLoader = Thread.currentThread().getContextClassLoader();
|
||||
if (classLoader == null)
|
||||
classLoader = getClass().getClassLoader();
|
||||
try {
|
||||
return classLoader.loadClass(getType());
|
||||
} catch (Exception e) {
|
||||
return null;
|
||||
}
|
||||
}
|
||||
}
|
Reference in New Issue
Block a user