2012-02-05 10 views
0

XMLスキーマ文書のNetbeansでjaxbという名前のパッケージに自動生成されたコードがあります。ルート要素Nutritionには、何度も出現する可能性のあるfoodという名前の子要素が含まれています。NetbeansによるXMLスキーマから自動生成されたリストへのアクセス

<xsd:element name="food" maxOccurs="unbounded"> 

自動生成によって作成された栄養素オブジェクトには、保護された食品オブジェクトのリストが含まれています。私はドット表記でリストに食品オブジェクトを追加しようとすると

protected List<Nutrition.Food> food; 

私は食べ物が

Nutrition nutrition = objFactory.createNutrition(); //make a Nutrition object 
Food food1 = objFactory.createNutritionFood();  // make a Food object 
nutrition.food.add(food1);       // add a Food object 

NetBeansは食べ物がJAXBでのアクセスを保護していた」と文句を言いオブジェクトを追加するためのリストにアクセスすることはできません。 "栄養"私はそれが自動生成されているので、リストを公開することはできません。私はリストへの参照を持つ他のメソッドのための自動生成されたコードを見てきましたが、リストのコピーを返すゲッターだけです。食品オブジェクトを追加するためにリストにアクセスするにはどうすればよいですか?

答えて

1

あなたの質問に答えがあります。単にゲッターを使ってリストを取得し、それにオブジェクトを追加してください。

保護されているオブジェクト栄養のプロパティにアクセスしようとしています。そのため、アクセスする方法はget/setメソッドを使用することです。この概念はカプセル化として知られています。

+0

あなたの意見があります。インスタンス化されたNutritionインスタンスごとに1つのListのみを処理したいのでsetList()メソッドはありません。新しいListを渡す必要はありません。 – jeremyjjbrown

関連する問題