Decision Table Action 열의 BOM 멤버에서 개체를 만드는 방법 (생성자 호출)?

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

  •  21-12-2019
  •  | 
  •  

문제

I 형 Type1 유형의 2 개의 ArrayList (IT)를 규칙 프로젝트의 룰 세트 매개 변수로 만듭니다. 하나는 다른 하나를 위해 하나씩. 내 규칙 흐름에서는 out ruleset 매개 변수를 초기화하는 초기 작업 작업이 있습니다. 우리는 입력으로 ArrayList가 있기 때문에 나는 그것을하는 방법을 알고있는 "반복"해야합니다.

내 문제가 발생합니다. 규칙 흐름의 다음 태스크에서는 몇 가지 사전 조건이있는 모든 의사 결정 테이블을 모두 추가 한 규칙 작업이 있습니다. 대부분의 결정 테이블에서 둘 이상의 규칙을 해고 할 수 있습니다. 내가 달성하고 싶은 것은 각 규칙에 대한 새로운 객체를 출력 ArrayList에 추가하는 새로운 객체를 추가하려고합니다. 문제가 여기 온다. 3 개의 규칙을 발사하는 경우 사실 출력 ArrayList에 추가되는 Type1 유형의 3 개의 객체가 있지만 모두 동일한 값이 제공됩니다. 모두 같은 객체에 "가리키는"것처럼 보입니다.

내 질문은 Action 컬럼에 액션 열에있는 방법이 있으며 Type1 유형의 새 오브젝트 (생성자를 호출) 할 때 Type1의 새로운 객체에 쓰는 규칙의 나머지 작업을 실행할 때 나머지 작업을 실행할 때? 제가 내가 가진 많은 규칙을 가진 유형의 규칙을 작성하고 각 규칙에 대해 각 규칙에 대해 각각을 사용하는 것의 많은 규칙 집합 변수를 만드는 경우에이를 달성 할 수 있다는 것을 알고 있지만,이 방법은 거대한 (옆으로) 그것을 얻고 우리가 원하는 방식이 아닙니다.

모두 Type1과 ArrayLists는 BOM 구성원입니다.

편집 : RetePlus 알고리즘을 사용하고있는 것을 잊어 버렸습니다. 런타임 규칙 선택을위한 "없음"및 동적 BAL을 "없음"으로 사용하고 있습니다.

나는 누군가가 나를 도울 수있게 될만 큼 충분히 좋은 것을 설명하기를 바랍니다. 미리 감사드립니다.

도움이 되었습니까?

해결책

여기에 3 단계로 원하는 것을 얻는 기술입니다.

BOM 편집기에서 Type1 클래스 (또는 사실 다른 클래스)에서 메서드를 만듭니다.그 반환 유형을 Type1로 설정하십시오.예를 들어 CreateType1을 호출하십시오.객체를 초기화하는 데 필요한만큼 많은 메소드 인수를 추가하십시오.그것을 정적으로 만드십시오.

은 규칙 작성자에게 의미가있는 방식으로 verballize합니다.뭔가 : {0}으로 설정된 이름이있는 새 Type1, {1} //로 설정된 값은 예제이며 원하는 인수 목록에 적응합니다.

b2x 스크립트의 방법을 구현합니다.

// calling the appropriate constructor from the XOM class.
return new mypackage.TYPE1(arg1, arg2); 
.

BOM을 저장하십시오.

다음과 같은 구조 에서이 새로운 문구를 사용하십시오. "Joe"로 설정된 이름이있는 새 Type1을 추가하고 값은 12로 설정된 값을 출력 목록으로 설정합니다.

일반적으로 의사 결정 테이블의 동작 열에서 사용할 수 있습니다.편집자는 문구의 모든 자리 표시자를 하위 색상으로 매핑합니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top