Files
HRMS/hrmsEjb/org/apache/struts/config/FormBeanConfig.java
2025-07-28 13:56:49 +05:30

121 lines
3.3 KiB
Java

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;
}
}
}