Język

TriggerTree Klasa

Definicja

Drzewo wyzwalające organizuje ewaluatorów według uogólnienia/specjalizacji, aby ułatwić korzystanie z reguł.

public class TriggerTree
type TriggerTree = class
Public Class TriggerTree
Dziedziczenie
TriggerTree

Uwagi

Wyrażenie wyzwalające generuje prawdziwość, jeśli wyrażenie oceniane na ramce jest prawdziwe. Samo wyrażenie składa się z dowolnych funkcji boole'a ("predykatów") połączonych z && || !. Większość predykatów wyraża się nad przesłaną ramą, ale mogą być dowolne – istnieją nawet sposoby ich optymalizacji lub porównania. Organizując ewaluatorów w drzewo (technicznie DAG), łatwiej jest używać reguł, zmniejszając sprzężenie między regułami. Na przykład, jeśli reguła ma zastosowanie, jeśli pewien predykat A jest prawdziwy, to inna reguła, która ma zastosowanie, jeśli A i B są prawdziwe, jest bardziej wyspecjalizowana. Jeśli drugie wyrażenie jest prawdziwe, to ponieważ znamy relację, możemy zignorować pierwszą regułę – mimo że jej wyrażenie jest prawdziwe. Bez takiej możliwości, by dodać drugą zasadę, trzeba by zmienić pierwszą, by stać się A && !B.

Konstruktory

Nazwa Opis
TriggerTree()

Inicjuje nowe wystąpienie klasy TriggerTree.

Właściwości

Nazwa Opis
Comparers

Otrzymuje wartość słownika, który zawiera wartości IPredicateComparer z kluczami łańcuchowymi.

Optimizers

Otrzymuje listę optymalizatorów do optymalizacji klauzul.

Root

Otrzymuje lub ustawia wartość węzła korzeniowego.

TotalTriggers

Otrzymuje lub ustawia łączną liczbę wyzwalaczy.

Metody

Nazwa Opis
AddTrigger(Expression, Object, Quantifier[])

Dodaj wyrażenie wyzwalające do drzewa.

AddTrigger(String, Object, Quantifier[])

Dodaj wyrażenie wyzwalające do drzewa.

GenerateGraph(String)

Generuje graf do danej ścieżki.

Matches(Object)

Zwróć możliwe dopasowania na podstawie aktualnego stanu.

RemoveTrigger(Trigger)

Usuń trigger z drzewa.

ToString()

Zwraca ciąg reprezentujący bieżący obiekt.

TreeToString(Int32)

Wygeneruj ciąg opisujący drzewo.

VerifyTree()

Sprawdź, czy drzewo spełnia inwarianty specjalizacji/uogólnienia.

Dotyczy