Módulo:Mooc/ManipuladorTipos

ManipuladorTipos

editar

Este módulo armazena informações sobre classes responsáveis para lidar com um tipo de item MOOC.

constructor (init)

editar

Parâ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

editar

Retorna: Classe de analisador que é carregada se não pré-carregada em Lua

getTemplate

editar

Retorna: 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;