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}