Strona właściwości to przyjazny dla użytkownika sposób interakcji z właściwościami wybranego obiektu. W odróżnieniu od widoku Właściwości, w którym dostępny obszar edycji właściwości obiektu jest ograniczony, na stronie właściwości można swobodnie definiować większe, bardziej złożone elementy sterujące z etykietami, ikonami itp. Ponadto właściwości logicznie ze sobą powiązane mogą być zgrupowane na jednej stronie, a nie porozrzucane po całym arkuszu właściwości. Jednak w większości aplikacji bardziej odpowiednie będzie wyświetlanie niektórych właściwości obiektu na arkuszu właściwości, a innych - na stronach właściwości.
Strony właściwości są widoczne w oknie dialogowym, które jest zwykle wyświetlane po wybraniu opcji Właściwości z menu podręcznego obiektu. Poza klasą obiektu można opcjonalnie podać filtr nazwy, który umożliwi rejestrowanie stron właściwości tylko dla określonych typów obiektów.
Jeśli te mechanizmy filtrowania nie są wystarczające, na stronie właściwości można użyć elementu filter. W takim przypadku atrybuty obiektu docelowego są opisane zbiorem par klucz/wartość. Atrybuty dające się zastosować do wyboru zależą od typu i wykraczają poza domenę środowiska roboczego, dlatego filtrowanie na tym poziomie jest delegowane ze środowiska roboczego do faktycznego wyboru.
<!ATTLIST extension
point CDATA #REQUIRED
id CDATA #IMPLIED
name CDATA #IMPLIED>
<!ELEMENT page (filter* , keywordReference* , enabledWhen?)>
<!ATTLIST page
id CDATA #REQUIRED
name CDATA #REQUIRED
icon CDATA #IMPLIED
objectClass CDATA #IMPLIED
class CDATA #REQUIRED
nameFilter CDATA #IMPLIED
adaptable (true | false)
category CDATA #IMPLIED>
Element nieaktualny w wersji 3.2. Parametr objectClass powinien teraz być podany przy użyciu elementu enablesFor odbiornika.
<!ELEMENT filter EMPTY>
<!ATTLIST filter
name CDATA #REQUIRED
value CDATA #REQUIRED>
Ten element służy do wartościowania stanu atrybutu każdego obiektu w bieżącym wyborze. Zgodność występuje tylko w przypadku, gdy każdy obiekt w wyborze ma określony stan atrybutu. Każdy obiekt w wyborze musi implementować interfejs org.eclipse.ui.IActionFilter lub dopasowywać się do niego.
<!ELEMENT keywordReference EMPTY>
<!ATTLIST keywordReference
id CDATA #IMPLIED>
Odwołanie strony właściwości do słowa kluczowego. Patrz opis punktu rozszerzenia słów kluczowych.
<!ELEMENT enabledWhen (not | and | or | instanceof | test | systemTest | equals | count | with | resolve | adapt | iterate)>
<!ELEMENT enablement (not , and , or , instanceof , test , systemTest , equals , count , with , resolve , adapt , iterate)*>
Ogólny element główny. Może być on używany w punkcie rozszerzenia w celu definiowania wyrażenia aktywującego. Elementy potomne wyrażenia aktywującego są składane przy użyciu operatora "and".
<!ELEMENT not (not | and | or | instanceof | test | systemTest | equals | count | with | resolve | adapt | iterate)>
Ten element reprezentuje operację NOT wykonywaną na wyniku wartościowania wyrażeń stanowiących jego podelementy.
<!ELEMENT and (not , and , or , instanceof , test , systemTest , equals , count , with , resolve , adapt , iterate)*>
Ten element reprezentuje operację AND wykonywaną na wyniku wartościowania wyrażeń stanowiących jego podelementy.
<!ELEMENT or (not , and , or , instanceof , test , systemTest , equals , count , with , resolve , adapt , iterate)*>
Ten element reprezentuje operację OR wykonywaną na wyniku wartościowania wyrażeń stanowiących jego podelementy.
<!ELEMENT instanceof EMPTY>
<!ATTLIST instanceof
value CDATA #REQUIRED>
Ten element służy do wykonywania sprawdzenia instanceof na obiekcie aktywnym. Wyrażenie zwraca wartość EvaluationResult.TRUE, jeśli typ obiektu to podtyp typu określonego w wartości atrybutu. W przeciwnym razie zwracana jest wartość EvaluationResult.FALSE.
<!ELEMENT test EMPTY>
<!ATTLIST test
property CDATA #REQUIRED
args CDATA #IMPLIED
value CDATA #IMPLIED>
Ten element służy do wartościowania stanu właściwości aktywnego obiektu. Zestaw właściwości, które można testować, można rozszerzyć przy użyciu punktu rozszerzenia testera właściwości. Wyrażenie testujące zwraca wartość EvaluationResult.NOT_LOADED, jeśli tester właściwości, który wykonuje faktyczne sprawdzenie właściwości, nie został jeszcze załadowany.
<!ELEMENT systemTest EMPTY>
<!ATTLIST systemTest
property CDATA #REQUIRED
value CDATA #REQUIRED>
Testuje właściwość systemową wywołując metodę System.getProperty i porównuje wynik z wartością określoną przez atrybut value.
<!ELEMENT equals EMPTY>
<!ATTLIST equals
value CDATA #REQUIRED>
Ten element służy do wykonywania sprawdzenia equals na obiekcie aktywnym. Wyrażenie zwraca wartość EvaluationResult.TRUE, jeśli obiekt jest równy wartości w atrybucie value. W przeciwnym razie zwracana jest wartość EvaluationResult.FALSE.
equals
. Wartość w postaci łańcucha jest przekształcana w typ podstawowy Java przy użyciu tych samych reguł, jak te zdefiniowane dla atrybutu value w wyrażeniu testowym.<!ELEMENT count EMPTY>
<!ATTLIST count
value CDATA #REQUIRED>
Ten element służy do testowania liczby elementów w kolekcji.
<!ELEMENT with (not , and , or , instanceof , test , systemTest , equals , count , with , resolve , adapt , iterate)*>
<!ATTLIST with
variable CDATA #REQUIRED>
Ten element zmienia obiekt poddany badaniu we wszystkich elementach potomnych na obiekt wskazany przez daną zmienną. Jeśli zmiennej nie można rozwiązać, wyrażenie spowoduje zgłoszenie wyjątku ExpressionException podczas wartościowania. Elementy potomne wyrażenia with są składane przy użyciu operatora and.
<!ELEMENT resolve (not , and , or , instanceof , test , systemTest , equals , count , with , resolve , adapt , iterate)*>
<!ATTLIST resolve
variable CDATA #REQUIRED
args CDATA #IMPLIED>
Ten element zmienia obiekt poddany badaniu we wszystkich elementach potomnych na obiekt wskazany przez daną zmienną. Jeśli zmiennej nie można rozwiązać, wyrażenie spowoduje zgłoszenie wyjątku ExpressionException podczas wartościowania. Elementy potomne wyrażenia with są składane przy użyciu operatora and.
<!ELEMENT adapt (not , and , or , instanceof , test , systemTest , equals , count , with , resolve , adapt , iterate)*>
<!ATTLIST adapt
type CDATA #REQUIRED>
Ten element służy do dopasowywania aktywnego obiektu do typu określonego przez typ atrybutu. Wyrażenie zwraca wartość oznaczającą, że element nie jest załadowany, jeśli nie został jeszcze załadowany adapter lub typ, do którego prowadzi odwołanie. Jeśli nazwa typu w ogóle nie istnieje, podczas wartościowania zgłaszany jest wyjątek ExpressionException. Elementy potomne wyrażenia dopasowywania są składane przy użyciu operatora AND.
<!ELEMENT iterate (not , and , or , instanceof , test , systemTest , equals , count , with , resolve , adapt , iterate)*>
<!ATTLIST iterate
operator (or|and) >
Element jest wykorzystywany do iteracji na zmiennej typu java.util.Collection. Jeśli aktywny obiekt nie jest typu java.util.Collection, podczas wartościowania zgłaszany jest wyjątek ExpressionException.
<extension point=
"org.eclipse.ui.propertyPages"
>
<page id=
"com.xyz.projectPage"
name=
"Właściwości Java XYZ"
objectClass=
"org.eclipse.core.resources.IFile"
class=
"com.xyz.ppages.JavaPropertyPage"
nameFilter=
"*.java"
>
<filter name=
"readOnly"
value=
"true"
/>
</page>
</extension>
Copyright (c) 2002, 2005 IBM Corporation i inne podmioty.
Wszelkie prawa zastrzeżone. Program ten oraz towarzyszące mu materiały są udostępniane na warunkach
licencji EPL (Eclipse Public License), wersja 1.0, dołączonej do nich i
dostępnej pod adresem http://www.eclipse.org/legal/epl-v10.html.