Módulo:Mooc/ManipuladorTipos
ManipuladorTipos
editarEste módulo armazena informações sobre classes responsáveis para lidar com um tipo de item MOOC.
constructor (init)
editarParâmetros:
- [
Mooc/Data/Item.Type
] type: tipo de item MOOC pelo qual esse manipulador é responsável - [
String
] parserPath: caminho para a classe analisadora - [
String
] templatePath: caminho para o template
Exemplo:
local lessonHandler = TypeHandler(lesson, "Módulo:Mooc/Data/Lição", "Módulo:Mooc/Modelo/Lição")
getParser
editarRetorna: Classe de analisador que é carregada se não pré-carregada em Lua
getTemplate
editarRetorna: Classe de template que é carregada se não pré-carregada em Lua
local inheritance = require("Módulo:Herança");
local TypeHandler = inheritance.extend(inheritance.Class);
function TypeHandler:init(type, parserPath, templatePath)
self.type = type;
self.parserPath = parserPath;
self.templatePath = templatePath;
end
function TypeHandler:getType()
return self.type;
end
function TypeHandler:getParser()
if self.parser == nil then
self.parser = require(self.parserPath);
end
return self.parser;
end
function TypeHandler:getTemplate()
if self.template == nil then
self.template = require(self.templatePath);
end
return self.template;
end
function TypeHandler:handlesType(typeIdentifier)
return self.type:isType(typeIdentifier);
end
return TypeHandler;