Class PrimitiveScanner.EmptySection

java.lang.Object
org.simpleframework.xml.core.PrimitiveScanner.EmptySection
All Implemented Interfaces:
Iterable<String>, Section
Enclosing class:
PrimitiveScanner

private static class PrimitiveScanner.EmptySection extends Object implements Section
The EmptySection object creates a section for used with primitives that has no values. No primitive can have annotations as they will be processed by a transform rather than by a schema object, this object saves memory and time.
  • Field Details

    • list

      private final List<String> list
      This is an empty list used to create empty iterators.
    • scanner

      private final Scanner scanner
      This is the source scanner object this is created for.
  • Constructor Details

    • EmptySection

      public EmptySection(Scanner scanner)
      Constructor for the EmptySection object. This is used to represent a primitive where thare are no other parts to the object. This acts as a lightweight container.
      Parameters:
      scanner - this is the owning scanner for the section
  • Method Details

    • iterator

      public Iterator<String> iterator()
      This will produce an interator with no elements. No elements are returned because this represents an empty section. A non-null value is best as it avoids possible exceptions.
      Specified by:
      iterator in interface Iterable<String>
      Returns:
      this returns an empty iterator for the section
    • getName

      public String getName()
      This is used to return the name of the section. The name is must be a valid XML element name. It is used when a style is applied to a path as the section name must be styled.
      Specified by:
      getName in interface Section
      Returns:
      this returns the name of this section instance
    • getPrefix

      public String getPrefix()
      This is used to acquire the path prefix for the section. The path prefix is used when the section is transformed in to an XML structure. This ensures that the XML element created to represent the section contains the optional prefix.
      Specified by:
      getPrefix in interface Section
      Returns:
      this returns the prefix for this section
    • getText

      public Label getText()
      This is used to acquire the text label for this section if one has been specified. A text label can only exist in a section if there are no elements associated with the section and the section is not composite, as in it does not contain any further sections.
      Specified by:
      getText in interface Section
      Returns:
      this returns the text label for this section
    • getElements

      public LabelMap getElements()
      Returns a LabelMap that contains the details for all fields and methods marked with XML annotations. All of the element annotations are considered and gathered by name in this map. Also, if there is an associated Style for serialization the element names are renamed with this.
      Specified by:
      getElements in interface Section
      Returns:
      returns the elements associated with this section
    • getAttributes

      public LabelMap getAttributes()
      Returns a LabelMap that contains the details for all fields and methods marked with XML annotations. All of the attribute annotations are considered and gathered by name in this map. Also, if there is an associated Style for serialization the attribute names are renamed with this.
      Specified by:
      getAttributes in interface Section
      Returns:
      returns the attributes associated with this section
    • getElement

      public Label getElement(String name)
      Returns the named element as a Label object. For convenience this method is provided so that when iterating over the names of the elements in the section a specific one of interest can be acquired.
      Specified by:
      getElement in interface Section
      Parameters:
      name - the name of the element that is to be acquired
      Returns:
      this returns the label associated with the name
    • getSection

      public Section getSection(String name)
      Returns the named section as a Section object. For convenience this method is provided so that when iterating over the names of the elements in the section a specific one of interest can be acquired.
      Specified by:
      getSection in interface Section
      Parameters:
      name - the name of the element that is to be acquired
      Returns:
      this returns the section associated with the name
    • getPath

      public String getPath(String name)
      This is used to acquire the full element path for this section. The element path is simply the fully qualified path for this expression with the provided name appended. If this is an empty path, the provided name is returned.
      Specified by:
      getPath in interface Section
      Parameters:
      name - this is the name of the element to be used
      Returns:
      a fully qualified path for the specified name
    • getAttribute

      public String getAttribute(String name)
      This is used to acquire the full attribute path for this section. The attribute path is simply the fully qualified path for this expression with the provided name appended. If this is an empty path, the provided name is returned.
      Specified by:
      getAttribute in interface Section
      Parameters:
      name - this is the name of the attribute to be used
      Returns:
      a fully qualified path for the specified name
    • isSection

      public boolean isSection(String name)
      To differentiate between a section and an element this can be used. When iterating over the elements within the section the names of both elements and sections are provided. So in order to determine how to interpret the structure this can be used.
      Specified by:
      isSection in interface Section
      Parameters:
      name - this is the name of the element to be determined
      Returns:
      this returns true if the name represents a section