Class PDNameTreeNode<T extends COSObjectable>

    • Constructor Detail

      • PDNameTreeNode

        protected PDNameTreeNode()
        Constructor.
      • PDNameTreeNode

        protected PDNameTreeNode​(COSDictionary dict)
        Constructor.
        Parameters:
        dict - The dictionary that holds the name information.
    • Method Detail

      • getCOSObject

        public COSDictionary getCOSObject()
        Convert this standard java object to a COS object.
        Specified by:
        getCOSObject in interface COSObjectable
        Returns:
        The cos object that matches this Java object.
      • getParent

        public PDNameTreeNode<T> getParent()
        Returns the parent node.
        Returns:
        parent node
      • setParent

        public void setParent​(PDNameTreeNode<T> parentNode)
        Sets the parent to the given node.
        Parameters:
        parentNode - the node to be set as parent
      • isRootNode

        public boolean isRootNode()
        Determines if this is a root node or not.
        Returns:
        true if this is a root node
      • getKids

        public java.util.List<PDNameTreeNode<T>> getKids()
        Return the children of this node. This list will contain PDNameTreeNode objects.
        Returns:
        The list of children or null if there are no children.
      • setKids

        public void setKids​(java.util.List<? extends PDNameTreeNode<T>> kids)
        Set the children of this named tree.
        Parameters:
        kids - The children of this named tree.
      • calculateLimits

        private void calculateLimits()
      • getValue

        public T getValue​(java.lang.String name)
                   throws java.io.IOException
        The name to retrieve.
        Parameters:
        name - The name in the tree.
        Returns:
        The value of the name in the tree.
        Throws:
        java.io.IOException - If an there is a problem creating the destinations.
      • getNames

        public java.util.Map<java.lang.String,​T> getNames()
                                                         throws java.io.IOException
        This will return a map of names on this level. The key will be a string, and the value will depend on where this class is being used.
        Returns:
        ordered map of COS objects or null if the dictionary contains no 'Names' entry on this level.
        Throws:
        java.io.IOException - If there is an error while creating the sub types.
        See Also:
        getKids()
      • convertCOSToPD

        protected abstract T convertCOSToPD​(COSBase base)
                                     throws java.io.IOException
        Method to convert the COS value in the name tree to the PD Model object. The default implementation will simply return the given COSBase object. Subclasses should do something specific.
        Parameters:
        base - The COS object to convert.
        Returns:
        The converted PD Model object.
        Throws:
        java.io.IOException - If there is an error during creation.
      • createChildNode

        protected abstract PDNameTreeNode<T> createChildNode​(COSDictionary dic)
        Create a child node object.
        Parameters:
        dic - The dictionary for the child node object to refer to.
        Returns:
        The new child node object.
      • setNames

        public void setNames​(java.util.Map<java.lang.String,​T> names)
        Set the names for this node. This method will set the appropriate upper and lower limits based on the keys in the map.
        Parameters:
        names - map of names to objects, or null for nothing.
      • getUpperLimit

        public java.lang.String getUpperLimit()
        Get the highest value for a key in the name map.
        Returns:
        The highest value for a key in the map.
      • setUpperLimit

        private void setUpperLimit​(java.lang.String upper)
        Set the highest value for the key in the map.
        Parameters:
        upper - The new highest value for a key in the map.
      • getLowerLimit

        public java.lang.String getLowerLimit()
        Get the lowest value for a key in the name map.
        Returns:
        The lowest value for a key in the map.
      • setLowerLimit

        private void setLowerLimit​(java.lang.String lower)
        Set the lowest value for the key in the map.
        Parameters:
        lower - The new lowest value for a key in the map.