X-Git-Url: https://git.pterodactylus.net/?a=blobdiff_plain;f=src%2Fmain%2Fjava%2Fnet%2Fpterodactylus%2Fsone%2Fcore%2FCore.java;h=8e20a278ccf5241678100c573240d1044f213961;hb=dc07688d67850c90b7adda025a41d42b62d15f9e;hp=7e68521fe9ee6b191481032cfa151af8016f0b51;hpb=e0bd82bad92df6e78c510c07c42da099cb50df97;p=Sone.git
diff --git a/src/main/java/net/pterodactylus/sone/core/Core.java b/src/main/java/net/pterodactylus/sone/core/Core.java
index 7e68521..8e20a27 100644
--- a/src/main/java/net/pterodactylus/sone/core/Core.java
+++ b/src/main/java/net/pterodactylus/sone/core/Core.java
@@ -63,6 +63,7 @@ import net.pterodactylus.sone.data.Sone.ShowCustomAvatars;
import net.pterodactylus.sone.data.Sone.SoneStatus;
import net.pterodactylus.sone.data.TemporaryImage;
import net.pterodactylus.sone.data.impl.PostImpl;
+import net.pterodactylus.sone.data.impl.PostReplyImpl;
import net.pterodactylus.sone.fcp.FcpInterface;
import net.pterodactylus.sone.fcp.FcpInterface.FullAccessRequired;
import net.pterodactylus.sone.freenet.wot.Identity;
@@ -579,7 +580,7 @@ public class Core extends AbstractService implements SoneProvider, PostProvider
synchronized (replies) {
PostReply reply = replies.get(replyId);
if (create && (reply == null)) {
- reply = new PostReply(replyId);
+ reply = new PostReplyImpl(replyId);
replies.put(replyId, reply);
}
return reply;
@@ -1679,7 +1680,7 @@ public class Core extends AbstractService implements SoneProvider, PostProvider
logger.log(Level.FINE, String.format("Tried to create reply for non-local Sone: %s", sone));
return null;
}
- final PostReply reply = new PostReply(sone, post, System.currentTimeMillis(), text.trim());
+ final PostReply reply = new PostReplyImpl(sone, post, System.currentTimeMillis(), text.trim());
synchronized (replies) {
replies.put(reply.getId(), reply);
}
@@ -2465,358 +2466,4 @@ public class Core extends AbstractService implements SoneProvider, PostProvider
touchConfiguration();
}
- /**
- * Convenience interface for external classes that want to access the coreâs
- * configuration.
- *
- * @author David âBombeâ Roden
- */
- public static class Preferences {
-
- /** The wrapped options. */
- private final Options options;
-
- /**
- * Creates a new preferences object wrapped around the given options.
- *
- * @param options
- * The options to wrap
- */
- public Preferences(Options options) {
- this.options = options;
- }
-
- /**
- * Returns the insertion delay.
- *
- * @return The insertion delay
- */
- public int getInsertionDelay() {
- return options.getIntegerOption("InsertionDelay").get();
- }
-
- /**
- * Validates the given insertion delay.
- *
- * @param insertionDelay
- * The insertion delay to validate
- * @return {@code true} if the given insertion delay was valid,
- * {@code false} otherwise
- */
- public boolean validateInsertionDelay(Integer insertionDelay) {
- return options.getIntegerOption("InsertionDelay").validate(insertionDelay);
- }
-
- /**
- * Sets the insertion delay
- *
- * @param insertionDelay
- * The new insertion delay, or {@code null} to restore it to
- * the default value
- * @return This preferences
- */
- public Preferences setInsertionDelay(Integer insertionDelay) {
- options.getIntegerOption("InsertionDelay").set(insertionDelay);
- return this;
- }
-
- /**
- * Returns the number of posts to show per page.
- *
- * @return The number of posts to show per page
- */
- public int getPostsPerPage() {
- return options.getIntegerOption("PostsPerPage").get();
- }
-
- /**
- * Validates the number of posts per page.
- *
- * @param postsPerPage
- * The number of posts per page
- * @return {@code true} if the number of posts per page was valid,
- * {@code false} otherwise
- */
- public boolean validatePostsPerPage(Integer postsPerPage) {
- return options.getIntegerOption("PostsPerPage").validate(postsPerPage);
- }
-
- /**
- * Sets the number of posts to show per page.
- *
- * @param postsPerPage
- * The number of posts to show per page
- * @return This preferences object
- */
- public Preferences setPostsPerPage(Integer postsPerPage) {
- options.getIntegerOption("PostsPerPage").set(postsPerPage);
- return this;
- }
-
- /**
- * Returns the number of images to show per page.
- *
- * @return The number of images to show per page
- */
- public int getImagesPerPage() {
- return options.getIntegerOption("ImagesPerPage").get();
- }
-
- /**
- * Validates the number of images per page.
- *
- * @param imagesPerPage
- * The number of images per page
- * @return {@code true} if the number of images per page was valid,
- * {@code false} otherwise
- */
- public boolean validateImagesPerPage(Integer imagesPerPage) {
- return options.getIntegerOption("ImagesPerPage").validate(imagesPerPage);
- }
-
- /**
- * Sets the number of images per page.
- *
- * @param imagesPerPage
- * The number of images per page
- * @return This preferences object
- */
- public Preferences setImagesPerPage(Integer imagesPerPage) {
- options.getIntegerOption("ImagesPerPage").set(imagesPerPage);
- return this;
- }
-
- /**
- * Returns the number of characters per post, or -1
if the
- * posts should not be cut off.
- *
- * @return The numbers of characters per post
- */
- public int getCharactersPerPost() {
- return options.getIntegerOption("CharactersPerPost").get();
- }
-
- /**
- * Validates the number of characters per post.
- *
- * @param charactersPerPost
- * The number of characters per post
- * @return {@code true} if the number of characters per post was valid,
- * {@code false} otherwise
- */
- public boolean validateCharactersPerPost(Integer charactersPerPost) {
- return options.getIntegerOption("CharactersPerPost").validate(charactersPerPost);
- }
-
- /**
- * Sets the number of characters per post.
- *
- * @param charactersPerPost
- * The number of characters per post, or -1
to
- * not cut off the posts
- * @return This preferences objects
- */
- public Preferences setCharactersPerPost(Integer charactersPerPost) {
- options.getIntegerOption("CharactersPerPost").set(charactersPerPost);
- return this;
- }
-
- /**
- * Returns the number of characters the shortened post should have.
- *
- * @return The number of characters of the snippet
- */
- public int getPostCutOffLength() {
- return options.getIntegerOption("PostCutOffLength").get();
- }
-
- /**
- * Validates the number of characters after which to cut off the post.
- *
- * @param postCutOffLength
- * The number of characters of the snippet
- * @return {@code true} if the number of characters of the snippet is
- * valid, {@code false} otherwise
- */
- public boolean validatePostCutOffLength(Integer postCutOffLength) {
- return options.getIntegerOption("PostCutOffLength").validate(postCutOffLength);
- }
-
- /**
- * Sets the number of characters the shortened post should have.
- *
- * @param postCutOffLength
- * The number of characters of the snippet
- * @return This preferences
- */
- public Preferences setPostCutOffLength(Integer postCutOffLength) {
- options.getIntegerOption("PostCutOffLength").set(postCutOffLength);
- return this;
- }
-
- /**
- * Returns whether Sone requires full access to be even visible.
- *
- * @return {@code true} if Sone requires full access, {@code false}
- * otherwise
- */
- public boolean isRequireFullAccess() {
- return options.getBooleanOption("RequireFullAccess").get();
- }
-
- /**
- * Sets whether Sone requires full access to be even visible.
- *
- * @param requireFullAccess
- * {@code true} if Sone requires full access, {@code false}
- * otherwise
- */
- public void setRequireFullAccess(Boolean requireFullAccess) {
- options.getBooleanOption("RequireFullAccess").set(requireFullAccess);
- }
-
- /**
- * Returns the positive trust.
- *
- * @return The positive trust
- */
- public int getPositiveTrust() {
- return options.getIntegerOption("PositiveTrust").get();
- }
-
- /**
- * Validates the positive trust.
- *
- * @param positiveTrust
- * The positive trust to validate
- * @return {@code true} if the positive trust was valid, {@code false}
- * otherwise
- */
- public boolean validatePositiveTrust(Integer positiveTrust) {
- return options.getIntegerOption("PositiveTrust").validate(positiveTrust);
- }
-
- /**
- * Sets the positive trust.
- *
- * @param positiveTrust
- * The new positive trust, or {@code null} to restore it to
- * the default vlaue
- * @return This preferences
- */
- public Preferences setPositiveTrust(Integer positiveTrust) {
- options.getIntegerOption("PositiveTrust").set(positiveTrust);
- return this;
- }
-
- /**
- * Returns the negative trust.
- *
- * @return The negative trust
- */
- public int getNegativeTrust() {
- return options.getIntegerOption("NegativeTrust").get();
- }
-
- /**
- * Validates the negative trust.
- *
- * @param negativeTrust
- * The negative trust to validate
- * @return {@code true} if the negative trust was valid, {@code false}
- * otherwise
- */
- public boolean validateNegativeTrust(Integer negativeTrust) {
- return options.getIntegerOption("NegativeTrust").validate(negativeTrust);
- }
-
- /**
- * Sets the negative trust.
- *
- * @param negativeTrust
- * The negative trust, or {@code null} to restore it to the
- * default value
- * @return The preferences
- */
- public Preferences setNegativeTrust(Integer negativeTrust) {
- options.getIntegerOption("NegativeTrust").set(negativeTrust);
- return this;
- }
-
- /**
- * Returns the trust comment. This is the comment that is set in the web
- * of trust when a trust value is assigned to an identity.
- *
- * @return The trust comment
- */
- public String getTrustComment() {
- return options.getStringOption("TrustComment").get();
- }
-
- /**
- * Sets the trust comment.
- *
- * @param trustComment
- * The trust comment, or {@code null} to restore it to the
- * default value
- * @return This preferences
- */
- public Preferences setTrustComment(String trustComment) {
- options.getStringOption("TrustComment").set(trustComment);
- return this;
- }
-
- /**
- * Returns whether the {@link FcpInterface FCP interface} is currently
- * active.
- *
- * @see FcpInterface#setActive(boolean)
- * @return {@code true} if the FCP interface is currently active,
- * {@code false} otherwise
- */
- public boolean isFcpInterfaceActive() {
- return options.getBooleanOption("ActivateFcpInterface").get();
- }
-
- /**
- * Sets whether the {@link FcpInterface FCP interface} is currently
- * active.
- *
- * @see FcpInterface#setActive(boolean)
- * @param fcpInterfaceActive
- * {@code true} to activate the FCP interface, {@code false}
- * to deactivate the FCP interface
- * @return This preferences object
- */
- public Preferences setFcpInterfaceActive(boolean fcpInterfaceActive) {
- options.getBooleanOption("ActivateFcpInterface").set(fcpInterfaceActive);
- return this;
- }
-
- /**
- * Returns the action level for which full access to the FCP interface
- * is required.
- *
- * @return The action level for which full access to the FCP interface
- * is required
- */
- public FullAccessRequired getFcpFullAccessRequired() {
- return FullAccessRequired.values()[options.getIntegerOption("FcpFullAccessRequired").get()];
- }
-
- /**
- * Sets the action level for which full access to the FCP interface is
- * required
- *
- * @param fcpFullAccessRequired
- * The action level
- * @return This preferences
- */
- public Preferences setFcpFullAccessRequired(FullAccessRequired fcpFullAccessRequired) {
- options.getIntegerOption("FcpFullAccessRequired").set((fcpFullAccessRequired != null) ? fcpFullAccessRequired.ordinal() : null);
- return this;
- }
-
- }
-
}