Ejemplo n.º 1
0
        private static void CreateTags(IDictionary <Element, Tag> tagMap, ICollection <Tag> tagList,
                                       AssemblingContext context, Element element, BeginningTag parent)
        {
            if (element is ConcreteElement)
            {
                ElementTag tag = new ElementTag(tagList.Count, context, parent, (ConcreteElement)element);
                tagMap.Add(element, tag);
                tagList.Add(tag);
            }
            else if (element is CompositeElement)
            {
                CompositeElement compositeElement = (CompositeElement)element;

                BeginningTag beginningTag = new BeginningTag(tagList.Count, context, parent, compositeElement);
                tagMap.Add(element, beginningTag);
                tagList.Add(beginningTag);

                foreach (Element e in compositeElement.GetElements())
                {
                    CreateTags(tagMap, tagList, context, e, beginningTag);
                }

                EndTag endTag = new EndTag(tagList.Count, context, parent, beginningTag);
                tagList.Add(endTag);
            }
        }
Ejemplo n.º 2
0
 protected Tag(int index, AssemblingContext context, BeginningTag parent)
 {
     m_index   = index;
     m_context = context;
     m_parent  = parent;
 }
Ejemplo n.º 3
0
 public EndTag(int index, AssemblingContext context, BeginningTag parent, BeginningTag beginningTag)
     : base(index, context, parent)
 {
     m_beginningTag = beginningTag;
 }
Ejemplo n.º 4
0
 public ElementTag(int index, AssemblingContext context, BeginningTag parent, ConcreteElement concreteElement)
     : base(index, context, parent)
 {
     m_concreteElement = concreteElement;
     m_isMeasureValid  = false;
 }
Ejemplo n.º 5
0
 public BeginningTag(int index, AssemblingContext context, BeginningTag parent,
                     CompositeElement compositeElement)
     : base(index, context, parent)
 {
     m_compositeElement = compositeElement;
 }