NotificationFilterSupport

NotificationFilterSupport (알림 필터 지원 클래스)

NotificationFilter 인터페이스의 구현을 제공하는 클래스예요. 필터링은 알림 타입 속성을 기준으로 수행돼요.

출처: Java API Reference

본문

이 클래스는 활성화된 알림 타입 목록을 관리해요. 사용자는 메서드를 통해 필요한 만큼 많은 알림 타입을 활성화/비활성화할 수 있어요.

필터가 등록된 리스너에게 알림을 보내기 전에 알림 브로드캐스터는 이 알림 타입을 필터가 활성화한 모든 알림 타입과 비교해요. 필터가 이 알림 타입을 활성화한 경우에만 알림이 리스너에게 전달돼요.

다음은 예시예요.

NotificationFilterSupport myFilter = new NotificationFilterSupport();
myFilter.enableType("my_example.my_type");
myBroadcaster.addListener(myListener, myFilter, null);

리스너 myListener는 타입이 "my_example.my_type"과 같거나 그로 시작하는 알림만 받게 돼요.

주요 메서드는 다음과 같아요.

  • isNotificationEnabled(Notification): 지정된 알림의 타입을 각 활성화된 타입과 비교해요. 알림 타입이 활성화된 타입 중 하나와 일치하면 true를 반환해요.
  • enableType(String prefix): 지정된 접두사로 시작하는 타입의 모든 알림을 리스너에게 보낼 수 있게 해줘요. prefixnull이면 IllegalArgumentException을 던져요. enableType("my_example.*")는 어떤 알림 타입과도 일치하지 않는다는 점에 주의해요.
  • disableType(String prefix): 주어진 접두사를 목록에서 제거해요.
  • disableAllTypes(): 모든 알림 타입을 비활성화해요.
  • getEnabledTypes(): 이 필터에 대해 활성화된 모든 알림 타입 목록을 반환해요.

더 알아보기 (Learn more)

Java 공식 API