2014-10-05 4 views
1
우리는 호출 할 수 있습니다

:이 객체가 예선과 모듈 정의에 주석이객체가 대거 그래프에서 예선 주석하기

graph.get(Bus.class); 

경우가 발생합니다 IllegalStateException.

public class BusWrapper { 
    @Inject 
    @MyQualifier 
    Bus bus; 
} 

graph.inject(new BusWrapper()).bus; 

내가 그래프 세트 (각 계정에 대한 하나의 그래프)가 :

는보다 그래프에서 해당 개체를 검색하는 더 나은 방법이있다. 각 계정 그래프와 하나의 앱 범위 버스 (다른 한정자로 주석 처리 됨)에 대한 버스가 분리됩니다. GCM 동기화 요청 메시지를 받으면 올바른 그래프에서 버스를 검색하여 동기화 요청을 전달해야합니다.

+0

BusFactory를 작성하고 제공하고 각 버스에 대한 ID/이름을 연관 지을 것이라고 생각하십시오. GCM이 도착하면'busFactory.getBusByName ('nameOfBus')와 같은 것을 실행하십시오. – cYrixmorten

+0

@cYrixmorten 대거와 적격 주사가 제공하는 모두 안전하거나 정적으로 분석 할 수있는 것은 아닙니다. –

+0

이 코드는 내부의 모든 유효한 'Bus' 인스턴스를 직접 주입 한 다음 그 사이에서/ifelse를 전환 할 수없는 객체입니까? –

답변

3

.get()을 통해 주석 된 인스턴스 조회를 수행하는 것은 지원되지 않습니다.

좋은 참고 문헌을 찾을 수 없습니다. 가장 가까운 this one입니다 :

단검 1.0은 확실히 강력한 엔트리 포인트/주 사용 목적을 가진보다는 큰 주석지도처럼 ObjectGraph 사용 중심으로 설계된다.

기본적으로, .get()는 모든 종속성이 정상적으로 @Inject 에드 될 것이라고 아래에 개체 그래프의 루트 인스턴스를 잡아 사용할 수 있도록 설계되었습니다.