湖州项目前端
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

195 lines
3.6 KiB

6 months ago
/**
*
* @author Tom Baeyens
* @author (Javascript) Dmitry Farafonov
*/
var ActivityImpl = function(activityJson){
this.outgoingTransitions = [];
this.outgoingTransitions = [];
this.incomingTransitions = [];
this.activityBehavior = null;
this.parent = null;
this.isScope = false;
this.isAsync = false;
this.isExclusive = false;
this.x = -1;
this.y = -1;
this.width = -1;
this.height = -1;
this.properties = {};
//console.log("activityJson: ", activityJson);
if (activityJson != undefined) {
this.setId(activityJson.activityId);
for (var propertyName in activityJson.properties) {
this.setProperty(propertyName, activityJson.properties[propertyName]);
}
//this.setProperty("name", activityJson.activityName);
//this.setProperty("type", activityJson.activityType);
this.setX(activityJson.x);
this.setY(activityJson.y);
this.setWidth(activityJson.width);
this.setHeight(activityJson.height);
if (activityJson.multiInstance)
this.setProperty("multiInstance", activityJson.multiInstance);
if (activityJson.collapsed) {
this.setProperty("collapsed", activityJson.collapsed);
}
if (activityJson.isInterrupting != undefined)
this.setProperty("isInterrupting", activityJson.isInterrupting);
}
};
ActivityImpl.prototype = {
outgoingTransitions: [],
outgoingTransitions: [],
incomingTransitions: [],
activityBehavior: null,
parent: null,
isScope: false,
isAsync: false,
isExclusive: false,
id: null,
properties: {},
// Graphical information
x: -1,
y: -1,
width: -1,
height: -1,
setId: function(id){
this.id = id;
},
getId: function(){
return this.id;
},
setProperty: function(name, value){
this.properties[name] = value;
},
getProperty: function(name){
return this.properties[name];
},
createOutgoingTransition: function(transitionId){
},
toString: function(id) {
return "Activity("+id+")";
},
getParentActivity: function(){
/*
if (parent instanceof ActivityImpl) {
79 return (ActivityImpl) parent;
80 }
81 return null;
*/
return this.parent;
},
// restricted setters ///////////////////////////////////////////////////////
setOutgoingTransitions: function(outgoingTransitions){
this.outgoingTransitions = outgoingTransitions;
},
setParent: function(parent){
this.parent = parent;
},
setIncomingTransitions: function(incomingTransitions){
this.incomingTransitions = incomingTransitions;
},
// getters and setters //////////////////////////////////////////////////////
getOutgoingTransitions: function(){
return this.outgoingTransitions;
},
getActivityBehavior: function(){
return this.activityBehavior;
},
setActivityBehavior: function(activityBehavior){
this.activityBehavior = activityBehavior;
},
getParent: function(){
return this.parent;
},
getIncomingTransitions: function(){
return this.incomingTransitions;
},
isScope: function(){
return this.isScope;
},
setScope: function(isScope){
this.isScope = isScope;
},
getX: function(){
return this.x;
},
setX: function(x){
this.x = x;
},
getY: function(){
return this.y;
},
setY: function(y){
this.y = y;
},
getWidth: function(){
return this.width;
},
setWidth: function(width){
this.width = width;
},
getHeight: function(){
return this.height;
},
setHeight: function(height){
this.height = height;
},
isAsync: function() {
return this.isAsync;
},
setAsync: function(isAsync) {
this.isAsync = isAsync;
},
isExclusive: function() {
return this.isExclusive;
},
setExclusive: function(isExclusive) {
this.isExclusive = isExclusive;
},
vvoid: function(){}
};