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}
Why are the plantuml pictures
png
s? Isnt the point to have it embedded? Also are we going to fix the inability to size the embedded plant uml the way we want in the confluence page?