/// <summary>
        /// Validates various attributes beyond what the NAnt core offers.
        /// </summary>
        /// <returns>True if the validations pass, else throws an error explaining what failed.</returns>
        private bool ValidateAttributes()
        {
            SchemaSpyValidator validator = new SchemaSpyValidator();

            // Verify the jar file exists.
            if (!validator.ValidateJarPath(JarPath))
            {
                throw new BuildException("Cannot find file: " + this.JarPath);
            }

            // Verify the driver path exists.
            if (!validator.ValidateDriverPath(DriverPath))
            {
                throw new BuildException("Cannot find folder: " + this.DriverPath);
            }

            // Can have SSO OR Username/password but not all or none.
            if (!validator.ValidateLogonCredentials(SingleSignOn, UserName, Password))
            {
                throw new BuildException("Either Single Sign On or Username and Password must be supplied; both cannot be set at the same time.");
            }

            // Validate that one of the two options are there.
            if (!validator.ValidateSchemaOptions(AllSchemas, SchemaName, Schemas))
            {
                throw new BuildException("No schema related options have been set.  Either use the 'schemaName' or 'SchemaCollection' options to indicate which schema(s) you wish to document and analyze or the 'allSchemas' option for documenting and analyzing all accessible schemas on the database.");
            }

            return(true);
        }
        /// <summary>
        /// Validates various attributes beyond what the NAnt core offers.
        /// </summary>
        /// <returns>True if the validations pass, else throws an error explaining what failed.</returns>
        private bool ValidateAttributes()
        {
            SchemaSpyValidator validator = new SchemaSpyValidator();

            // Verify the jar file exists.
            if (!validator.ValidateJarPath(JarPath))
            {
                throw new BuildException("Cannot find file: " + this.JarPath);
            }

            // Verify the driver path exists.
            if (!validator.ValidateDriverPath(DriverPath))
            {
                throw new BuildException("Cannot find folder: " + this.DriverPath);
            }

            // Can have SSO OR Username/password but not all or none.
            if (!validator.ValidateLogonCredentials(SingleSignOn, UserName, Password))
            {
                throw new BuildException("Either Single Sign On or Username and Password must be supplied; both cannot be set at the same time.");
            }

            // Validate that one of the two options are there.
            if (!validator.ValidateSchemaOptions(AllSchemas, SchemaName, Schemas))
            {
                throw new BuildException("No schema related options have been set.  Either use the 'schemaName' or 'SchemaCollection' options to indicate which schema(s) you wish to document and analyze or the 'allSchemas' option for documenting and analyzing all accessible schemas on the database.");
            }
                      
            return true;
        }