X-Git-Url: https://git.pterodactylus.net/?a=blobdiff_plain;f=src%2Fmain%2Fjava%2Fnet%2Fpterodactylus%2Ffcp%2FSubscribeUSK.java;h=cfa76139a0d147a89c0029b22c84ec79f9a66ba4;hb=a30d521e1add957b2ddfee455bc6e061efbf44b7;hp=6a183336c6f9928b74213677d1d3589b55404622;hpb=508624458578f01a393f8b44f32b98b40054fdc8;p=jFCPlib.git diff --git a/src/main/java/net/pterodactylus/fcp/SubscribeUSK.java b/src/main/java/net/pterodactylus/fcp/SubscribeUSK.java index 6a18333..cfa7613 100644 --- a/src/main/java/net/pterodactylus/fcp/SubscribeUSK.java +++ b/src/main/java/net/pterodactylus/fcp/SubscribeUSK.java @@ -1,9 +1,9 @@ /* - * jFCPlib - SubscribeUSK.java - Copyright © 2008 David Roden + * jFCPlib - SubscribeUSK.java - Copyright © 2008–2016 David Roden * - * This program is free software; you can redistribute it and/or modify + * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 2 of the License, or + * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, @@ -12,8 +12,7 @@ * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License - * along with this program; if not, write to the Free Software - * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. + * along with this program. If not, see . */ package net.pterodactylus.fcp; @@ -24,22 +23,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 +64,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)); + } + }