Package opendap.dap

Class AttributeTable

    • Constructor Detail

      • AttributeTable

        public AttributeTable​(String clearname)
        Create a new empty AttributeTable.
    • Method Detail

      • size

        public int size()
        Returns:
        the # of contained attributes
      • getAttribute

        @Nullable
        public final Attribute getAttribute​(String clearname)
        Returns the Attribute which matches name.
      • appendAttribute

        public final void appendAttribute​(String clearname,
                                          int type,
                                          String value,
                                          boolean check)
                                   throws DASException
        Adds an attribute to the table. If the given name already refers to an attribute, and the attribute has a vector value, the given value is appended to the attribute vector. Calling this function repeatedly is the way to create an attribute vector.

        The function throws an exception if the attribute is a container, or if the type of the input value does not match the existing attribute's type and the check parameter is true. Use the appendContainer method to add container attributes.

        Parameters:
        clearname - The name of the attribute to add or modify.
        type - The type code of the attribute to add or modify.
        value - The value to add to the attribute table.
        check - Check the validity of the attribute's value?
        Throws:
        AttributeExistsException - thrown if an Attribute with the same name, but a different type was previously defined.
        AttributeBadValueException - thrown if the value is not a legal member of type
        DASException
        See Also:
        appendContainer(String)
      • appendAttribute

        public final void appendAttribute​(String clearname,
                                          int type,
                                          String value)
                                   throws DASException
        Adds an attribute to the table. If the given name already refers to an attribute, and the attribute has a vector value, the given value is appended to the attribute vector. Calling this function repeatedly is the way to create an attribute vector.

        The function throws an exception if the attribute is a container, or if the type of the input value does not match the existing attribute's type. Use the appendContainer method to add container attributes.

        Parameters:
        clearname - The name of the attribute to add or modify.
        type - The type code of the attribute to add or modify.
        value - The value to add to the attribute table.
        Throws:
        AttributeExistsException - thrown if an Attribute with the same name, but a different type was previously defined.
        AttributeBadValueException - thrown if the value is not a legal member of type
        DASException
        See Also:
        appendContainer(String)
      • appendContainer

        @Nullable
        public final AttributeTable appendContainer​(String clearname)
        Create and append an attribute container to the table. A container is another AttributeTable object.
        Parameters:
        clearname - the name of the container to add.
        Returns:
        A pointer to the new AttributeTable object, or null if a container by that name already exists.
      • addContainer

        public final void addContainer​(String clearname,
                                       AttributeTable at)
                                throws AttributeExistsException
        Create and append an attribute container to the table. A container is another AttributeTable object.
        Parameters:
        clearname - the name of the container to add. if a container by that name already exists.
        Throws:
        AttributeExistsException
      • addAlias

        public final void addAlias​(String alias,
                                   String attributeName)
                            throws AttributeExistsException
        Add an alias to the current table. This method is used by the DAS parser to build Aliases for the DAS. And the DDSXMLParser to add them to the DDX

        The new (9/26/02) DDS requires the use of addAlias(String, String, String) and is the preffered way of representing the DAS information.

        Parameters:
        alias - The alias to insert into the attribute table.
        attributeName - The normalized name of the attribute to which the alias will refer.
        Throws:
        AttributeExistsException - thrown if the new alias has the same name as an existing attribute.
      • delAttribute

        public final void delAttribute​(String clearname)
        Delete the attribute named name.
        Parameters:
        clearname - The name of the attribute to delete. This can be an attribute of any type, including containers.
      • delAttribute

        public final void delAttribute​(String clearname,
                                       int i)
                                throws DASException
        Delete the attribute named name. If the attribute has a vector value, delete the i'th element of the vector.
        Parameters:
        clearname - The name of the attribute to delete. This can be an attribute of any type, including containers.
        i - If the named attribute is a vector, and i is non-negative, the i'th entry in the vector is deleted. If i equals -1, the entire attribute is deleted.
        Throws:
        DASException
        See Also:
        delAttribute(String)
      • print

        public void print​(PrintWriter os,
                          String pad)
        Print the attribute table on the given PrintWriter.
        Parameters:
        os - the PrintWriter to use for output.
        pad - the number of spaces to indent each line.
      • print

        public final void print​(OutputStream os,
                                String pad)
        Print the attribute table on the given OutputStream.
        Parameters:
        os - the OutputStream to use for output.
        pad - the number of spaces to indent each line.
      • print

        public final void print​(PrintStream os)
        Print the attribute table on the given PrintWriter with four spaces of indentation.
        Parameters:
        os - the PrintWriter to use for output.
      • print

        public final void print​(PrintWriter os)
        Print the attribute table on the given PrintWriter with four spaces of indentation.
        Parameters:
        os - the PrintWriter to use for output.
      • print

        public final void print​(OutputStream os)
        Print the attribute table on the given OutputStream with four spaces of indentation.
        Parameters:
        os - the OutputStream to use for output.
      • printXML

        public void printXML​(PrintWriter pw,
                             String pad,
                             boolean constrained)