private static Transformer createTransformer(TransformerParams transformerParams) { var tag = new Tag(transformerParams.MarkupStart, transformerParams.MarkupEnd); switch(transformerParams.TagType) { case "transformer": return new SimpleTransformer(tag, transformerParams.CssClass); case "imgTransformer": return new ImageTransformer(tag, transformerParams.CssClass); default: throw new ConfigFileCorruptException(string.Format("Tag type {0} unknown.", transformerParams.TagType)); } }
private void parseConfig() { TransformerPool = new TransformerPool(); TagPool = new TagPool(); var rootNode = _configFile.Element("transformers"); if (rootNode == null) throw new ConfigFileCorruptException("<transformers> node missing"); foreach (var node in rootNode.Descendants()) { var transformerParams = new TransformerParams(node); var transformer = createTransformer(transformerParams); var tag = transformer.Tag; TransformerPool.Add(transformer); TagPool.Add(tag); } }