Clean up parser interface
authorDavid ‘Bombe’ Roden <bombe@pterodactylus.net>
Sat, 25 Jun 2016 20:24:34 +0000 (22:24 +0200)
committerDavid ‘Bombe’ Roden <bombe@pterodactylus.net>
Sat, 25 Jun 2016 20:24:34 +0000 (22:24 +0200)
src/main/java/net/pterodactylus/sone/text/Parser.java
src/main/java/net/pterodactylus/sone/text/SoneTextParser.java

index 531efa7..ca26a79 100644 (file)
@@ -19,6 +19,8 @@ package net.pterodactylus.sone.text;
 
 import java.io.IOException;
 import java.io.Reader;
+import javax.annotation.Nonnull;
+import javax.annotation.Nullable;
 
 /**
  * Interface for parsers that can create {@link Part}s from a text source
@@ -39,6 +41,7 @@ public interface Parser<C extends ParserContext> {
         *            The text source
         * @return The parsed parts
         */
-       public Iterable<Part> parse(C context, String source);
+       @Nonnull
+       Iterable<Part> parse(@Nullable C context, @Nonnull String source);
 
 }
index 18dd53f..ae299e1 100644 (file)
@@ -28,6 +28,9 @@ import java.util.logging.Logger;
 import java.util.regex.Matcher;
 import java.util.regex.Pattern;
 
+import javax.annotation.Nonnull;
+import javax.annotation.Nullable;
+
 import net.pterodactylus.sone.data.Post;
 import net.pterodactylus.sone.data.Sone;
 import net.pterodactylus.sone.data.impl.IdOnlySone;
@@ -117,8 +120,9 @@ public class SoneTextParser implements Parser<SoneTextParserContext> {
        /**
         * {@inheritDoc}
         */
+       @Nonnull
        @Override
-       public Iterable<Part> parse(SoneTextParserContext context, String source) {
+       public Iterable<Part> parse(@Nullable SoneTextParserContext context, @Nonnull String source) {
                PartContainer parts = new PartContainer();
                BufferedReader bufferedReader = new BufferedReader(new StringReader(source));
                try {