From cfaae744af758e433f4d49cb745c0ac075b55d85 Mon Sep 17 00:00:00 2001
From: dgelessus <dgelessus@users.noreply.github.com>
Date: Mon, 23 Jul 2018 15:01:51 +0200
Subject: [PATCH] Make Command.inspect a required method

---
 src/main/java/de/prob2/jupyter/commands/BrowseCommand.java  | 5 +++++
 src/main/java/de/prob2/jupyter/commands/CheckCommand.java   | 6 ++++++
 src/main/java/de/prob2/jupyter/commands/Command.java        | 4 +---
 src/main/java/de/prob2/jupyter/commands/GotoCommand.java    | 5 +++++
 src/main/java/de/prob2/jupyter/commands/GroovyCommand.java  | 5 +++++
 src/main/java/de/prob2/jupyter/commands/HelpCommand.java    | 6 ++++++
 src/main/java/de/prob2/jupyter/commands/RenderCommand.java  | 5 +++++
 src/main/java/de/prob2/jupyter/commands/ShowCommand.java    | 5 +++++
 src/main/java/de/prob2/jupyter/commands/StatsCommand.java   | 5 +++++
 src/main/java/de/prob2/jupyter/commands/TraceCommand.java   | 5 +++++
 src/main/java/de/prob2/jupyter/commands/VersionCommand.java | 5 +++++
 11 files changed, 53 insertions(+), 3 deletions(-)

diff --git a/src/main/java/de/prob2/jupyter/commands/BrowseCommand.java b/src/main/java/de/prob2/jupyter/commands/BrowseCommand.java
index d6b8d35..a26229b 100644
--- a/src/main/java/de/prob2/jupyter/commands/BrowseCommand.java
+++ b/src/main/java/de/prob2/jupyter/commands/BrowseCommand.java
@@ -82,6 +82,11 @@ public final class BrowseCommand implements Command {
 		return new DisplayData(sb.toString());
 	}
 	
