Ben Drools 6.3.0 Final kullanıyorum. BuDamlalar: LHS desen tanımlayıcı alın
rule "Child of Person over 18"
when
$person : Person(age > 18)
$child : from $person.children
then
end
gibi bir kural bize ayrıca, bu kurala benim KieSession inşa varsayalım bazı gerçekleri ekleyelim ve şimdi benim gerçekleri eşleşti tüm kurallarda/tüm kurallara kullanılan tanımlayıcıları bilmek istiyorum varsayarsak.
Buraya ulaşmak istediğim kişi $ ve $ çocuk.
Bir AgendaEventListener kullanarak tetiklenen kuralları ve kuralın adını alabildiğim olayın yanı sıra $ insan ve $ child için nesneleri alabildiğimi biliyorum. Ama eşleştiricilere $ kişiyi ve $ çocuğumu eşleştirmem için bir yol bulamadım. Bir hata ayıklayıcısını kullanarak bilgileri görebiliyorum ... aslında olaydan aldığım Kural, bu bilgiyi bulabildiğim bir lhsRoot'a sahip olan bir RuleImpl ... ama bu olması gerekenden çok daha karmaşık geliyor amaçlanan ve değil.
Bunun için daha iyi bir yol olmadığını merak ediyordum.
Bu kuralla tamamen uyuşan bilgi ile ne yapmak istersiniz? – laune
RuleImpl ve GroupElement, kamuya açık olmayan API sınıflarıdır; bu, bunların bildirimde bulunulmadan değiştirilebileceği anlamına gelir. Standart tavsiye, bu sınıflar üzerindeki herhangi bir ciddi uygulama programına dayanmamaktır. – laune
Sonuç için kendi sistemimi sağlamalıyım, bu yüzden eşleşen değerler ve kuralda kullanılan isimlere ihtiyacım var. Bunun için bir kamu API'sı olduğunu umuyorum, ama eğer değilse, o zaman Java tüm ihtiyaçları karşılamak için yeterli olmasaydı dahili – blackdrag