package net.pterodactylus.sone.text;
+import javax.annotation.Nonnull;
+
/**
* {@link LinkPart} implementation that stores an additional attribute: if the
* link is an SSK or USK link and the post was created by an identity that owns
*/
public class FreenetLinkPart extends LinkPart {
- /** Whether the link is trusted. */
private final boolean trusted;
- /**
- * Creates a new freenet link part.
- *
- * @param link
- * The link of the part
- * @param text
- * The text of the part
- * @param trusted
- * {@code true} if the link is trusted, {@code false} otherwise
- */
- public FreenetLinkPart(String link, String text, boolean trusted) {
+ public FreenetLinkPart(@Nonnull String link, @Nonnull String text, boolean trusted) {
this(link, text, text, trusted);
}
- /**
- * Creates a new freenet link part.
- *
- * @param link
- * The link of the part
- * @param text
- * The text of the part
- * @param title
- * The title of the part
- * @param trusted
- * {@code true} if the link is trusted, {@code false} otherwise
- */
- public FreenetLinkPart(String link, String text, String title, boolean trusted) {
+ public FreenetLinkPart(@Nonnull String link, @Nonnull String text, @Nonnull String title, boolean trusted) {
super(link, text, title);
this.trusted = trusted;
}
- //
- // ACCESSORS
- //
-
- /**
- * Returns whether the link is trusted.
- *
- * @return {@code true} if the link is trusted, {@code false} otherwise
- */
public boolean isTrusted() {
return trusted;
}
assertThat(new FreenetLinkPart("link", "text", true).getTitle(), is("text"));
}
+ @Test(expected = NullPointerException.class)
+ public void nullIsNotAllowedForLink() {
+ new FreenetLinkPart(null, "text", "title", true);
+ }
+
+ @Test(expected = NullPointerException.class)
+ public void nullIsNotAllowedForText() {
+ new FreenetLinkPart("link", null, "title", true);
+ }
+
+ @Test(expected = NullPointerException.class)
+ public void nullIsNotAllowedForLinkInSecondaryConstructor() {
+ new FreenetLinkPart(null, "text", true);
+ }
+
+ @Test(expected = NullPointerException.class)
+ public void nullIsNotAllowedForTextInSecondaryConstructor() {
+ new FreenetLinkPart("link", null, true);
+ }
+
+ @Test(expected = NullPointerException.class)
+ public void nullIsNotAllowedForTitle() {
+ new FreenetLinkPart("link", "text", null, true);
+ }
+
}