X-Git-Url: https://git.pterodactylus.net/?p=jFCPlib.git;a=blobdiff_plain;f=src%2Fmain%2Fjava%2Fnet%2Fpterodactylus%2Ffcp%2FSubscribeUSK.java;h=634d1de880a9399aac0ad9f93fed80c9fe0ba86b;hp=6a183336c6f9928b74213677d1d3589b55404622;hb=05e52ccf3f6e8f2645031cfd3b35f3f71d3a2b82;hpb=044ddfcf212ee69091e0b854ec02769fc125477b diff --git a/src/main/java/net/pterodactylus/fcp/SubscribeUSK.java b/src/main/java/net/pterodactylus/fcp/SubscribeUSK.java index 6a18333..634d1de 100644 --- a/src/main/java/net/pterodactylus/fcp/SubscribeUSK.java +++ b/src/main/java/net/pterodactylus/fcp/SubscribeUSK.java @@ -24,22 +24,35 @@ package net.pterodactylus.fcp; * * @author David ‘Bombe’ Roden <bombe@freenetproject.org> */ -public class SubscribeUSK extends FcpMessage { +public class SubscribeUSK extends FcpMessage implements Identifiable { - /** - * Creates a new “SubscribeUSK” message. - * - * @param uri - * The URI to watch for changes - * @param identifier - * The identifier of the request - */ - public SubscribeUSK(String uri, String identifier) { + public SubscribeUSK(String identifier) { super("SubscribeUSK"); - setField("URI", uri); setField("Identifier", identifier); } + public SubscribeUSK(String uri, String identifier) { + this(identifier); + setField("URI", uri); + } + + @Override + public String getIdentifier() { + return getField("Identifier"); + } + + public String getUri() { + return getField("URI"); + } + + public void setUri(String uri) { + setField("URI", uri); + } + + public boolean isActive() { + return !Boolean.parseBoolean(getField("DontPoll")); + } + /** * Sets whether updates for the USK are actively searched. * @@ -52,4 +65,52 @@ public class SubscribeUSK extends FcpMessage { setField("DontPoll", String.valueOf(!active)); } + public boolean isSparse() { + return Boolean.valueOf(getField("SparsePoll")); + } + + public void setSparse(boolean sparse) { + setField("SparsePoll", String.valueOf(sparse)); + } + + public Priority getPriority() { + String priorityClass = getField("PriorityClass"); + if (priorityClass != null) { + return Priority.valueOf(priorityClass); + } + return Priority.bulkSplitfile; + } + + public void setPriority(Priority priority) { + setField("PriorityClass", priority.toString()); + } + + public Priority getActivePriority() { + String priorityClass = getField("PriorityClassProgress"); + if (priorityClass != null) { + return Priority.valueOf(priorityClass); + } + return Priority.update; + } + + public void setActivePriority(Priority activePriority) { + setField("PriorityClassProgress", activePriority.toString()); + } + + public boolean isRealTime() { + return Boolean.valueOf(getField("RealTimeFlag")); + } + + public void setRealTime(boolean realTime) { + setField("RealTimeFlag", String.valueOf(realTime)); + } + + public boolean isIgnoreDateHints() { + return Boolean.valueOf(getField("IgnoreUSKDatehints")); + } + + public void setIgnoreDateHints(boolean ignoreDateHints) { + setField("IgnoreUSKDatehints", String.valueOf(ignoreDateHints)); + } + }