All Downloads are FREE. Search and download functionalities are using the official Maven repository.

org.leibnizcenter.uk.legislation.TableOfContentsElement Maven / Gradle / Ivy

The newest version!
package org.leibnizcenter.uk.legislation;

import uk.gov.legislation.namespaces.legislation.ContentsTitle;
import uk.gov.legislation.namespaces.legislation.InlineRestrictedStructure;

import java.util.ArrayList;
import java.util.List;

/**
 * There are a multitude of XML elements that may appear in the table of contents, so we introduce this interface to
 * create a semantic group for them. For an example ToC, see http://www.legislation.gov.uk/ukpga/1998/29/contents/data.xml.
 * 

* Created by maarten on 2-9-15. */ public interface TableOfContentsElement { /** * Gets the value of the idURI property. * * @return possible object is {@link String } */ String getIdURI(); /** * Gets the value of the contentRef property. * * @return possible object is * {@link String } */ String getContentRef(); /** * Gets the value of the restrictExtent property. * * @return possible object is * {@link String } */ String getRestrictExtent(); /** * Gets the value of the documentURI property. * * @return possible object is * {@link String } */ String getDocumentURI(); ContentsTitle getContentsTitle(); InlineRestrictedStructure getContentsNumber(); /** * @return List of child elements that can be seen as entities in a table of contents */ List getToCChildren(); class Helper { public static List castToTableOfContentsElement(List objList) { List l = new ArrayList<>(objList.size()); for (Object o : objList) { l.add((TableOfContentsElement) o); } return l; } } }