87 lines
1.6 KiB
JavaScript
Raw Normal View History

2015-10-26 08:03:30 +01:00
2015-11-15 15:06:24 +01:00
var Logger = require('../../logger');
var log = Logger.Log;
2015-10-26 08:03:30 +01:00
var relations = [];
2015-11-15 15:06:24 +01:00
var classes;
2015-10-30 11:34:24 +01:00
var idCache;
2015-11-15 15:06:24 +01:00
classes = {
};
2015-10-26 08:03:30 +01:00
// Functions to be run after graph rendering
var funs = [];
/**
2015-12-27 14:18:21 +01:00
* Function called by parser when a node definition has been found.
2015-10-26 08:03:30 +01:00
* @param id
* @param text
* @param type
* @param style
*/
exports.addClass = function (id) {
2015-11-15 15:06:24 +01:00
if(typeof classes[id] === 'undefined'){
classes[id] = {
id:id,
methods:[],
members:[]
2015-11-15 15:06:24 +01:00
};
2015-10-26 08:03:30 +01:00
}
};
2015-10-26 08:03:30 +01:00
exports.clear = function () {
relations = [];
2015-11-15 15:06:24 +01:00
classes = {};
};
2015-10-26 08:03:30 +01:00
module.exports.getClass = function (id) {
2015-11-15 15:06:24 +01:00
return classes[id];
};
2015-11-15 15:06:24 +01:00
module.exports.getClasses = function () {
return classes;
};
2015-10-30 10:47:25 +01:00
module.exports.getRelations = function () {
return relations;
};
2015-10-26 08:03:30 +01:00
exports.addRelation = function (relation) {
log.warn('Adding relation: ' + JSON.stringify(relation));
exports.addClass(relation.id1);
exports.addClass(relation.id2);
relations.push(relation);
};
exports.addMembers = function (className, MembersArr) {
2015-11-15 15:06:24 +01:00
var theClass = classes[className];
if(typeof MembersArr === 'string'){
if(MembersArr.substr(-1) === ')'){
theClass.methods.push(MembersArr);
}
else{
theClass.members.push(MembersArr);
}
}
};
exports.cleanupLabel = function (label) {
if(label.substring(0,1) === ':'){
return label.substr(2).trim();
}
else{
return label.trim();
}
};
exports.lineType = {
LINE:0,
DOTTED_LINE:1
2015-10-26 08:03:30 +01:00
};
exports.relationType = {
AGGREGATION:0,
EXTENSION:1,
COMPOSITION:2,
DEPENDENCY:3
2015-11-05 18:26:22 -05:00
};