目次へ

2005.10.14 株式会社四次元データ 小野彩子

11.2 インスタンスの生成

まず、インスタンスを生成します。JAXBで自動生成されたクラスのインスタンスを作成する場合、ObjectFactoryクラスを使用します。

            ObjectFactory objFactory = new ObjectFactory();

次に、インスタンスを作成します。Complex Typeの要素を表すEmployeesやEmployeeのインスタンスを作成するときは、ObjectFactoryのcreateメソッドを使用します。例えば、XMLのルート要素を表すEmployeesのインスタンスを生成する場合、createEmployeesメソッドを使用します。

            Employees employees= (Employees) objFactory.createEmployees();

Employeesインスタンスの次は、Employeeクラスのインスタンスを作成します。

            Employee employee = objFactory.createEmployee();

employee要素の子要素で、nameやnameKanaはSimpleTypeです。SimpleTypeの子要素は、set(要素名)メソッドを実行して設定します。

            employee.setName("山田太郎");
            employee.setNameKana("ヤマダタロウ");
            employee.setSection("開発部");

さて、最後に作成したEmployeeインスタンスがEmployeesインスタンスの子要素になるように設定します。子要素が1つ以下の場合、親クラスのsetメソッドを使用して設定します。例えば、employees要素の子要素employeeが1つしか存在しない場合、EmployeesのsetEmployeeメソッドを使用して、設定を行います。

            employees.setEmployee(employee);

今回のスキーマを見ると、employees要素の子要素employeeは複数存在する可能性があります。このような場合は、まずEmployees要素のgetEmployeeメソッドを使用し、複数のEmployeeを保存するリストを取得します。

            List employeeList = employees.getEmployee();

作成したEmployeeインスタンスをListに追加することによって、employeesの子要素として扱われます。

            employeeList.add(employee);

↑このページの先頭へ

こちらもチェック!

PR
  • XMLDB.jp
  • シナジーマーケティング研究開発グループブログ