From: David ‘Bombe’ Roden <bombe@pterodactylus.net>
Date: Thu, 14 Oct 2010 12:42:01 +0000 (+0200)
Subject: Change contract of Shell.getShelled().
X-Git-Tag: 0.1-RC1~392
X-Git-Url: https://git.pterodactylus.net/?a=commitdiff_plain;h=0c9e223a0f72b28d5d398671a03f9021afd20f0d;p=Sone.git

Change contract of Shell.getShelled().
---

diff --git a/src/main/java/net/pterodactylus/sone/data/PostShell.java b/src/main/java/net/pterodactylus/sone/data/PostShell.java
index 36dba42..df66b20 100644
--- a/src/main/java/net/pterodactylus/sone/data/PostShell.java
+++ b/src/main/java/net/pterodactylus/sone/data/PostShell.java
@@ -204,7 +204,7 @@ public class PostShell extends Post implements Shell<Post> {
 				post.addReply(reply);
 			}
 		}
-		return null;
+		return this;
 	}
 
 }
diff --git a/src/main/java/net/pterodactylus/sone/data/ReplyShell.java b/src/main/java/net/pterodactylus/sone/data/ReplyShell.java
index fcab34a..03a4c53 100644
--- a/src/main/java/net/pterodactylus/sone/data/ReplyShell.java
+++ b/src/main/java/net/pterodactylus/sone/data/ReplyShell.java
@@ -183,7 +183,7 @@ public class ReplyShell extends Reply implements Shell<Reply> {
 		if (canUnshell()) {
 			return new Reply(sone, id, post, time, text);
 		}
-		return null;
+		return this;
 	}
 
 }
diff --git a/src/main/java/net/pterodactylus/sone/data/Shell.java b/src/main/java/net/pterodactylus/sone/data/Shell.java
index 9f1fc9b..8d7068e 100644
--- a/src/main/java/net/pterodactylus/sone/data/Shell.java
+++ b/src/main/java/net/pterodactylus/sone/data/Shell.java
@@ -36,11 +36,11 @@ public interface Shell<T> {
 	public boolean canUnshell();
 
 	/**
-	 * Returns the object that is shelled. Returns {@code null} if the real
-	 * object has not yet been retrieved.
+	 * Returns the object that is shelled. This method with return the shell
+	 * itself if {@link #canUnshell()} returns {@code false} and will return the
+	 * real object once {@link #canUnshell()} returns true.
 	 *
-	 * @return The shelled object, or {@code null} if the shelled object is not
-	 *         retrieved yet
+	 * @return The shelled object, or the shell itself
 	 */
 	public T getShelled();
 
diff --git a/src/main/java/net/pterodactylus/sone/data/SoneShell.java b/src/main/java/net/pterodactylus/sone/data/SoneShell.java
index 8b2f727..50b1189 100644
--- a/src/main/java/net/pterodactylus/sone/data/SoneShell.java
+++ b/src/main/java/net/pterodactylus/sone/data/SoneShell.java
@@ -297,7 +297,7 @@ public class SoneShell extends Sone implements Shell<Sone> {
 			}
 			return sone;
 		}
-		return null;
+		return this;
 	}
 
 }