[jboss-dev-forums] [Design of JBossXB] - Re: @XmlElementWrapper/@XmlElements
alex.loubyansky@jboss.com
do-not-reply at jboss.com
Fri Oct 12 10:36:50 EDT 2007
This should be closer to what we would like to have
@XmlRootElement
| public static class Application
| {
| private List<Module> modules;
|
| public void setModules(List<Module> modules)
| {
| this.modules = modules;
| }
|
| @XmlElement(name="module", type=ModuleHolder.class)
| public List<Module> getModules()
| {
| return modules;
| }
| }
|
| public static class ModuleAdapter extends XmlAdapter<ModuleHolder, Module>
| {
| @Override
| public ModuleHolder marshal(Module arg0) throws Exception
| {
| // TODO Auto-generated method stub
| return null;
| }
|
| @Override
| public Module unmarshal(ModuleHolder arg0) throws Exception
| {
| return arg0.getModule();
| }
| }
|
| @XmlJavaTypeAdapter(value = ModuleAdapter.class)
| public static class ModuleHolder
| {
| private Module module;
|
| public void setModule(Module module)
| {
| this.module = module;
| }
|
| @XmlTransient
| public Module getModule()
| {
| return module;
| }
|
| public void setConnector(ConnectorModule module)
| {
| this.module = module;
| }
|
| public ConnectorModule getConnector()
| {
| return (ConnectorModule) module;
| }
|
|
| public void setEjb(EjbModule module)
| {
| this.module = module;
| }
|
| public EjbModule getEjb()
| {
| return (EjbModule) module;
| }
|
| public void setJava(JavaModule module)
| {
| this.module = module;
| }
|
| public JavaModule getJava()
| {
| return (JavaModule) module;
| }
| }
|
| public static abstract class Module
| {
| private String value;
|
| public void setValue(String value)
| {
| this.value = value;
| }
|
| @XmlValue
| public String getValue()
| {
| return value;
| }
| }
|
| public static class ConnectorModule extends Module
| {
| }
|
| public static class EjbModule extends Module
| {
| }
|
| public static class JavaModule extends Module
| {
| }
But there is an issue... currently it applies the adapter to the collection of modules as well as to the each module separately. I am looking into it.
View the original post : http://www.jboss.com/index.html?module=bb&op=viewtopic&p=4094623#4094623
Reply to the post : http://www.jboss.com/index.html?module=bb&op=posting&mode=reply&p=4094623
More information about the jboss-dev-forums
mailing list