+ * Cannot be null. + *
+ */ + @NotNull + private final String name; + + /** + * Gets the name that should be greeted. + * @return Name that should be greeted. + */ + public @NotNull String getName() { + return name; + } + + /** + * Creates a new Instance of Greeting which greets the "World". + */ + public Greeting() { + this(null); + } + + /** + * Creates a new instance of Greeting to greet the given name. + * @param name Name that should be greeted by Greeting. + */ + public Greeting(@Nullable final String name) { + this.name = name == null ? DEFAULT_NAME : name; + } + + /** + * String representation of this instance. + * @return String representation of "Hello name!" + */ + @NotNull + @Override + public String toString() { + return "Hallo " + name + "!"; + } +} diff --git a/src/main/java/de/kneitzel/JavaApp.java b/src/main/java/de/kneitzel/JavaApp.java index 0e658fc..3f2f2c5 100644 --- a/src/main/java/de/kneitzel/JavaApp.java +++ b/src/main/java/de/kneitzel/JavaApp.java @@ -1,7 +1,23 @@ package de.kneitzel; -public class JavaApp { - public static void main(String[] args) { - System.out.println("Hello World!"); +import org.jetbrains.annotations.NotNull; + +/** + * Starting point of the JavaApp + */ +public final class JavaApp { + + /** + * Provate Constructor - we never create an instance! + */ + private JavaApp() {} + + /** + * Entry point of the application. + * @param args Commandline parameters. + */ + public static void main(@NotNull final String[] args) { + final Greeting greeting = new Greeting(null); + System.out.println(greeting); } } diff --git a/src/main/java/module-info.java b/src/main/java/module-info.java index d5574a0..c593806 100644 --- a/src/main/java/module-info.java +++ b/src/main/java/module-info.java @@ -1,2 +1,4 @@ module AppModule { + // Jetbrains Dependency: @NotNull / @Nullable + requires org.jetbrains.annotations; } \ No newline at end of file