¿Cómo crear un objeto (llame al constructor) de un miembro de BOM en una columna de acción de la tabla de decisiones?

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

  •  21-12-2019
  •  | 
  •  

Pregunta

Tengo 2 Arraylist of Type Type1 (digamos) como parámetros de reglas en mi proyecto de regla. Uno para uno en otro para fuera. En mi reglamento, tengo una tarea de acción inicial que inicializa el parámetro de reglas de salida. Dado que tenemos un arraylist como entrada, tendré que "iterar" sobre esto, lo que sé cómo hacerlo.

Mi problema viene después. En la siguiente tarea de mi reglamento, tengo una tarea de reglas donde agregué todas mis tablas de decisión que tienen algunas condiciones previas. En la mayoría de las mesas de decisión, se pueden disparar más de una regla. Lo que quiero lograr es para cada regla que se encendió, quiero agregar un nuevo objeto de tipo Type1 a la lista de aranceles de salida. El problema viene aquí. Si tengo 3 reglas de disparo, de hecho, tenga 3 objetos de tipo Tipo1 que se agrega al Lista de Array de salida, pero los 3 vienen con los mismos valores. Parece que todos están "apuntando" al mismo objeto.

Mi pregunta es, ¿existe alguna forma en una columna de acción para crear un nuevo objeto (llame al constructor) de tipo Type1, por lo que al ejecutar el resto de las acciones de la regla que escribe en ese nuevo objeto de tipo1? Sé que puedo lograr esto si creo tantas variables de reglas de tipo Tipo1 tantas reglas que tengo y uso cada una para cada regla, pero de esta manera mi mesa se vuelve enorme (de lado) y no es la forma en que lo queremos.

Tipo 1 y los Listas de Array son miembros de BOM.

Editar: Olvidó mencionar que estoy usando el algoritmo de RetePlus, con "Ninguno" como criterios de salida y pedidos y balones dinámicos para la selección de la regla de tiempo de ejecución.

Espero explicarme lo suficientemente bueno para que alguien pueda ayudarme. Gracias de antemano.

¿Fue útil?

Solución

Aquí está la técnica para lograr lo que desea, en 3 pasos:

En el Editor de la BOM, cree un método en la clase TYP1 (o cualquier otra clase de hecho).Establezca su tipo de retorno a Type1.Llámalo CreateType1, por ejemplo.Agregue tantos argumentos de método, ya que necesite inicializar su objeto.Hazlo estático.

verbalizarlo de una manera que tenga sentido para el autor de la regla.Algo como : Un nuevo tipo1, con nombre establecido en {0}, valor establecido en {1} // Este es un ejemplo, adaptándolo a la lista de argumentos que desea tener.

Implementar el método como pieza de script B2X:

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

SALVAR EL BOM.

Usa esta nueva frase, en construcciones como: Agregue un nuevo tipo1, con nombre establecido en "Joe", valor establecido en 12 a la lista de salida;

Típicamente, puede usarlo en una columna de acción de una tabla de decisiones.El editor se asignará a cada marcador de posición de la frase a un subcolumno.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top