@startuml images/06_class.png
Title Cn Audit Sql Class Structure

package org.dataone.cn.audit{
	
	package org.dataone.cn.audit.sql{
			interface DatabaseManager {
			  getConnection()
			  startTransaction()
			  rollbackTransaction()
			  commitTransaction()
			}
			package org.dataone.cn.audit.sql.impl{
						class MetacatDatabaseManager {
						   getConnection()
					           startTransaction()
					           rollbackTransaction()
					           commitTransaction()
						}
					}
			MetacatDatabaseManager <.. DatabaseManager
			
			package org.dataone.cn.audit.sql.dao {
					  interface SystemMetadataManager {
						updateSystemMetadata();
						insertSystemMetadata();
					   }
					   package org.dataone.cn.audit.sql.dao.impl{ 
					   				   	class MetacatSystemMetadataManager {
					   						updateSystemMetadata();
					   						insertSystemMetadata();
					   				   	}
					   				   }
					   MetacatSystemMetadataManager <.. SystemMetadataManager
					}
		}
}
@enduml