Java Class Relationship Projections

Statement      Format Relationship Entities
CONTAINS JAVACLASS
class Class1 {
  class Class2 { }
}
Java Class Has Java Class Class1 has Class2
CONTAINS JAVAINTERFACE
class Class1 {
  interface Interface1 { }
}
Java Class Has Java Interface Class1 has Interface1
DEPENDS ON JAVAANNOTATION
@Annotation1
class Class1 { }
Java Class Depends On Java Annotation Class1 depends on Annotation1
DEPENDS ON JAVACLASS
class Class1 extends Class2 {
  Class3 c3;
  Class4 method1(Class5 c5) {
    Class6 c6;
  }
}
Java Class Depends On Java Class Class1 depends on Class2, Class3, Class4, Class5, Class6
DEPENDS ON JAVAENUMERATION
class Class1 extends Enum1 {
  Enum2 e2;
  Enum3 method1(Enum4 e4) {
    Enum5 e5;
  }
}
Java Class Depends On Java Enumeration Class1 depends on Enum1, Enum2, Enum3, Enum4, Enum5
DEPENDS ON JAVAINTERFACE
class Class1 implements Interface1 {
  Interface2 i2;
  Interface3 method1(Interface4 i4) {
    Interface5 i5;
  }
}
Java Class Depends On Java Interface Class1 depends on Interface1, Interface2, Interface3 Interface4, Interface5
EXTENDS JAVACLASS
class Class1 extends Class2 { }
Java Class Extends Java Class Class1 extends Class2
EXTENDS JAVAENUMERATION
class Class1 extends Enum1 { }
Java Class Extends Java Enumeration Class1 extends Enum1
HAS JAVAANNOTATION
class Class1 {
  @interface Annotation1 { }
}
Java Class Has Java Annotatation Class1 has Annotation1
HAS JAVAENUMERATION
class Class1 {
  enum Enum1 { }
}
Java Class Has Java Enumeration Class1 has Enum1
HAS METHOD
class Class1 {
  void method1() { }
}
Java Class Has Method Class1 has method1
IMPLEMENTS JAVAINTERFACE
class Class1 implements Interface1 { }
Java Class Implements Java Interface Class1 implements Interface1