Class DefaultConfiguration

    • Field Detail

      • EMPTY_ARRAY

        protected static final Configuration[] EMPTY_ARRAY
        An empty (length zero) array of configuration objects.
    • Constructor Detail

      • DefaultConfiguration

        public DefaultConfiguration​(Configuration config)
                             throws ConfigurationException
        Shallow copy constructor, suitable for craeting a writable clone of a read-only configuration. To modify children, use getChild(), removeChild() and addChild().
        Parameters:
        config - the Configuration to copy
        Throws:
        ConfigurationException - if an error occurs when copying
      • DefaultConfiguration

        public DefaultConfiguration​(java.lang.String name)
        Create a new DefaultConfiguration instance.
        Parameters:
        name - a String value
      • DefaultConfiguration

        public DefaultConfiguration​(java.lang.String name,
                                    java.lang.String location)
        Create a new DefaultConfiguration instance.
        Parameters:
        name - a String value
        location - a String value
      • DefaultConfiguration

        public DefaultConfiguration​(java.lang.String name,
                                    java.lang.String location,
                                    java.lang.String ns,
                                    java.lang.String prefix)
        Create a new DefaultConfiguration instance.
        Parameters:
        name - config node name
        location - Builder-specific locator string
        ns - Namespace string (typically a URI). Should not be null; use "" if no namespace.
        prefix - A short string prefixed to element names, associating elements with a longer namespace string. Should not be null; use "" if no namespace.
        Since:
        4.1
    • Method Detail

      • getName

        public java.lang.String getName()
        Returns the name of this configuration element.
        Specified by:
        getName in interface Configuration
        Returns:
        a String value
      • getLocation

        public java.lang.String getLocation()
        Returns a description of location of element.
        Specified by:
        getLocation in interface Configuration
        Returns:
        a String value
      • getValue

        public java.lang.String getValue​(java.lang.String defaultValue)
        Returns the value of the configuration element as a String.
        Specified by:
        getValue in interface Configuration
        Overrides:
        getValue in class AbstractConfiguration
        Parameters:
        defaultValue - the default value to return if value malformed or empty
        Returns:
        a String value
      • getAttributeNames

        public java.lang.String[] getAttributeNames()
        Return an array of all attribute names.
        Specified by:
        getAttributeNames in interface Configuration
        Returns:
        a String[] value
      • getChildren

        public Configuration[] getChildren()
        Return an array of Configuration elements containing all node children.
        Specified by:
        getChildren in interface Configuration
        Returns:
        The child nodes with name
      • getAttribute

        public java.lang.String getAttribute​(java.lang.String name)
                                      throws ConfigurationException
        Returns the value of the attribute specified by its name as a String.
        Specified by:
        getAttribute in interface Configuration
        Parameters:
        name - a String value
        Returns:
        a String value
        Throws:
        ConfigurationException - If the attribute is not present.
      • getChild

        public Configuration getChild​(java.lang.String name,
                                      boolean createNew)
        Return the first Configuration object child of this associated with the given name.
        Specified by:
        getChild in interface Configuration
        Overrides:
        getChild in class AbstractConfiguration
        Parameters:
        name - a String value
        createNew - a boolean value
        Returns:
        a Configuration value
      • getChildren

        public Configuration[] getChildren​(java.lang.String name)
        Return an array of Configuration objects children of this associated with the given name.
        The returned array may be empty but is never null.
        Specified by:
        getChildren in interface Configuration
        Parameters:
        name - The name of the required children Configuration.
        Returns:
        a Configuration[] value
      • appendValueData

        public void appendValueData​(java.lang.String value)
        Deprecated.
        Use setValue() instead
        Append data to the value of this configuration element.
        Parameters:
        value - a String value
      • setValue

        public void setValue​(java.lang.String value)
        Set the value of this Configuration object to the specified string.
        Specified by:
        setValue in interface MutableConfiguration
        Parameters:
        value - a String value
      • setValue

        public void setValue​(int value)
        Set the value of this Configuration object to the specified int.
        Specified by:
        setValue in interface MutableConfiguration
        Parameters:
        value - a int value
      • setValue

        public void setValue​(long value)
        Set the value of this Configuration object to the specified long.
        Specified by:
        setValue in interface MutableConfiguration
        Parameters:
        value - a long value
      • setValue

        public void setValue​(boolean value)
        Set the value of this Configuration object to the specified boolean.
        Specified by:
        setValue in interface MutableConfiguration
        Parameters:
        value - a boolean value
      • setValue

        public void setValue​(float value)
        Set the value of this Configuration object to the specified float.
        Specified by:
        setValue in interface MutableConfiguration
        Parameters:
        value - a float value
      • setAttribute

        public void setAttribute​(java.lang.String name,
                                 java.lang.String value)
        Set the value of the specified attribute to the specified string.
        Specified by:
        setAttribute in interface MutableConfiguration
        Parameters:
        name - name of the attribute to set
        value - a String value
      • setAttribute

        public void setAttribute​(java.lang.String name,
                                 int value)
        Set the value of the specified attribute to the specified int.
        Specified by:
        setAttribute in interface MutableConfiguration
        Parameters:
        name - name of the attribute to set
        value - an int value
      • setAttribute

        public void setAttribute​(java.lang.String name,
                                 long value)
        Set the value of the specified attribute to the specified long.
        Specified by:
        setAttribute in interface MutableConfiguration
        Parameters:
        name - name of the attribute to set
        value - an long value
      • setAttribute

        public void setAttribute​(java.lang.String name,
                                 boolean value)
        Set the value of the specified attribute to the specified boolean.
        Specified by:
        setAttribute in interface MutableConfiguration
        Parameters:
        name - name of the attribute to set
        value - an boolean value
      • setAttribute

        public void setAttribute​(java.lang.String name,
                                 float value)
        Set the value of the specified attribute to the specified float.
        Specified by:
        setAttribute in interface MutableConfiguration
        Parameters:
        name - name of the attribute to set
        value - an float value
      • addAttribute

        public java.lang.String addAttribute​(java.lang.String name,
                                             java.lang.String value)
        Deprecated.
        Use setAttribute() instead
        Add an attribute to this configuration element, returning its old value or null.
        Parameters:
        name - a String value
        value - a String value
        Returns:
        a String value
      • addChild

        public void addChild​(Configuration configuration)
        Add a child Configuration to this configuration element.
        Specified by:
        addChild in interface MutableConfiguration
        Parameters:
        configuration - a Configuration value
      • addAll

        public void addAll​(Configuration other)
        Add all the attributes, children and value from specified configuration element to current configuration element.
        Specified by:
        addAll in interface MutableConfiguration
        Parameters:
        other - the Configuration element
      • removeChild

        public void removeChild​(Configuration configuration)
        Remove a child Configuration to this configuration element.
        Specified by:
        removeChild in interface MutableConfiguration
        Parameters:
        configuration - a Configuration value
      • getChildCount

        public int getChildCount()
        Return count of children.
        Returns:
        an int value
      • makeReadOnly

        public void makeReadOnly()
        Make this configuration read-only.
      • checkWriteable

        protected final void checkWriteable()
                                     throws java.lang.IllegalStateException
        heck if this configuration is writeable.
        Throws:
        java.lang.IllegalStateException - if this configuration s read-only
      • isReadOnly

        protected final boolean isReadOnly()
        Returns true iff this DefaultConfiguration has been made read-only.
      • getMutableChild

        public MutableConfiguration getMutableChild​(java.lang.String name,
                                                    boolean autoCreate)
                                             throws ConfigurationException
        Description copied from interface: MutableConfiguration
        Gets a child node of this configuration. If a mutable child with the given name exists, it is returned. If an immutable child with the given name exists, it is converted into a mutable child and returned. In this case, the immutable child will be replaced with the mutable child in this configuration (that is, it will be as if the child node always had been mutable). If no child with the given name exists, and autoCreate is true, a new mutable child is created and added to this configuration before being returned.
        Specified by:
        getMutableChild in interface MutableConfiguration
        Parameters:
        name - the name of the child.
        autoCreate - set to true to create the child node if it doesn't exist.
        Returns:
        the child MutableConfiguration, or null if autoCreate was false and no child by the given name existed.
        Throws:
        ConfigurationException - if an error occurrs.
      • equals

        public boolean equals​(java.lang.Object other)
        Compare if this configuration is equal to another.
        Overrides:
        equals in class java.lang.Object
        Parameters:
        other - The other configuration
        Returns:
        true if they are the same.
      • hashCode

        public int hashCode()
        Obtaine the hashcode for this configuration.
        Overrides:
        hashCode in class java.lang.Object
        Returns:
        the hashcode.