ImmutableDescriptor
ImmutableDescriptor (불변 Descriptor)
한 번 생성되면 내용이 절대 바뀌지 않는 불변(immutable) Descriptor 구현체예요. Descriptor 인터페이스를 구현해요.
본문
이 클래스는 Descriptor 인터페이스를 구현하며, 생성 시점에 주어진 필드들로 불변의 기술자를 만들어요. 내용을 수정하려는 Descriptor 메서드(setField 등)를 호출하면 예외가 발생해요.
불변이라 스레드 안전하게 공유할 수 있고, 값이 변하지 않는다는 보장 덕분에 안전하게 캐시하거나 재사용할 수 있어요. static 팩토리 메서드(union, isEmpty)를 비롯해 여러 편의 메서드를 제공해요. Java 1.6부터 제공돼요.
생성 후 값이 절대 변하지 않으므로, 여러 스레드가 안전하게 공유할 수 있고 Descriptor를 캐시할 때 특히 유용해요. union과 같은 정적 헬퍼로 여러 기술자를 합칠 수도 있어요.