So erstellen Sie ein Objekt (rufen Sie den Konstruktor an) von einem BOM-Mitglied auf einer Spalte der Entscheidungstabelle?

StackOverflow https://stackoverflow.com//questions/25034462

  •  21-12-2019
  •  | 
  •  

Frage

Ich habe 2 Arraylist von Typ Type1 (sagen wir es) als Regeln-Parameter in meinem Regelprojekt. Eins für in einem anderen dafür. Bei meinem RLILFLOW habe ich eine erste Aktionsaufgabe, die den Parameter OUT-Regeln initialisiert. Da wir eine Arraylist als Input haben, muss ich darüber "iterieren", den ich weiß, wie ich es tut.

Mein Problem kommt danach. In der nächsten Aufgabe meines RELEFLOW habe ich eine Regelaufgabe, in der ich alle meine Entscheidungstabellen hinzugefügt habe, die einige Voraussetzungen haben. Bei den meisten Entscheidungstabellen kann mehr als eine Regel abgefeuert werden. Was ich erreichen möchte, ist für jede Regel abgefeuert, ich möchte ein neues Objekt des Typs Type1 an die Ausgabe-Arrayliste hinzufügen. Das Problem kommt hierher. Wenn ich 3 Regeln abfeuern kann, habe ich tatsächlich 3 Objekte des Typs Type1, die dem Ausgabe-Arraylist hinzugefügt werden, aber alle 3 werden mit denselben Werten geliefert. Sieht aus wie alle sind "Zeigen" auf dasselbe Objekt.

Meine Frage ist, gibt es in einer Action-Spalte, um ein neues Objekt (Anruf des Konstruktors) des Typs Type1 zu erstellen Ich weiß, dass ich dies erreichen kann, wenn ich so viele Regeln, um so viele Regeln zu erstellen, als viele Regeln, die ich jeweils für jede Regel habe,, aber auf diese Weise wird mein Tisch riesig (seitlich) und es ist nicht so, wie wir es wollen.

Beide Typ1 und den Arraylisten sind BOM-Mitglieder.

edit: Vergessen, zu erwähnen, dass ich Reteplus-Algorithmus verwende, mit "None" als Exit-Kriterien und Bestell- und Dynamikbad für die Auswahl der Laufzeitregel.

Ich hoffe, ich habe mir gut genug erklärt, dass jemand mir helfen kann, mir helfen zu können. Vielen Dank im Voraus.

War es hilfreich?

Lösung

Hier ist die Technik, um das zu erreichen, was Sie möchten, in 3 Schritten:

Erstellen Sie im BOM-Editor eine Methode in der TYPE1-Klasse (oder in jeder anderen Klasse).Stellen Sie den Rendite-Typ auf Typ1 ein.Rufen Sie zum Beispiel CremeType1 an.Fügen Sie so viele Methodenargumente hinzu, da Sie Ihr Objekt initialisieren müssen.Machen es statisch.

Verbalisieren Sie es auf eine Weise, die für den Regelautor sinnvoll ist.Etwas wie : Ein neuer Typ1, mit dem Namen, der auf {0} auf {0} eingestellt ist, Wert eingestellt auf {1} // Dies ist ein Beispiel, wenn Sie ihn an die Argumentliste anpassen, die Sie haben möchten.

Implementieren Sie das Verfahren als Stück B2X-Skript:

generasacodicetagpre.

Speichern Sie die BOM.

Diese neue Phrase verwenden, in Konstruktionen wie: Fügen Sie einen neuen Typ1 hinzu, mit dem Namen, der auf "Joe" eingestellt ist, den Wert auf 12 auf die Ausgabeliste eingestellt;

In der Regel können Sie es in einer Action-Spalte eines Entscheidungstabellen verwenden.Der Herausgeber kennzeichnet jeden Platzhalter der Phrase an eine Subzählung.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top