当前位置: 首页 > news >正文

本溪网站开发遵义网警

本溪网站开发,遵义网警,长沙房地产开发商排名,wordpress 用户 新增#xfeff;#xfeff;题外话#xff1a; 最近在忙公司的云项目空闲时间不是很多#xff0c;所以很久没来更新#xff0c;今天补上一篇#xff01; 回顾#xff1a; 前几篇介绍了一下设计器的界面和Draw2d基础知识#xff0c;这篇讲解一下本设计器如何扩展Draw2d。 进…题外话 最近在忙公司的云项目空闲时间不是很多所以很久没来更新今天补上一篇 回顾 前几篇介绍了一下设计器的界面和Draw2d基础知识这篇讲解一下本设计器如何扩展Draw2d。 进入主题 先看一下扩展的类图  其中有颜色标注的类即是扩展类其中Node、Port、InputPort、OutputPort是Draw2d提供的类其余都是扩展类。 这里重点介绍几个核心类以及相关重要的方法如下 上图中黄色部分负责生成Activiti流程文件中Task对应的XML片段所以对于不同类型Task需要实现的方法例如UserTask代码如下 Js代码   draw2d.UserTaskfunction(configPropCallback){      draw2d.Task.call(this,configPropCallback);      this.performerTypenull;      this.dueDatenull;      this.prioritynull;      this.formKey  null;      this.expressionnull;      this.isUseExpressionnull;      this.assigneenull;      this.candidateUsersnew draw2d.ArrayList();      this.candidateGroupsnew draw2d.ArrayList();      this.formPropertiesnew draw2d.ArrayList();      this.taskListenersnew draw2d.ArrayList();      this.setTitle(User Task);  };  draw2d.UserTask.prototypenew draw2d.Task();  draw2d.UserTask.prototype.typedraw2d.UserTask;  draw2d.UserTask.newInstancefunction(userTaskXMLNode){      var task  new draw2d.UserTask();      task.iduserTaskXMLNode.attr(id);      task.taskIduserTaskXMLNode.attr(id);      task.taskNameuserTaskXMLNode.attr(name);      task.setContent(userTaskXMLNode.attr(name));      return task;  };  draw2d.UserTask.prototype.getIconClassName  function(){      return user-task-icon;  };  draw2d.UserTask.prototype.getStartElementXMLfunction(){      var xmluserTask ;      xmlxmlthis.getGeneralXML();      xmlxmlthis.getPerformersXML();      xmlxml\n;      return xml;  };  draw2d.UserTask.prototype.getEndElementXMLfunction(){      var xml  /userTask\n;      return xml;  };  draw2d.UserTask.prototype.getDocumentationXMLfunction(){      if(this.documentationnull||this.documentation)return ;      var xmldocumentation;      xmlxmlthis.documentation;      xmlxml/documentation;      return xml;  };  draw2d.UserTask.prototype.getPerformersXMLfunction(){      var xml;      if(this.isUseExpression){          if(this.expression!nullthis.expression!){              if(this.performerTypeassignee){                  xmlxmlactiviti:assigneethis.expression ;              }else if(this.performerTypecandidateUsers){                  xmlxmlactiviti:candidateUsersthis.expression ;              }else if(this.performerTypecandidateGroups){                  xmlxmlactiviti:candidateGroupsthis.expression ;              }          }      }else{          if(this.performerTypeassignee){              if(this.assignee!nullthis.assignee!)                  xmlxmlthis.assignee;          }else if(this.performerTypecandidateUsers){              for(var i0;ithis.candidateUsers.getSize();i){                  var user  this.candidateUsers.get(i);                  xmlxmluser.sso,;              }          }else if(this.performerTypecandidateGroups){              for(var i0;ithis.candidateGroups.getSize();i){                  var group  this.candidateGroups.get(i);                  xmlxmlgroup,;              }          }      }      if(this.dueDate!nullthis.dueDate!){          xmlxmlactiviti:dueDatethis.dueDate       }      if(this.formKey ! null  this.formKey ! ){          xmlxmlactiviti:formKeythis.formKey ;      }      if(this.priority!nullthis.priority!){          xmlxmlactiviti:prioritythis.priority       }            return xml;  };  draw2d.UserTask.prototype.getExtensionElementsXMLfunction(){      if(this.listeners.getSize()0this.formProperties.getSize()0)return ;      var xml  extensionElements\n;      xmlxmlthis.getFormPropertiesXML();      xmlxmlthis.getListenersXML();      xmlxml/extensionElements\n;      return xml;  };  draw2d.UserTask.prototype.getListenersXMLfunction(){      var xml  draw2d.Task.prototype.getListenersXML.call(this);      for(var i0;ithis.taskListeners.getSize();i){          var listener  this.taskListeners.get(i);          xmlxmllistener.toXML();      }      return xml;  };  draw2d.UserTask.prototype.getFormPropertiesXMLfunction(){      var xml  ;      for(var i0;ithis.formProperties.getSize();i){          var formProperty  this.formProperties.get(i);          xmlxmlformProperty.toXML();      }      return xml;  };  draw2d.UserTask.prototype.toXMLfunction(){      var xmlthis.getStartElementXML();      xmlxmlthis.getDocumentationXML();      xmlxmlthis.getExtensionElementsXML();      xmlxmlthis.getMultiInstanceXML();      xmlxmlthis.getEndElementXML();      return xml;  }  draw2d.UserTask.prototype.getCandidateUserfunction(sso){      for(var i0;ithis.candidateUsers.getSize();i){          var candidate  this.candidateUsers.get(i);          if(candidate.ssosso){              return candidate;          }      }      return null;  };  draw2d.UserTask.prototype.deleteCandidateUserfunction(sso){      var candidate  this.getCandidateUser(sso);      this.candidateUsers.remove(candidate);  };  draw2d.UserTask.prototype.addCandidateUserfunction(user){      if(this.getCandidateUser(user.sso)null)          this.candidateUsers.add(user);  };  draw2d.UserTask.prototype.getCandidateGroupfunction(name){      for(var i0;ithis.candidateGroups.getSize();i){          var candidate  this.candidateGroups.get(i);          if(candidatename){              return candidate;          }      }      return null;  };  draw2d.UserTask.prototype.deleteCandidateGroupfunction(name){      var candidate  this.getCandidateGroup(name);      this.candidateGroups.remove(candidate);  };  draw2d.UserTask.prototype.addCandidateGroupfunction(name){      if(!this.candidateGroups.contains(name))          this.candidateGroups.add(name);  };  draw2d.UserTask.prototype.getTaskListenerfunction(id){      for(var i0;ithis.taskListeners.getSize();i){          var listener  this.taskListeners.get(i);          if(listener.getId() id){              return listener;          }      }  };  draw2d.UserTask.prototype.deleteTaskListenerfunction(id){      var listener  this.getTaskListener(id);      this.taskListeners.remove(listener);  };  draw2d.UserTask.prototype.addTaskListenerfunction(listener){      this.taskListeners.add(listener);  };  draw2d.UserTask.prototype.setTaskListenersfunction(listeners){      this.taskListeners  listeners;  };  draw2d.UserTask.prototype.getFormPropertiesfunction(id){      for(var i0;ithis.formProperties.getSize();i){          var prop  this.formProperties.get(i);          if(prop.id id){              return prop;          }      }  };  draw2d.UserTask.prototype.deleteFormPropertiesfunction(id){      var prop  this.getFormProperties(id);      this.formProperties.remove(prop);  };  draw2d.UserTask.prototype.addFormPropertiesfunction(prop){      this.formProperties.add(prop);  };  draw2d.UserTask.prototype.setFormPropertiesfunction(props){      this.formProperties  props;  };   draw2d.UserTaskfunction(configPropCallback){draw2d.Task.call(this,configPropCallback);this.performerTypenull;this.dueDatenull;this.prioritynull;this.formKey null;this.expressionnull;this.isUseExpressionnull;this.assigneenull;this.candidateUsersnew draw2d.ArrayList();this.candidateGroupsnew draw2d.ArrayList();this.formPropertiesnew draw2d.ArrayList();this.taskListenersnew draw2d.ArrayList();this.setTitle(User Task); }; draw2d.UserTask.prototypenew draw2d.Task(); draw2d.UserTask.prototype.typedraw2d.UserTask; draw2d.UserTask.newInstancefunction(userTaskXMLNode){var task new draw2d.UserTask();task.iduserTaskXMLNode.attr(id);task.taskIduserTaskXMLNode.attr(id);task.taskNameuserTaskXMLNode.attr(name);task.setContent(userTaskXMLNode.attr(name));return task; }; draw2d.UserTask.prototype.getIconClassName function(){return user-task-icon; }; draw2d.UserTask.prototype.getStartElementXMLfunction(){var xmluserTask ;xmlxmlthis.getGeneralXML();xmlxmlthis.getPerformersXML();xmlxml\n;return xml; }; draw2d.UserTask.prototype.getEndElementXMLfunction(){var xml /userTask\n;return xml; }; draw2d.UserTask.prototype.getDocumentationXMLfunction(){if(this.documentationnull||this.documentation)return ;var xmldocumentation;xmlxmlthis.documentation;xmlxml/documentation;return xml; }; draw2d.UserTask.prototype.getPerformersXMLfunction(){var xml;if(this.isUseExpression){if(this.expression!nullthis.expression!){if(this.performerTypeassignee){xmlxmlactiviti:assigneethis.expression ;}else if(this.performerTypecandidateUsers){xmlxmlactiviti:candidateUsersthis.expression ;}else if(this.performerTypecandidateGroups){xmlxmlactiviti:candidateGroupsthis.expression ;}}}else{if(this.performerTypeassignee){if(this.assignee!nullthis.assignee!)xmlxmlthis.assignee;}else if(this.performerTypecandidateUsers){for(var i0;ithis.candidateUsers.getSize();i){var user this.candidateUsers.get(i);xmlxmluser.sso,;}}else if(this.performerTypecandidateGroups){for(var i0;ithis.candidateGroups.getSize();i){var group this.candidateGroups.get(i);xmlxmlgroup,;}}}if(this.dueDate!nullthis.dueDate!){xmlxmlactiviti:dueDatethis.dueDate }if(this.formKey ! null this.formKey ! ){xmlxmlactiviti:formKeythis.formKey ;}if(this.priority!nullthis.priority!){xmlxmlactiviti:prioritythis.priority }return xml; }; draw2d.UserTask.prototype.getExtensionElementsXMLfunction(){if(this.listeners.getSize()0this.formProperties.getSize()0)return ;var xml extensionElements\n;xmlxmlthis.getFormPropertiesXML();xmlxmlthis.getListenersXML();xmlxml/extensionElements\n;return xml; }; draw2d.UserTask.prototype.getListenersXMLfunction(){var xml draw2d.Task.prototype.getListenersXML.call(this);for(var i0;ithis.taskListeners.getSize();i){var listener this.taskListeners.get(i);xmlxmllistener.toXML();}return xml; }; draw2d.UserTask.prototype.getFormPropertiesXMLfunction(){var xml ;for(var i0;ithis.formProperties.getSize();i){var formProperty this.formProperties.get(i);xmlxmlformProperty.toXML();}return xml; }; draw2d.UserTask.prototype.toXMLfunction(){var xmlthis.getStartElementXML();xmlxmlthis.getDocumentationXML();xmlxmlthis.getExtensionElementsXML();xmlxmlthis.getMultiInstanceXML();xmlxmlthis.getEndElementXML();return xml; } draw2d.UserTask.prototype.getCandidateUserfunction(sso){for(var i0;ithis.candidateUsers.getSize();i){var candidate this.candidateUsers.get(i);if(candidate.ssosso){return candidate;}}return null; }; draw2d.UserTask.prototype.deleteCandidateUserfunction(sso){var candidate this.getCandidateUser(sso);this.candidateUsers.remove(candidate); }; draw2d.UserTask.prototype.addCandidateUserfunction(user){if(this.getCandidateUser(user.sso)null)this.candidateUsers.add(user); }; draw2d.UserTask.prototype.getCandidateGroupfunction(name){for(var i0;ithis.candidateGroups.getSize();i){var candidate this.candidateGroups.get(i);if(candidatename){return candidate;}}return null; }; draw2d.UserTask.prototype.deleteCandidateGroupfunction(name){var candidate this.getCandidateGroup(name);this.candidateGroups.remove(candidate); }; draw2d.UserTask.prototype.addCandidateGroupfunction(name){if(!this.candidateGroups.contains(name))this.candidateGroups.add(name); }; draw2d.UserTask.prototype.getTaskListenerfunction(id){for(var i0;ithis.taskListeners.getSize();i){var listener this.taskListeners.get(i);if(listener.getId() id){return listener;}} }; draw2d.UserTask.prototype.deleteTaskListenerfunction(id){var listener this.getTaskListener(id);this.taskListeners.remove(listener); }; draw2d.UserTask.prototype.addTaskListenerfunction(listener){this.taskListeners.add(listener); }; draw2d.UserTask.prototype.setTaskListenersfunction(listeners){this.taskListeners listeners; }; draw2d.UserTask.prototype.getFormPropertiesfunction(id){for(var i0;ithis.formProperties.getSize();i){var prop this.formProperties.get(i);if(prop.id id){return prop;}} }; draw2d.UserTask.prototype.deleteFormPropertiesfunction(id){var prop this.getFormProperties(id);this.formProperties.remove(prop); }; draw2d.UserTask.prototype.addFormPropertiesfunction(prop){this.formProperties.add(prop); }; draw2d.UserTask.prototype.setFormPropertiesfunction(props){this.formProperties props; }; 请注意代码中toXML方法这个方法负责产生UserTask节点的XML代码片段它调用了其他几个方法getStartElementXML、getDocumentationXML、getExtensionElementsXML、getMultiInstanceXML、getEndElementXML,不同类型的Task可能不需要调用所以这些方法可以根据需要选择性调用当然这取决于Activiti流程文件的规范当然对于不同类型的Task你也可以添加一些自定义的方法如生成操作人的方法代码中getPerformersXML方法等等。 由于Activiti设计的Task类型比较多这里就不一一介绍了有兴趣可以去查看一下源代码还是很好理解的有问题可以给我留言 时间有限就先写到这吧下一篇介绍一下其他扩展类敬请关注。。。。。。
http://www.pierceye.com/news/414860/

