ZoneRulesProvider — 시스템에 시간대 규칙 공급자
ZoneRulesProvider — 시스템에 시간대 규칙 공급자
시스템에 시간대 규칙을 제공하는 추상 클래스예요.
본문
시그니처
public abstract class ZoneRulesProvider extends Object
설명
이 클래스는 시간대 규칙의 구성을 관리해요. 정적 메서드는 provider를 관리하는 데 사용할 수 있는 공개 API를 제공하고, 추상 메서드는 규칙을 제공할 수 있게 하는 SPI를 제공해요.
이 인터페이스는 여러 스레드에서 호출될 수 있는 서비스 제공자예요. 구현은 불변이고 스레드 안전해야 해요. provider는 애플리케이션이 한 번 규칙을 본 후에도 그 규칙이 계속 사용 가능해야 함을 보장해야 해요.
ZoneRulesProvider는 Java Platform 인스턴스에 확장 클래스로 설치될 수 있어요. 즉 일반적인 확장 디렉터리 중 하나에 넣은 jar 파일을 의미해요. 설치된 provider는 ServiceLoader 클래스가 정의한 서비스 공급자 로딩 기능을 사용해 로드돼요. ZoneRulesProvider는 리소스 디렉터리 META-INF/services의 java.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()— 규칙을 새로 고쳐야 하는지 확인해요.