+	@Override
+	public @Nullable DisplayData inspect(final @NotNull String argString, final int at) {
+		return null;
+	}
+	
 	@Override
 	public @Nullable ReplacementOptions complete(final @NotNull String argString, final int at) {
 		return null;
diff --git a/src/main/java/de/prob2/jupyter/commands/CheckCommand.java b/src/main/java/de/prob2/jupyter/commands/CheckCommand.java
index c8ca685..e1fba4b 100644
--- a/src/main/java/de/prob2/jupyter/commands/CheckCommand.java
+++ b/src/main/java/de/prob2/jupyter/commands/CheckCommand.java
@@ -24,6 +24,7 @@ import io.github.spencerpark.jupyter.kernel.ReplacementOptions;
 import io.github.spencerpark.jupyter.kernel.display.DisplayData;
 
 import org.jetbrains.annotations.NotNull;
+import org.jetbrains.annotations.Nullable;
 
 public final class CheckCommand implements Command {
 	private static final @NotNull Map<@NotNull String, @NotNull String> SECTION_NAME_MAP;
@@ -95,6 +96,11 @@ public final class CheckCommand implements Command {
 		}
 	}
 	
+	@Override
+	public @Nullable DisplayData inspect(final @NotNull String argString, final int at) {
+		return null;
+	}
+	
 	@Override
 	public @NotNull ReplacementOptions complete(final @NotNull String argString, final int at) {
 		final String prefix = argString.substring(0, at);
diff --git a/src/main/java/de/prob2/jupyter/commands/Command.java b/src/main/java/de/prob2/jupyter/commands/Command.java
index fb906dc..1e9471c 100644
--- a/src/main/java/de/prob2/jupyter/commands/Command.java
+++ b/src/main/java/de/prob2/jupyter/commands/Command.java
@@ -39,9 +39,7 @@ public interface Command {
 	
 	public abstract @Nullable DisplayData run(final @NotNull String argString);
 	
-	public default @Nullable DisplayData inspect(final @NotNull String argString, final int at) {
-		return null;
-	}
+	public abstract @Nullable DisplayData inspect(final @NotNull String argString, final int at);
 	
 	public abstract @Nullable ReplacementOptions complete(final @NotNull String argString, final int at);
 }
diff --git a/src/main/java/de/prob2/jupyter/commands/GotoCommand.java b/src/main/java/de/prob2/jupyter/commands/GotoCommand.java
index 37f8d86..c247816 100644
--- a/src/main/java/de/prob2/jupyter/commands/GotoCommand.java
+++ b/src/main/java/de/prob2/jupyter/commands/GotoCommand.java
@@ -49,6 +49,11 @@ public final class GotoCommand implements Command {
 		return new DisplayData("Changed to state with index " + index);
 	}
 	
+	@Override
+	public @Nullable DisplayData inspect(final @NotNull String argString, final int at) {
+		return null;
+	}
+	
 	@Override
 	public @Nullable ReplacementOptions complete(final @NotNull String argString, final int at) {
 		return null;
diff --git a/src/main/java/de/prob2/jupyter/commands/GroovyCommand.java b/src/main/java/de/prob2/jupyter/commands/GroovyCommand.java
index 6eb9988..8a0a1e4 100644
--- a/src/main/java/de/prob2/jupyter/commands/GroovyCommand.java
+++ b/src/main/java/de/prob2/jupyter/commands/GroovyCommand.java
@@ -59,6 +59,11 @@ public final class GroovyCommand implements Command {
 		return new DisplayData(Objects.toString(result));
 	}
 	
+	@Override
+	public @Nullable DisplayData inspect(final @NotNull String argString, final int at) {
+		return null;
+	}
+	
 	@Override
 	public @Nullable ReplacementOptions complete(final @NotNull String argString, final int at) {
 		return null;
diff --git a/src/main/java/de/prob2/jupyter/commands/HelpCommand.java b/src/main/java/de/prob2/jupyter/commands/HelpCommand.java
index bfee912..e32bbc8 100644
--- a/src/main/java/de/prob2/jupyter/commands/HelpCommand.java
+++ b/src/main/java/de/prob2/jupyter/commands/HelpCommand.java
@@ -14,6 +14,7 @@ import io.github.spencerpark.jupyter.kernel.ReplacementOptions;
 import io.github.spencerpark.jupyter.kernel.display.DisplayData;
 
 import org.jetbrains.annotations.NotNull;
+import org.jetbrains.annotations.Nullable;
 
 public final class HelpCommand implements Command {
 	private final @NotNull Injector injector;
@@ -83,6 +84,11 @@ public final class HelpCommand implements Command {
 		}
 	}
 	
+	@Override
+	public @Nullable DisplayData inspect(final @NotNull String argString, final int at) {
+		return null;
+	}
+	
 	@Override
 	public @NotNull ReplacementOptions complete(final @NotNull String argString, final int at) {
 		final String prefix = argString.substring(0, at);
diff --git a/src/main/java/de/prob2/jupyter/commands/RenderCommand.java b/src/main/java/de/prob2/jupyter/commands/RenderCommand.java
index ebb2a0e..aa5b871 100644
--- a/src/main/java/de/prob2/jupyter/commands/RenderCommand.java
+++ b/src/main/java/de/prob2/jupyter/commands/RenderCommand.java
@@ -48,6 +48,11 @@ public final class RenderCommand implements Command {
 		return data;
 	}
 	
+	@Override
+	public @Nullable DisplayData inspect(final @NotNull String argString, final int at) {
+		return null;
+	}
+	
 	@Override
 	public @Nullable ReplacementOptions complete(final @NotNull String argString, final int at) {
 		return null;
diff --git a/src/main/java/de/prob2/jupyter/commands/ShowCommand.java b/src/main/java/de/prob2/jupyter/commands/ShowCommand.java
index 22daba7..3a3af35 100644
--- a/src/main/java/de/prob2/jupyter/commands/ShowCommand.java
+++ b/src/main/java/de/prob2/jupyter/commands/ShowCommand.java
@@ -126,6 +126,11 @@ public final class ShowCommand implements Command {
 		return result;
 	}
 	
+	@Override
+	public @Nullable DisplayData inspect(final @NotNull String argString, final int at) {
+		return null;
+	}
+	
 	@Override
 	public @Nullable ReplacementOptions complete(final @NotNull String argString, final int at) {
 		return null;
diff --git a/src/main/java/de/prob2/jupyter/commands/StatsCommand.java b/src/main/java/de/prob2/jupyter/commands/StatsCommand.java
index c208bcf..a693fb9 100644
--- a/src/main/java/de/prob2/jupyter/commands/StatsCommand.java
+++ b/src/main/java/de/prob2/jupyter/commands/StatsCommand.java
@@ -72,6 +72,11 @@ public final class StatsCommand implements Command {
 		return result;
 	}
 	
+	@Override
+	public @Nullable DisplayData inspect(final @NotNull String argString, final int at) {
+		return null;
+	}
+	
 	@Override
 	public @Nullable ReplacementOptions complete(final @NotNull String argString, final int at) {
 		return null;
diff --git a/src/main/java/de/prob2/jupyter/commands/TraceCommand.java b/src/main/java/de/prob2/jupyter/commands/TraceCommand.java
index 72ff13f..53dcea7 100644
--- a/src/main/java/de/prob2/jupyter/commands/TraceCommand.java
+++ b/src/main/java/de/prob2/jupyter/commands/TraceCommand.java
@@ -79,6 +79,11 @@ public final class TraceCommand implements Command {
 		return result;
 	}
 	
+	@Override
+	public @Nullable DisplayData inspect(final @NotNull String argString, final int at) {
+		return null;
+	}
+	
 	@Override
 	public @Nullable ReplacementOptions complete(final @NotNull String argString, final int at) {
 		return null;
diff --git a/src/main/java/de/prob2/jupyter/commands/VersionCommand.java b/src/main/java/de/prob2/jupyter/commands/VersionCommand.java
index 4c71ae0..82af3da 100644
--- a/src/main/java/de/prob2/jupyter/commands/VersionCommand.java
+++ b/src/main/java/de/prob2/jupyter/commands/VersionCommand.java
@@ -44,6 +44,11 @@ public final class VersionCommand implements Command {
 		return new DisplayData(String.format("ProB CLI: %s\nProB 2: %s (%s)", cmd.getVersion(), Main.getVersion(), Main.getGitSha()));
 	}
 	
+	@Override
+	public @Nullable DisplayData inspect(final @NotNull String argString, final int at) {
+		return null;
+	}
+	
 	@Override
 	public @Nullable ReplacementOptions complete(final @NotNull String argString, final int at) {
 		return null;
-- 
GitLab