Quando a área de trabalho criar e lançar uma página de propriedades, define o recurso seleccionado na página. A página pode utilizar o método getElement() para obter o seu elemento, um IAdaptable.
O padrão para criar páginas de propriedades é semelhante ao das páginas de preferências, de modo que só iremos abordar o que for diferente. As páginas de propriedades mostram informações sobre o respectivo elemento. Estas informações podem ser obtidas acedendo ao elemento para poder consultar ou calcular as informações relevantes. As informações também podem ser armazenadas e obtidas junto das propriedades do recurso.
A ReadmeFilePropertyPage calcula a maioria das suas informações com este elemento. A porção de código seguinte mostra como é calculado o número de secções e apresentado numa etiqueta.
...
IResource resource = (IResource) getElement();
...
IAdaptable sections = getSections(resource);
if (sections instanceof AdaptableList) {
AdaptableList list = (AdaptableList)sections;
label = createLabel(panel, String.valueOf(list.size()));
...
Quando uma propriedade é calculada, não há necessidade da lógica correspondente guardar o valor, dado que o utilizador não pode actualizar este valor.
As páginas de propriedades são geralmente utilizadas para ver e definir as propriedades de um recurso específicas a uma aplicação. (Consulte Propriedades de recursos para ver um debate sobre propriedades de sessão e persistentes. Dado que a página de propriedades conhece o seu recurso, a API de recursos pode ser utilizada na página para inicializar valores de controlo ou para definir novos valores de propriedades com base em selecções do utilizador na página de propriedades.
A porção de código seguinte mostra um valor de uma caixa de verificação a ser inicializado numa propriedade no elemento de uma página de propriedades.
private void initializeValues() {
...
IResource resource = (IResource) getElement();
label.setText(resource.getPersistentProperty("aMinhaPropriedade"));
...
}
O código correspondente para guardar o valor da caixa de verificação de volta à propriedade assemelha-se ao seguinte:
private void storeValues() {
...
IResource resource = (IResource) getElement();
resource.setPersistentProperty("aMinhaPropriedade", label.getText());
...
}