より明確になる私のコードをお見せします:
@XmlRootElement
FilePollerConf{
ArrayList<Directory> directoriesList = new ArrayList<Directory>();
}
Directory{
ArrayList<Match> matchList = new ArrayList<Match>();
}
Match{
ArrayList<Event> eventsList = new ArrayList<Event>();
}
Event{
ArrayList<IAction> actionsList = new ArrayList<IAction>();
}
IAction{
void send();
}
これがポイントです。jaxbで非整列化しようとすると、エラーが発生します:
IAction はインターフェースであり、JAXB はインターフェースを処理できません。
だから私は@XmlAdapterを探しましたが、私のようなユースケースは見られなかったので、それを使用できるかどうか本当にわかりませんか? 私は引き続き検索しますが、アイデアがあれば大歓迎です! 私はすでに私のxmlを実際に持っています.jaxbが私を生成することを望みます(あなたにxmlを与えてください):
<?xml version="1.0" encoding="utf-8"?>
<FilePollerConfiguration>
<Directory path="C://Users//jmoreau040612//Desktop//Old">
<Match pattern="*.xml">
<Event name="create">
<FTPSend>
<FTPServer>toto.com</FTPServer>
<FTPPort>21</FTPPort>
<Login>toto</Login>
<Password>titi</Password>
<destinationPath>/root/src</destinationPath>
</FTPSend>
</Event>
</Match>
<Match pattern="*.csv">
<Event name="modify">
<MailSend>
<Name>MailSend</Name>
<SMTPServer>smtp.fr.gric</SMTPServer>
<SMTPPort>25</SMTPPort>
<MailTo>toto@rock.com</MailTo>
<MailFrom>titi@rock.com</MailFrom>
<Subject>tata</Subject>
<Body>blabla</Body>
</MailSend>
</Event>
</Match>
</Directory>
<Directory path="C://Users//jmoreau040612//Desktop//New">
<Match pattern="*.csv">
<Event name="create">
<ServerToServer>
<location>ergrthrhdrth</location>
<destination>ergergeg</destination>
</ServerToServer>
</Event>
</Match>
<Match pattern="*.csv">
<Event name="delete">
<SFTPSend>
<SFTPServer>toto.sgcib.com</SFTPServer>
<SFTPPort>21</SFTPPort>
<Login>toto</Login>
<Password>titi</Password>
<destinationPath>/root/src</destinationPath>
<PrivateKeyFile>C://Desktop/privatekey.prk</PrivateKeyFile>
</SFTPSend>
</Event>
</Match>
</Directory>
</FilePollerConfiguration>
ポイントは、私の構造が常に同じであるとは限らないということです。それで、jaxb を使用できますか?