📄 Update year in file headers
[Sone.git] / src / main / java / net / pterodactylus / sone / text / Parser.java
index 87cdab5..06eed37 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * Sone - Parser.java - Copyright Â© 2010 David Roden
+ * Sone - Parser.java - Copyright Â© 2010–2020 David Roden
  *
  * This program is free software: you can redistribute it and/or modify
  * it under the terms of the GNU General Public License as published by
@@ -17,8 +17,9 @@
 
 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
@@ -26,21 +27,19 @@ import java.io.Reader;
  *
  * @param <C>
  *            The type of the parser context
- * @author <a href="mailto:bombe@pterodactylus.net">David â€˜Bombe’ Roden</a>
  */
 public interface Parser<C extends ParserContext> {
 
        /**
         * Create one or more {@link Part}s from the given text source.
         *
-        * @param context
-        *            The parser context (may be {@code null})
         * @param source
         *            The text source
+        * @param context
+        *            The parser context (may be {@code null})
         * @return The parsed parts
-        * @throws IOException
-        *             if an I/O error occurs
         */
-       public Iterable<Part> parse(C context, Reader source) throws IOException;
+       @Nonnull
+       Iterable<Part> parse(@Nonnull String source, @Nullable C context);
 
 }