W trakcie tworzenia i uruchamiania strony właściwości środowisko robocze wstawia do niej wybrane zasoby. Aby uzyskać obiekt IAdaptable, strona może użyć metody getElement().
Wzorzec tworzenia stron właściwości jest podobny do wzorca stron preferencji, dlatego zostaną tu przedstawione jedynie różnice. Strony właściwości wyświetlają informacje dotyczące ich elementów. Te informacje można pobrać po uzyskaniu dostępu do danego elementu w celu wyszukania lub ustalenia odpowiednich informacji. Mogą one być przechowywane we właściwościach zasobu lub z nich pobierane.
Klasa ReadmeFilePropertyPage ustala większość dotyczących jej informacji przy użyciu jej elementu. Poniższy fragment kodu pokazuje, w jaki sposób ustalana jest liczba sekcji i jak jest wyświetlana na etykiecie.
... IResource resource = (IResource) getElement(); ... IAdaptable sections = getSections(resource); if (sections instanceof AdaptableList) { AdaptableList list = (AdaptableList)sections; label = createLabel(panel, String.valueOf(list.size())); ...
Gdy właściwość jest ustalana, nie ma konieczności stosowania logiki zapisywania wartości, ponieważ użytkownik nie może aktualizować tej wartości.
Strony właściwości są powszechnie używane do wyświetlania i ustawiania właściwości zasobów specyficznych dla danej aplikacji. (Sekcja Właściwości zasobu zawiera dyskusję na temat właściwości sesji oraz trwałości). Ponieważ strona właściwości zna jej zasób, interfejs API zasobów może być używany na stronie do inicjowania wartości elementów sterujących lub ustawiania nowych wartości właściwości na podstawie wyborów użytkownika dokonanych na stronie właściwości.
Poniższy fragment kodu przedstawia inicjowanie wartości pola wyboru na podstawie właściwości elementu strony właściwości.
private void initializeValues() { ... IResource resource = (IResource) getElement(); label.setText(resource.getPersistentProperty("MyProperty")); ... }
Odpowiedni kod zapisujący wartość pola wyboru z powrotem we właściwości wygląda następująco:
private void storeValues() { ... IResource resource = (IResource) getElement(); resource.setPersistentProperty("MyProperty", label.getText()); ... }