| 1234567891011121314151617181920212223242526272829 |
- import SiguiyamaAlgorithm from "./optimizer/siguiyama/SiguiyamaAlgorithm.js";
- import Graph from "./graph/Graph.js";
- import Node from "./graph/node/Node.js";
- import Edge from "./graph/edge/Edge.js";
- import BPMNError from "./errors/BPMNError.js";
- export class BPMNOptimizer {
- private _optimizationAlgorithm?: SiguiyamaAlgorithm;
- private _graph?: Graph<Node, Edge<Node>>;
- public setOptimizationAlgorithm(algorithm: SiguiyamaAlgorithm) : this {
- this._optimizationAlgorithm = algorithm;
- return this;
- }
- public setGraph(graph: Graph<Node, Edge<Node>>) : this {
- this._graph = graph;
- return this;
- }
- public run() : void {
- if(!this._optimizationAlgorithm)
- throw new BPMNError("Optimization algorithm not found, call \"setOptimizationAlgorithm\" method first!");
- if(!this._graph)
- throw new BPMNError("Graph graph not found, call \"setGraph\" method first!");
- this._optimizationAlgorithm.run(this._graph);
- }
- }
|