문제

하는 데 문제가 있 이해.기본적으로,이 조회 API 를 사용하여 계속 느슨하게 결합 intermodule 다.그래서 기본적으로 서비스 공급자와 소비자 모듈은 각각의 서로 통신하도록 설정되어 있는 경우에만 사용 API 정확합니까?

그러나 내가 이해하지 못하는 것입니다:

이 조회 가방과 같의 전체 개체에 대한 해당 클래스?할 수 있는 사람을 쉽게 비유는?

그래서 종속성을 만들고 너를 구현하 LookupListener 서비스에서 소비자가 올바른지?분명히 소비자가에 의존 공급자입니다.

그럼 무엇입의 구현 LookupListener 듣는가?그것의 자신의 조회?그래서 있는 경우에도 다른 모듈의 클래스로 저장됩 개체 조회 내부의 구현 LookupListener?

그래서 조회 같은 종류의 가방을 저장할 수 있는 다른 모듈의 클래스고의 방법이 있나요?

이것이 올바른 과정을 결정하는 선택?

  1. 에 TopComponent(보기)당신을 구현한 조회 수신기,및 활동 수신기.
  2. 당신이 새로운 개체(다른 모듈)
  3. associateLookup(Lookups.singleton(fff)); 다시 혼동이 라인:은 무엇인 associateLookup() 정확하게 하고 있는가?
  4. result = Utilities.actionsGlobalContext().lookupResult(Browser1.class); 이 라인은 무엇인가 하고 있는가?무슨 결과는?을 포함하고 있는지 Browser1 클래스(다른 모듈)?
  5. result.addLookupListener (this);왜 당신이 추가 수신기 결과는?그리고 우리는 무엇을 듣는 이유에 대해서 TopComponent?

  6. 가?

그리고 마지막으로,더 나 혼란,어떻게 노드의 API 로 pla7y?

도움이 되었습니까?

다른 팁

생각할 수 있습의 조회를 기본으로 지원하는 도구 연 높은 응집 원리.

기본적으로 당신에 beverage-api 모듈:

public interface Beverage {
   ...
}

그런 다음 다른 모듈 beers 에 따라 달라집 beverage-api:

@ServiceProvider(service = Beverage.class)
public class SomeBeer implements Beverage {
   ...
}

다른 모듈에서도에 따라 달라집 beverage-api 를 작성할 수 있습니다 magic formula:

Collection list = Lookup.getDefault().lookupAll(Beverage.class);

을 얻을 것이다 당신의 목록은 모든 음료 제공하지 않고 주위에 선언한 정확한 의존성에 있는 특정 클래스 또는에 의존하는 모듈이 있습니다.이러한 코드에 의존하지 않는 특정 구현,이를 충분히 이 모듈은 클래스 경로 및 그들은"자동 마술"드로 당신의 응용 프로그램입니다.

associateLookup(Lookups.singleton(fff)); 다시 혼동이 라인:는 무엇입 associateLookup()정확히 하고 있는가?

네,그렇습니다.기본적으로 당신 수동으로 추가하기는 일부 개체를 조회 시스템입니다.

result = Utilities.actionsGlobalContext().lookupResult(Beverage.class);

Utilities.actionsGlobalContext() 는 관련된 현재 선택된(active) TopCompoment.그것은이 돌아의 인스턴스 Beverage.class 그것은 존재하는 경우에는 active 구성 요소입니다.당신이 원하는 경우 모든 지정된 클래스의 인스턴스 사용해야 합니다 lookupAll().

result.addLookupListener(this); 왜 당신이 추가 수신기 결과는?

대한 통지를 얻을 수을 변경합니다.할 때 사용자가 선택하는 몇몇 Beverages 체 트리거 LookupListener 방법:

void resultChanged(LookupEvent ev);

result.allInstances(); 를 반환하는 경우 선정되었다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top