package org.nlamah.QLS.Model.StylesheetBlock;
import java.util.List;
import org.nlamah.QLS.Interfaces.QLSNodeVisitor;
import org.nlamah.QLS.Model.Abstract.QLSNode;
import org.nlamah.QLS.Model.Abstract.SectionItem;
public class Section extends SectionItem
{
private List<? extends SectionItem> sectionItems;
private int depthLevel;
public Section(String title, List<? extends SectionItem> sectionItems, List<DefaultBlock> defaultBlocks, int depthLevel)
{
super(title, defaultBlocks);
this.sectionItems = sectionItems;
this.depthLevel = depthLevel;
for (SectionItem sectionItem : sectionItems)
{
sectionItem.setParentNode(this);
}
}
public Section(String title, List<? extends SectionItem> sectionItems, List<DefaultBlock> defaultBlocks)
{
this(title, sectionItems, defaultBlocks, -1);
}
public List<? extends SectionItem> sectionItems()
{
return sectionItems;
}
public int depthLevel()
{
return depthLevel;
}
@Override
public QLSNode accept(QLSNodeVisitor visitor)
{
return visitor.visit(this);
}
@Override
public boolean equals(Object object)
{
if (!super.equals(object))
{
return false;
}
if (!(object instanceof Section))
{
return false;
}
Section value = (Section)object;
if (!(sectionItems.equals(value.sectionItems)))
{
return false;
}
return true;
}
}