Een eigenschappenpagina implementeren

Wanneer de workbench een eigenschappenpagina maakt en start, plaatst deze de geselecteerde resource op de pagina. De pagina kan de methode getElement() gebruiken om het element, een IAdaptable, op te halen.

De procedure voor het maken van eigenschappenpagina's is vergelijkbaar met het model voor het maken van de voorkeurenpagina's en daarom wordt nu het accent gelegd op de verschillen. Op de eigenschappenpagina's worden gegevens afgebeeld over hun elementen. Deze gegevens kunnen worden opgehaald door toegang te verkrijgen tot het element om de relevante gegevens op te vragen of te berekenen.  De informatie kan ook worden opgeslagen en worden opgehaald uit de eigenschappen van de resource.

Door de ReadmeFilePropertyPage wordt de meeste informatie berekend met behulp van het paginaelement. In het volgende fragment worden een aantal secties berekend en weergegeven in een label.

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

Wanneer een eigenschap wordt berekend, is het niet vereist om te beschikken over de bijbehorende logica voor het opslaan van de waarde, omdat de gebruiker deze waarde niet kan bijwerken.

De eigenschappenpagina's worden gewoonlijk gebruikt voor het weergeven en instellen van de toepassingsspecifieke eigenschappen van een resource. (Zie Resource-eigenschappen voor een bespreking van de sessie en de constante eigenschappen).  Omdat de eigenschappenpagina de resource kent, kan de resource-API in de pagina worden gebruikt om de besturingsfunctiewaarden te initialiseren of nieuwe eigenschappenwaarden in te stellen op basis van de gebruikersselecties op de eigenschappenpagina.

In het volgende fragment wordt een selectievakjewaarde afgebeeld die van een eigenschap naar een element van een eigenschappenpagina wordt geïnitialiseerd.

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

De bijbehorende code voor het weer opslaan van de waarde van het selectievakje in de eigenschap, ziet er als volgt uit:

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