Listeners de Correspondência de Padrão do Console

org.eclipse.ui.console.consolePatternMatchListeners

3.1

Fornece correspondência de expressão normal para consoles de texto. Listeners de correspondência de padrão podem ser contribuídos para consoles específicos utilizando uma expressão de ativação. Os listeners são notificados, conforme as correspondências são encontradas.

<!ELEMENT extension (consolePatternMatchListener*)>

<!ATTLIST extension

point CDATA #REQUIRED

id    CDATA #IMPLIED

name  CDATA #IMPLIED>


<!ELEMENT consolePatternMatchListener (enablement)>

<!ATTLIST consolePatternMatchListener

id        CDATA #REQUIRED

class     CDATA #REQUIRED

regex     CDATA #REQUIRED

flags     CDATA #IMPLIED

qualifier CDATA #IMPLIED>


<!ELEMENT enablement (not , and , or , instanceof , test , systemTest , equals , count , with , resolve , adapt , iterate)*>

Um elemento raiz genérico. O elemento pode ser utilizado dentro de um ponto de extensão para definir sua expressão de ativação. Os filhos de uma expressão de ativação são combinados utilizando o operador and.



<!ELEMENT not (not | and | or | instanceof | test | systemTest | equals | count | with | resolve | adapt | iterate)>

Esse elemento representa uma operação NOT como resultado da avaliação de suas expressões de subelementos.



<!ELEMENT and (not , and , or , instanceof , test , systemTest , equals , count , with , resolve , adapt , iterate)*>

Esse elemento representa uma operação AND como resultado da avaliação de todas as suas expressões de subelementos.



<!ELEMENT or (not , and , or , instanceof , test , systemTest , equals , count , with , resolve , adapt , iterate)*>

Esse elemento representa uma operação OR como resultado da avaliação de todas as suas expressões de subelementos.



<!ELEMENT instanceof EMPTY>

<!ATTLIST instanceof

value CDATA #REQUIRED>

Esse elemento é utilizado para executar uma verificação instanceof do objeto em foco. A expressão retornará EvaluationResult.TRUE se o tipo de objeto for um subtipo do tipo especificado pelo valor do atributo. Caso contrário, EvaluationResult.FALSE será retornado.



<!ELEMENT test EMPTY>

<!ATTLIST test

property CDATA #REQUIRED

args     CDATA #IMPLIED

value    CDATA #IMPLIED>

Esse elemento é utilizado para avaliar o estado da propriedade do objeto em foco. O conjunto de propriedades capazes de serem testadas pode ser estendido utilizando o ponto de extensão do testador da propriedade. Uma expressão test retornará EvaluationResult.NOT_LOADED se o testador da propriedade que executa o teste real ainda não estiver carregado.



<!ELEMENT systemTest EMPTY>

<!ATTLIST systemTest

property CDATA #REQUIRED

value    CDATA #REQUIRED>

Testa uma propriedade do sistema chamando o método System.getProperty e compara o resultado com o valor especificado pelo atributo de valor.



<!ELEMENT equals EMPTY>

<!ATTLIST equals

value CDATA #REQUIRED>

Esse elemento é utilizado para executar uma verificação equals do objeto em foco. A expressão retornará EvaluationResult.TRUE se o objeto for igual ao valor fornecido pelo valor do atributo. Caso contrário, EvaluationResult.FALSE será retornado.



<!ELEMENT count EMPTY>

<!ATTLIST count

value CDATA #REQUIRED>

Esse elemento é utilizado para testar o número de elementos em uma coleta.



<!ELEMENT with (not , and , or , instanceof , test , systemTest , equals , count , with , resolve , adapt , iterate)*>

<!ATTLIST with

variable CDATA #REQUIRED>

Esse elemento altera o objeto para ser inspecionado para obter todo seu elemento filho para o objeto referenciado pela determinada variável. Se a variável não puder ser resolvida, então a expressão lançará uma ExpressionException ao avaliá-la. Os filhos de uma expressão são combinados utilizando o operador and.



<!ELEMENT resolve (not , and , or , instanceof , test , systemTest , equals , count , with , resolve , adapt , iterate)*>

<!ATTLIST resolve

variable CDATA #REQUIRED

args     CDATA #IMPLIED>

Esse elemento altera o objeto para ser inspecionado para obter todo seu elemento filho para o objeto referenciado pela determinada variável. Se a variável não puder ser resolvida, então a expressão lançará uma ExpressionException ao avaliá-la. Os filhos de uma expressão são combinados utilizando o operador and.



<!ELEMENT adapt (not , and , or , instanceof , test , systemTest , equals , count , with , resolve , adapt , iterate)*>

<!ATTLIST adapt

type CDATA #REQUIRED>

Esse elemento é utilizado para adaptar o objeto em foco ao tipo especificado pelo tipo de atributo. A expressão retornará não carregado se o adaptador ou o tipo referido ainda não estiver carregado. Ele lançará um ExpressionException durante a avaliação se o nome do tipo não existir ainda. Os filhos de uma expressão adapt são combinados utilizando o operador and.



<!ELEMENT iterate (not , and , or , instanceof , test , systemTest , equals , count , with , resolve , adapt , iterate)*>

<!ATTLIST iterate

operator (or|and) >

Esse elemento é utilizado para iterar sobre uma variável do tipo java.util.Collection. Se o objeto em foco não for do tipo java.util.Collection, então uma ExpressionException será lançada ao avaliar a expressão.



O seguinte é um exemplo de um ponto de extensão de listener de correspondência de padrão do console:
   

<extension point=

"org.eclipse.ui.console.consolePatternMatchListener"

>

<consolePatternMatchListener class=

"com.example.ExampleConsolePatternMatcher"

id=

"com.example.ExampleConsolePatternMatcher"

regex=

".*foo.*"

>

<enablement>

<test property=

"org.eclipse.ui.console.consoleTypeTest"

value=

"exampleConsole"

/>

</enablement>

</consolePatternMatchListener>

</extension>

No exemplo acima, o correspondente do padrão do console contribuído será utilizado para consoles com um tipo de "exampleConsole."

O valor do atributo class deve ser um nome completo de uma classe Java que implementa a interface org.eclipse.ui.console.IPatternMatchListenerDelegate.

O plug-in do console fornece um testador de propriedade de tipo de console para expressões de ativação que testa o valor de IConsole.getType(). O identificador do testador da propriedade é org.eclipse.ui.console.consoleTypeTest.