2011-04-29 59 views
2

Sry for my english。我有下一個問題。我有三個實體: DomainManager,域和節點。 DomainManager是單身人士,能夠 創建域對象的列表。每個域創建節點 對象列表:Google Guice。我需要將相應的父對象注入包含的對象

DomainManager 1 <> ----- *域名1 <> ---- *節點

我想:

  1. 節點實現可以自己將相應的父域注入到 。
  2. 節點實現也可以注入域管理器實例。

類NodeImpl { @Inject NodeImpl(域parentDomain,DomainManager domainManager){

}}

我怎樣才能做到這一點?

+1

你可能想看看Guice「輔助注射」。 – jfpoilpret 2011-04-29 08:31:31

回答

0

如果不知道你想要的是什麼與你的節點和域,但是,遵循jfpoilprepre的(+1)建議使用@Assisted注入​​參數可能會幫助你很難回答。請參閱this answer或(更好)this以瞭解其工作原理的詳細信息。

說了這麼多,你的NodeImpl構造可能是這樣的:

@Inject 
public NodeImpl(DomainManager manager, @Assisted Domain) {} 

然後創建一個NodeFactory交還NodeImpl的實例。但是,您仍然需要使用使用 NodeFactory來確定哪些節點與哪些域關聯。

相關問題