특성 페이지 구현

Workbench는 특성 페이지를 작성하여 실행할 때 선택한 자원을 페이지에 설정합니다. 페이지는 getElement() 메소드를 사용하여 IAdaptable 요소를 얻을 수 있습니다.

특성 페이지를 작성하는 패턴은 환경 설정 페이지를 작성하는 패턴과 유사하므로 주로 차이점만을 설명합니다. 특성 페이지는 요소 정보를 표시합니다. 이 정보는 관련 정보를 조회하거나 계산하기 위해 요소에 액세스하면 얻을 수 있습니다.  정보는 자원의 특성에서 검색되고 저장될 수 있습니다.

ReadmeFilePropertyPage는 요소를 사용하여 대부분의 정보를 계산합니다. 다음 스니펫은 섹션 수가 계산되어 레이블에 표시되는 방법을 보여줍니다.

   ...
      IResource resource = (IResource) getElement();
   ...
   IAdaptable sections = getSections(resource);
   if (sections instanceof AdaptableList) {
      AdaptableList list = (AdaptableList)sections;
      label = createLabel(panel, String.valueOf(list.size()));
   ...

특성이 계산되면, 사용자는 이 값을 갱신할 수 없으므로 대응하는 논리가 값을 저장하지 않아도 됩니다.

특성 페이지는 일반적으로 응용프로그램별 자원 특성을 보고 설정하는 데  사용됩니다 (세션 및 지속적 특성에 대한 설명은 자원 특성을 참조).  특성 페이지는 자원을 알기 때문에 페이지에서 자원 API를 사용하여 제어 값을 초기화하거나 특성 페이지에서 사용자 선택사항을 기반으로 새 특성 값을 설정할 수 있습니다.

다음 스니펫은 특성 페이지의 요소에 있는 특성에서 초기화되고 있는 선택란 값을 보여줍니다.

private void initializeValues() {
      ...
      IResource resource = (IResource) getElement();
      label.setText(resource.getPersistentProperty("MyProperty"));
      ...
   }

선택란 값을 다시 특성에 저장하기 위한 해당 코드는 다음과 같습니다.

private void storeValues() {
      ...
      IResource resource = (IResource) getElement();
      resource.setPersistentProperty("MyProperty", label.getText());
      ...
   }