Skip to content

Package: Second

Second

nameinstructionbranchcomplexitylinemethod
Second()
M: 0 C: 3
100%
M: 0 C: 0
100%
M: 0 C: 1
100%
M: 0 C: 1
100%
M: 0 C: 1
100%
getNestedClass(Object)
M: 0 C: 5
100%
M: 0 C: 0
100%
M: 0 C: 1
100%
M: 0 C: 1
100%
M: 0 C: 1
100%

Coverage

1: package example;
2:
3: /**
4: * Simple Implementierung des Interfaces mit einer internen Klasse.
5: */
6: public final class Second implements BeispielInterface {
7:         
8:         /**
9:          * Erstellt eine Instanz von InterneKlasse mit einem Parameter als Generic.
10:          *
11:          * @param <T>
12:          * Typ des Parameters von {@code generic}
13:          * @param generic
14:          * künftiges Attribut der Klasse {@code InterneKlasse}.
15:          * @return InterneKlasse mit einem Generic parameter vom Typ des Parameters {@code generic}.
16:          */
17:         public <T> InterneKlasse<T> getNestedClass(final T generic) {
18:                 return new InterneKlasse<>(generic);
19:         }
20:         
21:         /**
22:          * Interne Klasse zum Testen, ob nestedClasses ordnungsgemäß gespeichert und geladen werden können.
23:          *
24:          * @param <T>
25:          * Parameter als Generic, um diese zu Testen.
26:          */
27:         static final class InterneKlasse<T> {
28:                 private final T genericsAttributeTest;
29:                 
30:                 /**
31:                  * Konstruktor der Internen Klasse.
32:                  *
33:                  * @param t
34:                  * Parameter als Generic.
35:                  */
36:                 InterneKlasse(final T t) {
37:                         this.genericsAttributeTest = t;
38:                 }
39:                 
40:                 /**
41:                  * @return liefert das genericsAttributeTest.
42:                  */
43:                 public T getGenericsAttributeTest() {
44:                         return this.genericsAttributeTest;
45:                 }
46:                 
47:                 @Override
48:                 public boolean equals(final Object obj) {
49:                         if (!(obj instanceof InterneKlasse<?>)) {
50:                                 return false;
51:                         }
52:                         final InterneKlasse<?> interneKlasse = (InterneKlasse<?>) obj;
53:                         return interneKlasse.getGenericsAttributeTest().equals(this.getGenericsAttributeTest());
54:                 }
55:                 
56:                 @Override
57:                 public int hashCode() {
58:                         return this.genericsAttributeTest.hashCode();
59:                 }
60:         }
61: }