ZoneRulesProvider — 시스템에 시간대 규칙 공급자

ZoneRulesProvider — 시스템에 시간대 규칙 공급자

시스템에 시간대 규칙을 제공하는 추상 클래스예요.

출처: Java API Reference

본문

시그니처

public abstract class ZoneRulesProvider extends Object

설명

이 클래스는 시간대 규칙의 구성을 관리해요. 정적 메서드는 provider를 관리하는 데 사용할 수 있는 공개 API를 제공하고, 추상 메서드는 규칙을 제공할 수 있게 하는 SPI를 제공해요.

이 인터페이스는 여러 스레드에서 호출될 수 있는 서비스 제공자예요. 구현은 불변이고 스레드 안전해야 해요. provider는 애플리케이션이 한 번 규칙을 본 후에도 그 규칙이 계속 사용 가능해야 함을 보장해야 해요.

ZoneRulesProvider는 Java Platform 인스턴스에 확장 클래스로 설치될 수 있어요. 즉 일반적인 확장 디렉터리 중 하나에 넣은 jar 파일을 의미해요. 설치된 provider는 ServiceLoader 클래스가 정의한 서비스 공급자 로딩 기능을 사용해 로드돼요. ZoneRulesProvider는 리소스 디렉터리 META-INF/servicesjava.time.zone.ZoneRulesProvider라는 provider 구성 파일로 자신을 식별해요. 이 파일은 정규화된 구체적인 zone-rules-provider 클래스 이름을 지정하는 줄을 포함해야 해요.

Java 가상 머신은 IANA Time Zone Database (TZDB)가 정의한 시간대에 대한 zone 규칙을 제공하는 기본 provider를 가져요.

주요 메서드

  • registerProvider(ZoneRulesProvider provider) — zone 규칙 provider를 등록해요.
  • getAvailableZoneIds() — 사용 가능한 zone ID 집합을 얻어요.
  • getRules(String zoneId, boolean forCaching) — 지정한 zone ID에 대한 규칙을 얻어요.
  • getZoneIds() — 사용 가능한 zone ID 집합을 얻는 정적 메서드예요.
  • getRules(String zoneId) — 지정한 zone ID의 규칙을 얻는 정적 메서드예요.
  • refresh() — 규칙을 새로 고쳐야 하는지 확인해요.

더 알아보기 (Learn more)