rule All2Dot {
	
	parameters : Map {
		"classes" = EClass.all, 
		"format" = "graphviz-dot",
		"path" = List{"Model", "(All classes)"},
		"icon" = "diagram-ff0000"
	}
	
	template: "eclass2dot.egl"
	
}

rule Ecore2Barchart {
	
	parameters : Map {
		"classes" = EClass.all, 
		"format" = "html",
		"path" = List{"Model", "Stats"},
		"icon" = "barchart"
	}
	
	template: "stats.egl"
	
}

rule EClass2Dot 
	transform c : EClass {
	
	parameters {
		var classes = Set{c};
		classes.addAll(c.eReferences.eType);
		classes.addAll(EClass.all.select(o|o.eReferences.eType.includes(c)));
		classes.addAll(c.eSuperTypes);
		classes.addAll(EClass.all.select(o|o.eSuperTypes.includes(c)));
		
		return Map{
			"classes" = classes, 
			"format" = "graphviz-dot",
			"path" = Sequence{"Model", "Classes", c.name},
			"icon" = "diagram-00ff00"
		};
	}
	
	template: "eclass2dot.egl"
	
}