Class Diagram
Content
Java Collection Interfaces and Classes
{plantuml} abstract class AbstractList abstract AbstractCollection interface List interface Collection List <|-- AbstractList Collection <|-- AbstractCollection Collection <|- List AbstractCollection <|- AbstractList AbstractList <|-- ArrayList ArrayList : Object[] elementData ArrayList : size() enum TimeUnit TimeUnit : DAYS TimeUnit : HOURS TimeUnit : MINUTES {plantuml}
Classes and Interfaces
{plantuml} Object -- AbstractList class ArrayList extends Object { int size } interface List extends Collection { add() } interface Set extends Collection class TreeSet implements SortedSet {plantuml}
Class Diagram Features
{plantuml} package framework interface BasicRepository { E find(Object pk); List<E> findAll(); void save(E entity); void update(E entity); void remove(E entity); } class AbstractHibernateRepository << @Repository >> { -EntityManager entityManager; } end package interface PartnerRepository { List<PartnerEntity> findByFoo(...); List<PartnerEntity> search(String pattern, int maxResult); } class HibernatePartnerRepository << @Repository >> { } class InMemoryPartnerRepository { } BasicRepository <|.. PartnerRepository BasicRepository <|.. AbstractHibernateRepository AbstractHibernateRepository <|-- HibernatePartnerRepository PartnerRepository <|.. HibernatePartnerRepository PartnerRepository <|.. InMemoryPartnerRepository {plantuml}
Java Exception Class Hierarchy
Idea for diagram taken from http://www.programcreek.com/2013/09/top-8-diagrams-for-understanding-java/
Each class is linked to its documentation.
{plantuml} namespace java.lang #DDDDDD Throwable <|-- Error << unchecked >> Throwable <|-- Exception Exception <|-- CloneNotSupportedException Exception <|-- RuntimeException RuntimeException <|-- ArithmeticException RuntimeException <|-- ClassCastException RuntimeException <|-- IllegalArgumentException RuntimeException <|-- IllegalStateException Exception <|-- ReflectiveOperationException ReflectiveOperationException <|-- ClassNotFoundException url for Throwable is [[http://docs.oracle.com/javase/7/docs/api/java/lang/Throwable.html]] url for Error is [[http://docs.oracle.com/javase/7/docs/api/java/lang/Error.html]] url for Exception is [[http://docs.oracle.com/javase/7/docs/api/java/lang/Exception.html]] url for CloneNotSupportedException is [[http://docs.oracle.com/javase/7/docs/api/java/lang/CloneNotSupportedException.html]] url for RuntimeException is [[http://docs.oracle.com/javase/7/docs/api/java/lang/RuntimeException.html]] url for ArithmeticException is [[http://docs.oracle.com/javase/7/docs/api/java/lang/ArithmeticException.html]] url for ClassCastException is [[http://docs.oracle.com/javase/7/docs/api/java/lang/ClassCastException.html]] url for IllegalArgumentException is [[http://docs.oracle.com/javase/7/docs/api/java/lang/IllegalArgumentException.html]] url for IllegalStateException is [[http://docs.oracle.com/javase/7/docs/api/java/lang/IllegalStateException.html]] url for ReflectiveOperationException is [[http://docs.oracle.com/javase/7/docs/api/java/lang/ReflectiveOperationException.html]] url for ClassNotFoundException is [[http://docs.oracle.com/javase/7/docs/api/java/lang/ClassNotFoundException.html]] end namespace namespace java.io #DDDDDD java.lang.Exception <|-- IOException IOException <|-- EOFException IOException <|-- FileNotFoundException url for IOException is [[http://docs.oracle.com/javase/7/docs/api/java/io/IOException.html]] url for EOFException is [[http://docs.oracle.com/javase/7/docs/api/java/io/EOFException.html]] url for FileNotFoundException is [[http://docs.oracle.com/javase/7/docs/api/java/io/FileNotFoundException.html]] end namespace namespace java.net #DDDDDD java.io.IOException <|-- MalformedURLException java.io.IOException <|-- UnknownHostException url for MalformedURLException is [[http://docs.oracle.com/javase/7/docs/api/java/net/MalformedURLException.html]] url for UnknownHostException is [[http://docs.oracle.com/javase/7/docs/api/java/net/UnknownHostException.html]] end namespace {plantuml}