@startuml package com.iluwatar.datamapper { class App { - STUDENT_STRING : String {static} - log : Logger {static} - App() + main(args : String[]) {static} } class Student { - grade : char - name : String - serialVersionUID : long {static} - studentId : int + Student(studentId : int, name : String, grade : char) + equals(inputObject : Object) : boolean + getGrade() : char + getName() : String + getStudentId() : int + hashCode() : int + setGrade(grade : char) + setName(name : String) + setStudentId(studentId : int) + toString() : String } interface StudentDataMapper { + delete(Student) {abstract} + find(int) : Optional {abstract} + insert(Student) {abstract} + update(Student) {abstract} } class StudentDataMapperImpl { - students : List + StudentDataMapperImpl() + delete(studentToBeDeleted : Student) + find(studentId : int) : Optional + getStudents() : List + insert(studentToBeInserted : Student) + update(studentToBeUpdated : Student) } } StudentDataMapperImpl --> "-students" Student StudentDataMapperImpl ..|> StudentDataMapper @enduml