X-Git-Url: https://git.pterodactylus.net/?a=blobdiff_plain;f=src%2Fde%2Ftodesbaum%2Futil%2Ffreenet%2Ffcp2%2FPriorityClass.java;h=729acc175a1c73539a6f39e73f7b1c75695ac16a;hb=53c860450fde63ab927a457611e49e94ce2649db;hp=9f9ea0ede039b6707da6d5f395b4f0900d757932;hpb=6f1a8216cfba28add0ef365b46a08d16d4eb87fe;p=jSite.git
diff --git a/src/de/todesbaum/util/freenet/fcp2/PriorityClass.java b/src/de/todesbaum/util/freenet/fcp2/PriorityClass.java
index 9f9ea0e..729acc1 100644
--- a/src/de/todesbaum/util/freenet/fcp2/PriorityClass.java
+++ b/src/de/todesbaum/util/freenet/fcp2/PriorityClass.java
@@ -1,6 +1,5 @@
/*
- * todesbaum-lib -
- * Copyright (C) 2006 David Roden
+ * jSite - PriorityClass.java - Copyright © 2006â2012 David Roden
*
* 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
@@ -20,39 +19,95 @@
package de.todesbaum.util.freenet.fcp2;
/**
+ * The possible priority classes. Possible values are, in order of descending
+ * priority: maximum
(anything more important than fproxy),
+ * interactive
(fproxy), semi-interactive
(fproxy
+ * immediate mode large file downloads, not to disk), updatable
+ * (updatable site checks), bulk
(large file downloads to disk),
+ * prefetch
, minimum
.
+ *
* @author David Roden <droden@gmail.com>
- * @version $Id: PriorityClass.java 356 2006-03-24 15:13:38Z bombe $
+ * @version $Id$
*/
public final class PriorityClass {
+ /** Denotes maximum
priority class. */
public static final PriorityClass MAXIMUM = new PriorityClass("maximum", 0);
+
+ /** Denotes interactive
priority class. */
public static final PriorityClass INTERACTIVE = new PriorityClass("interactive", 1);
+
+ /** Denotes semi-interactive
priority class. */
public static final PriorityClass SEMI_INTERACTIVE = new PriorityClass("semiInteractive", 2);
+
+ /** Denotes updatable
priority class. */
public static final PriorityClass UPDATABLE = new PriorityClass("updatable", 3);
+
+ /** Denotes bulk
priority class. */
public static final PriorityClass BULK = new PriorityClass("bulk", 4);
+
+ /** Denotes prefetch
priority class. */
public static final PriorityClass PREFETCH = new PriorityClass("prefetch", 5);
+
+ /** Denotes minimum
priority class. */
public static final PriorityClass MINIMUM = new PriorityClass("minimum", 6);
+ /** The name of the priority class. */
private String name;
+
+ /** The value of the priority class. */
private int value;
+ /**
+ * Creates a new priority class with the specified name and value.
+ *
+ * @param name
+ * The name of the priority class
+ * @param value
+ * The value of the priority class
+ */
private PriorityClass(String name, int value) {
this.name = name;
this.value = value;
}
/**
- * @return Returns the name.
+ * Returns the name of this priority class.
+ *
+ * @return The name of this priority class
*/
public String getName() {
return name;
}
/**
- * @return Returns the value.
+ * Returns the value of this priority class.
+ *
+ * @return The value of this priority class
*/
public int getValue() {
return value;
}
+ //
+ // STATIC METHODS
+ //
+
+ /**
+ * Returns the priority class with the given name, matched case-insensitive.
+ *
+ * @param value
+ * The name of the priority
+ * @return The priority with the given name, or {@code null} if no priority
+ * matches the given name
+ */
+ public static PriorityClass valueOf(String value) {
+ for (PriorityClass priorityClass : new PriorityClass[] { MINIMUM, PREFETCH, BULK, UPDATABLE, SEMI_INTERACTIVE, INTERACTIVE, MAXIMUM }) {
+ if (priorityClass.getName().equalsIgnoreCase(value)) {
+ return priorityClass;
+ }
+ }
+ return null;
+ }
+
}