相关文章:

  • 响应式网站设计的优点国内优秀设计网站
  • 网站开发集成环境国内html5网站欣赏
  • iis7.5 没有默认网站北京seo的排名优化
  • 两学一做网站是多少钱营销型网站策划怎么做
  • 渭南做网站的自建房设计图
  • 移动网站建设价格线上推广专员是干嘛的
  • 做化妆刷的外贸网站企业网站托管备案
  • 湖南省建设干部学校 网站金融直播室网站建设
  • 贵州建设厅特殊工种考试网站photoshop平面设计教学视频
  • 怎么推广我的网站代理网站推荐
  • wordpress主题站模板做网站跟做APP哪个容易
  • 杭州网站建设公司推荐网站建设优化服务渠道
  • php是网站开发语言吗做网站前端需要编程基础吗
  • python 网站开发 前端企业信用信息系统官网
  • 公司网站设计有哪些使用技巧呢商城网站建设怎么收费
  • 东莞做网站平台安阳营销型网站建设
  • 如何查看网站开发语言百度排行榜风云榜
  • 泉州 网站建设公司首选广告设计公司名字有寓意有创意
  • 天津个人做网站慈利网站制作
  • 专门做推广的网站吗宿迁房价2023年最新房价
  • 0基础12天精通网站建设网站建设 全网推广
  • 东莞网站营销推广公司移动应用开发案例
  • 妇科医院网站建设怎么做网站建设培训心得体会
  • 网站建设 管理正能量网站入口地址
  • 做网站没有创意Wordpress国际收款
  • 网站推广关键词工具wap网站分享到微信
  • 哪个网站可以给图片做链接做网站的公司在哪
  • 搬瓦工可以长期做网站广告制作开票大类是什么
  • 高级网站开发工信部小企业门户网站建设
  • 网站建站知识秦皇岛汽车网站制作