diff --git a/src/main/java/spoon/javadoc/external/elements/JavadocVisitor.java b/src/main/java/spoon/javadoc/external/elements/JavadocVisitor.java index db81f1a5314..a2ab91f0afa 100644 --- a/src/main/java/spoon/javadoc/external/elements/JavadocVisitor.java +++ b/src/main/java/spoon/javadoc/external/elements/JavadocVisitor.java @@ -16,57 +16,60 @@ */ public interface JavadocVisitor { + /** + * @return the default value to return if a visit method is not overwritten + */ + T defaultValue(); + /** * @param tag the inline tag to visit * @return a return value - * @implNote the default implementation always returns null and visits all arguments + * @implNote the default implementation visits all arguments */ default T visitInlineTag(JavadocInlineTag tag) { for (JavadocElement element : tag.getElements()) { element.accept(this); } - return null; + return defaultValue(); } /** * @param tag the block tag to visit * @return a return value - * @implNote the default implementation always returns null and visits all elements + * @implNote the default implementation visits all elements */ default T visitBlockTag(JavadocBlockTag tag) { for (JavadocElement element : tag.getElements()) { element.accept(this); } - return null; + return defaultValue(); } /** * @param snippet the snippet tag to visit * @return a return value - * @implNote the default implementation always returns null and visits all elements + * @implNote the default implementation visits all elements */ default T visitSnippet(JavadocSnippetTag snippet) { for (JavadocElement element : snippet.getElements()) { element.accept(this); } - return null; + return defaultValue(); } /** * @param text the javadoc text to visit * @return a return value - * @implNote the default implementation always returns null */ default T visitText(JavadocText text) { - return null; + return defaultValue(); } /** * @param reference the javadoc reference to visit * @return a return value - * @implNote the default implementation always returns null */ default T visitReference(JavadocReference reference) { - return null; + return defaultValue(); } }