@startuml images/05_01_class.png
Title Cn Audit Hazelcast Data Class Structure

interface java.util.concurrent.BlockingQueue
interface com.hazelcast.core.IQueue
java.util.concurrent.BlockingQueue <|-- com.hazelcast.core.IQueue

package org.dataone.cn.audit {
  
  package org.dataone.cn.audit.data{
  
      class DigestAuditRecord
                  package org.dataone.cn.audit.data.hazelcast{
                                        abstract class HzAuditRecord {
                                          ..
                                           Serializable
                                          ..
                    
                                          -NodeIdentifier nodeIdentifier
                    
                                          ==
                                          +getNodeId()
                                          +setNodeId()
                                        }
                                        class HzHarvestTotalsRecord {
                                          ..
                                           Serializable
                                          ..
                    
                                          -int totalHarvestRecords
                                          ==
                                          +getTotalHarvestRecords()
                                          +setTotalHarvestRecords()
                                        }
                                        HzHarvestTotalsRecord <|-- HzAuditRecord
                    
                                        class HzDigestListRecord {
                                          ..
                                           Serializable
                                          ..
                                          - Integer pageNumber
                                          - List<DigestAuditRecord> digestAuditRecordList 
                                          ==
                    
                                          + getDigestAuditRecordList()
                                          + setDigestAuditRecordList()
                    
                                          + clearDigestAuditRecordList() 
                                          + sizeDigestAuditRecordList() 
                                          + addDigestAuditRecord() 
                                          + getDigestAuditRecord()
                    
                                          + getPageNumber()
                                          + setPageNumber() 
                                        }
                    
                                        HzDigestListRecord <|-- HzAuditRecord
                    
                    
                                        class HzSysMetaRecord {
                                          ..
                                           Serializable
                                          ..
                    
                                          -SystemMetadata systemMetadata
                                          ==
                    
                                          + getSystemMetadata()
                                          + setSystemMetadata()
                                        }
                    
                                        HzSysMetaRecord <|-- HzAuditRecord
                    
                    
                                        HzDigestListRecord *-- DigestAuditRecord
                    
                                        class HzHarvestTotalsQueue << HzHarvestTotalsRecord >> 
                                        class HzDigestListQueue << HzDigestListQueue >> 
                                        class HzSysMetaQueue << HzSysMetaRecord >>
                    
                    
                                        com.hazelcast.core.IQueue <|-- HzHarvestTotalsQueue
                                        com.hazelcast.core.IQueue <|-- HzDigestListQueue
                                        com.hazelcast.core.IQueue <|-- HzSysMetaQueue
                                    }
            }
      }
@enduml