summaryrefslogtreecommitdiffstats
path: root/src/main/java/org
diff options
context:
space:
mode:
authorFakeNeth <cneth97@gmail.com>2016-04-05 18:24:05 -0400
committermd_5 <git@md-5.net>2016-04-09 21:03:13 +1000
commitfacc9c353c3b9b9b24986cbe13ca894cb641077c (patch)
treeb7c48829236fd3d97b028733b20a2d4ada6414e2 /src/main/java/org
parenta70e44d68bc815051d965cdedc7fc18555f7d73d (diff)
downloadbukkit-facc9c353c3b9b9b24986cbe13ca894cb641077c.tar
bukkit-facc9c353c3b9b9b24986cbe13ca894cb641077c.tar.gz
bukkit-facc9c353c3b9b9b24986cbe13ca894cb641077c.tar.lz
bukkit-facc9c353c3b9b9b24986cbe13ca894cb641077c.tar.xz
bukkit-facc9c353c3b9b9b24986cbe13ca894cb641077c.zip
Add method to check configuration path existence, ignoring defaults.
Diffstat (limited to 'src/main/java/org')
-rw-r--r--src/main/java/org/bukkit/configuration/ConfigurationSection.java19
-rw-r--r--src/main/java/org/bukkit/configuration/MemorySection.java6
2 files changed, 24 insertions, 1 deletions
diff --git a/src/main/java/org/bukkit/configuration/ConfigurationSection.java b/src/main/java/org/bukkit/configuration/ConfigurationSection.java
index 1bd7fb51..166f2a65 100644
--- a/src/main/java/org/bukkit/configuration/ConfigurationSection.java
+++ b/src/main/java/org/bukkit/configuration/ConfigurationSection.java
@@ -59,6 +59,25 @@ public interface ConfigurationSection {
public boolean contains(String path);
/**
+ * Checks if this {@link ConfigurationSection} contains the given path.
+ * <p>
+ * If the value for the requested path does not exist, the boolean parameter
+ * of true has been specified, a default value for the path exists, this
+ * will return true.
+ * <p>
+ * If a boolean parameter of false has been specified, true will only be
+ * returned if there is a set value for the specified path.
+ *
+ * @param path Path to check for existence.
+ * @param ignoreDefault Whether or not to ignore if a default value for the
+ * specified path exists.
+ * @return True if this section contains the requested path, or if a default
+ * value exist and the boolean parameter for this method is true.
+ * @throws IllegalArgumentException Thrown when path is null.
+ */
+ public boolean contains(String path, boolean ignoreDefault);
+
+ /**
* Checks if this {@link ConfigurationSection} has a value set for the
* given path.
* <p>
diff --git a/src/main/java/org/bukkit/configuration/MemorySection.java b/src/main/java/org/bukkit/configuration/MemorySection.java
index f180bf5f..3b92c644 100644
--- a/src/main/java/org/bukkit/configuration/MemorySection.java
+++ b/src/main/java/org/bukkit/configuration/MemorySection.java
@@ -103,7 +103,11 @@ public class MemorySection implements ConfigurationSection {
}
public boolean contains(String path) {
- return get(path) != null;
+ return contains(path, false);
+ }
+
+ public boolean contains(String path, boolean ignoreDefault) {
+ return ((ignoreDefault) ? get(path, null) : get(path)) != null;
}
public boolean isSet(String path) {