Bukkit-API  1.7.9-R0.2
The inofficial Bukkit-API
ConfigurationSection.java
1 package org.bukkit.configuration;
2 
3 import java.util.Map;
4 import java.util.Set;
5 import java.util.List;
6 
7 import org.bukkit.Color;
9 import org.bukkit.util.Vector;
11 
12 /**
13  * Represents a section of a {@link Configuration}
14  */
15 public interface ConfigurationSection {
16  /**
17  * Gets a set containing all keys in this section.
18  * <p>
19  * If deep is set to true, then this will contain all the keys within any
20  * child {@link ConfigurationSection}s (and their children, etc). These
21  * will be in a valid path notation for you to use.
22  * <p>
23  * If deep is set to false, then this will contain only the keys of any
24  * direct children, and not their own children.
25  *
26  * @param deep Whether or not to get a deep list, as opposed to a shallow
27  * list.
28  * @return Set of keys contained within this ConfigurationSection.
29  */
30  public Set<String> getKeys(boolean deep);
31 
32  /**
33  * Gets a Map containing all keys and their values for this section.
34  * <p>
35  * If deep is set to true, then this will contain all the keys and values
36  * within any child {@link ConfigurationSection}s (and their children,
37  * etc). These keys will be in a valid path notation for you to use.
38  * <p>
39  * If deep is set to false, then this will contain only the keys and
40  * values of any direct children, and not their own children.
41  *
42  * @param deep Whether or not to get a deep list, as opposed to a shallow
43  * list.
44  * @return Map of keys and values of this section.
45  */
46  public Map<String, Object> getValues(boolean deep);
47 
48  /**
49  * Checks if this {@link ConfigurationSection} contains the given path.
50  * <p>
51  * If the value for the requested path does not exist but a default value
52  * has been specified, this will return true.
53  *
54  * @param path Path to check for existence.
55  * @return True if this section contains the requested path, either via
56  * default or being set.
57  * @throws IllegalArgumentException Thrown when path is null.
58  */
59  public boolean contains(String path);
60 
61  /**
62  * Checks if this {@link ConfigurationSection} has a value set for the
63  * given path.
64  * <p>
65  * If the value for the requested path does not exist but a default value
66  * has been specified, this will still return false.
67  *
68  * @param path Path to check for existence.
69  * @return True if this section contains the requested path, regardless of
70  * having a default.
71  * @throws IllegalArgumentException Thrown when path is null.
72  */
73  public boolean isSet(String path);
74 
75  /**
76  * Gets the path of this {@link ConfigurationSection} from its root {@link
77  * Configuration}
78  * <p>
79  * For any {@link Configuration} themselves, this will return an empty
80  * string.
81  * <p>
82  * If the section is no longer contained within its root for any reason,
83  * such as being replaced with a different value, this may return null.
84  * <p>
85  * To retrieve the single name of this section, that is, the final part of
86  * the path returned by this method, you may use {@link #getName()}.
87  *
88  * @return Path of this section relative to its root
89  */
90  public String getCurrentPath();
91 
92  /**
93  * Gets the name of this individual {@link ConfigurationSection}, in the
94  * path.
95  * <p>
96  * This will always be the final part of {@link #getCurrentPath()}, unless
97  * the section is orphaned.
98  *
99  * @return Name of this section
100  */
101  public String getName();
102 
103  /**
104  * Gets the root {@link Configuration} that contains this {@link
105  * ConfigurationSection}
106  * <p>
107  * For any {@link Configuration} themselves, this will return its own
108  * object.
109  * <p>
110  * If the section is no longer contained within its root for any reason,
111  * such as being replaced with a different value, this may return null.
112  *
113  * @return Root configuration containing this section.
114  */
115  public Configuration getRoot();
116 
117  /**
118  * Gets the parent {@link ConfigurationSection} that directly contains
119  * this {@link ConfigurationSection}.
120  * <p>
121  * For any {@link Configuration} themselves, this will return null.
122  * <p>
123  * If the section is no longer contained within its parent for any reason,
124  * such as being replaced with a different value, this may return null.
125  *
126  * @return Parent section containing this section.
127  */
129 
130  /**
131  * Gets the requested Object by path.
132  * <p>
133  * If the Object does not exist but a default value has been specified,
134  * this will return the default value. If the Object does not exist and no
135  * default value was specified, this will return null.
136  *
137  * @param path Path of the Object to get.
138  * @return Requested Object.
139  */
140  public Object get(String path);
141 
142  /**
143  * Gets the requested Object by path, returning a default value if not
144  * found.
145  * <p>
146  * If the Object does not exist then the specified default value will
147  * returned regardless of if a default has been identified in the root
148  * {@link Configuration}.
149  *
150  * @param path Path of the Object to get.
151  * @param def The default value to return if the path is not found.
152  * @return Requested Object.
153  */
154  public Object get(String path, Object def);
155 
156  /**
157  * Sets the specified path to the given value.
158  * <p>
159  * If value is null, the entry will be removed. Any existing entry will be
160  * replaced, regardless of what the new value is.
161  * <p>
162  * Some implementations may have limitations on what you may store. See
163  * their individual javadocs for details. No implementations should allow
164  * you to store {@link Configuration}s or {@link ConfigurationSection}s,
165  * please use {@link #createSection(java.lang.String)} for that.
166  *
167  * @param path Path of the object to set.
168  * @param value New value to set the path to.
169  */
170  public void set(String path, Object value);
171 
172  /**
173  * Creates an empty {@link ConfigurationSection} at the specified path.
174  * <p>
175  * Any value that was previously set at this path will be overwritten. If
176  * the previous value was itself a {@link ConfigurationSection}, it will
177  * be orphaned.
178  *
179  * @param path Path to create the section at.
180  * @return Newly created section
181  */
182  public ConfigurationSection createSection(String path);
183 
184  /**
185  * Creates a {@link ConfigurationSection} at the specified path, with
186  * specified values.
187  * <p>
188  * Any value that was previously set at this path will be overwritten. If
189  * the previous value was itself a {@link ConfigurationSection}, it will
190  * be orphaned.
191  *
192  * @param path Path to create the section at.
193  * @param map The values to used.
194  * @return Newly created section
195  */
196  public ConfigurationSection createSection(String path, Map<?, ?> map);
197 
198  // Primitives
199  /**
200  * Gets the requested String by path.
201  * <p>
202  * If the String does not exist but a default value has been specified,
203  * this will return the default value. If the String does not exist and no
204  * default value was specified, this will return null.
205  *
206  * @param path Path of the String to get.
207  * @return Requested String.
208  */
209  public String getString(String path);
210 
211  /**
212  * Gets the requested String by path, returning a default value if not
213  * found.
214  * <p>
215  * If the String does not exist then the specified default value will
216  * returned regardless of if a default has been identified in the root
217  * {@link Configuration}.
218  *
219  * @param path Path of the String to get.
220  * @param def The default value to return if the path is not found or is
221  * not a String.
222  * @return Requested String.
223  */
224  public String getString(String path, String def);
225 
226  /**
227  * Checks if the specified path is a String.
228  * <p>
229  * If the path exists but is not a String, this will return false. If the
230  * path does not exist, this will return false. If the path does not exist
231  * but a default value has been specified, this will check if that default
232  * value is a String and return appropriately.
233  *
234  * @param path Path of the String to check.
235  * @return Whether or not the specified path is a String.
236  */
237  public boolean isString(String path);
238 
239  /**
240  * Gets the requested int by path.
241  * <p>
242  * If the int does not exist but a default value has been specified, this
243  * will return the default value. If the int does not exist and no default
244  * value was specified, this will return 0.
245  *
246  * @param path Path of the int to get.
247  * @return Requested int.
248  */
249  public int getInt(String path);
250 
251  /**
252  * Gets the requested int by path, returning a default value if not found.
253  * <p>
254  * If the int does not exist then the specified default value will
255  * returned regardless of if a default has been identified in the root
256  * {@link Configuration}.
257  *
258  * @param path Path of the int to get.
259  * @param def The default value to return if the path is not found or is
260  * not an int.
261  * @return Requested int.
262  */
263  public int getInt(String path, int def);
264 
265  /**
266  * Checks if the specified path is an int.
267  * <p>
268  * If the path exists but is not a int, this will return false. If the
269  * path does not exist, this will return false. If the path does not exist
270  * but a default value has been specified, this will check if that default
271  * value is a int and return appropriately.
272  *
273  * @param path Path of the int to check.
274  * @return Whether or not the specified path is an int.
275  */
276  public boolean isInt(String path);
277 
278  /**
279  * Gets the requested boolean by path.
280  * <p>
281  * If the boolean does not exist but a default value has been specified,
282  * this will return the default value. If the boolean does not exist and
283  * no default value was specified, this will return false.
284  *
285  * @param path Path of the boolean to get.
286  * @return Requested boolean.
287  */
288  public boolean getBoolean(String path);
289 
290  /**
291  * Gets the requested boolean by path, returning a default value if not
292  * found.
293  * <p>
294  * If the boolean does not exist then the specified default value will
295  * returned regardless of if a default has been identified in the root
296  * {@link Configuration}.
297  *
298  * @param path Path of the boolean to get.
299  * @param def The default value to return if the path is not found or is
300  * not a boolean.
301  * @return Requested boolean.
302  */
303  public boolean getBoolean(String path, boolean def);
304 
305  /**
306  * Checks if the specified path is a boolean.
307  * <p>
308  * If the path exists but is not a boolean, this will return false. If the
309  * path does not exist, this will return false. If the path does not exist
310  * but a default value has been specified, this will check if that default
311  * value is a boolean and return appropriately.
312  *
313  * @param path Path of the boolean to check.
314  * @return Whether or not the specified path is a boolean.
315  */
316  public boolean isBoolean(String path);
317 
318  /**
319  * Gets the requested double by path.
320  * <p>
321  * If the double does not exist but a default value has been specified,
322  * this will return the default value. If the double does not exist and no
323  * default value was specified, this will return 0.
324  *
325  * @param path Path of the double to get.
326  * @return Requested double.
327  */
328  public double getDouble(String path);
329 
330  /**
331  * Gets the requested double by path, returning a default value if not
332  * found.
333  * <p>
334  * If the double does not exist then the specified default value will
335  * returned regardless of if a default has been identified in the root
336  * {@link Configuration}.
337  *
338  * @param path Path of the double to get.
339  * @param def The default value to return if the path is not found or is
340  * not a double.
341  * @return Requested double.
342  */
343  public double getDouble(String path, double def);
344 
345  /**
346  * Checks if the specified path is a double.
347  * <p>
348  * If the path exists but is not a double, this will return false. If the
349  * path does not exist, this will return false. If the path does not exist
350  * but a default value has been specified, this will check if that default
351  * value is a double and return appropriately.
352  *
353  * @param path Path of the double to check.
354  * @return Whether or not the specified path is a double.
355  */
356  public boolean isDouble(String path);
357 
358  /**
359  * Gets the requested long by path.
360  * <p>
361  * If the long does not exist but a default value has been specified, this
362  * will return the default value. If the long does not exist and no
363  * default value was specified, this will return 0.
364  *
365  * @param path Path of the long to get.
366  * @return Requested long.
367  */
368  public long getLong(String path);
369 
370  /**
371  * Gets the requested long by path, returning a default value if not
372  * found.
373  * <p>
374  * If the long does not exist then the specified default value will
375  * returned regardless of if a default has been identified in the root
376  * {@link Configuration}.
377  *
378  * @param path Path of the long to get.
379  * @param def The default value to return if the path is not found or is
380  * not a long.
381  * @return Requested long.
382  */
383  public long getLong(String path, long def);
384 
385  /**
386  * Checks if the specified path is a long.
387  * <p>
388  * If the path exists but is not a long, this will return false. If the
389  * path does not exist, this will return false. If the path does not exist
390  * but a default value has been specified, this will check if that default
391  * value is a long and return appropriately.
392  *
393  * @param path Path of the long to check.
394  * @return Whether or not the specified path is a long.
395  */
396  public boolean isLong(String path);
397 
398  // Java
399  /**
400  * Gets the requested List by path.
401  * <p>
402  * If the List does not exist but a default value has been specified, this
403  * will return the default value. If the List does not exist and no
404  * default value was specified, this will return null.
405  *
406  * @param path Path of the List to get.
407  * @return Requested List.
408  */
409  public List<?> getList(String path);
410 
411  /**
412  * Gets the requested List by path, returning a default value if not
413  * found.
414  * <p>
415  * If the List does not exist then the specified default value will
416  * returned regardless of if a default has been identified in the root
417  * {@link Configuration}.
418  *
419  * @param path Path of the List to get.
420  * @param def The default value to return if the path is not found or is
421  * not a List.
422  * @return Requested List.
423  */
424  public List<?> getList(String path, List<?> def);
425 
426  /**
427  * Checks if the specified path is a List.
428  * <p>
429  * If the path exists but is not a List, this will return false. If the
430  * path does not exist, this will return false. If the path does not exist
431  * but a default value has been specified, this will check if that default
432  * value is a List and return appropriately.
433  *
434  * @param path Path of the List to check.
435  * @return Whether or not the specified path is a List.
436  */
437  public boolean isList(String path);
438 
439  /**
440  * Gets the requested List of String by path.
441  * <p>
442  * If the List does not exist but a default value has been specified, this
443  * will return the default value. If the List does not exist and no
444  * default value was specified, this will return an empty List.
445  * <p>
446  * This method will attempt to cast any values into a String if possible,
447  * but may miss any values out if they are not compatible.
448  *
449  * @param path Path of the List to get.
450  * @return Requested List of String.
451  */
452  public List<String> getStringList(String path);
453 
454  /**
455  * Gets the requested List of Integer by path.
456  * <p>
457  * If the List does not exist but a default value has been specified, this
458  * will return the default value. If the List does not exist and no
459  * default value was specified, this will return an empty List.
460  * <p>
461  * This method will attempt to cast any values into a Integer if possible,
462  * but may miss any values out if they are not compatible.
463  *
464  * @param path Path of the List to get.
465  * @return Requested List of Integer.
466  */
467  public List<Integer> getIntegerList(String path);
468 
469  /**
470  * Gets the requested List of Boolean by path.
471  * <p>
472  * If the List does not exist but a default value has been specified, this
473  * will return the default value. If the List does not exist and no
474  * default value was specified, this will return an empty List.
475  * <p>
476  * This method will attempt to cast any values into a Boolean if possible,
477  * but may miss any values out if they are not compatible.
478  *
479  * @param path Path of the List to get.
480  * @return Requested List of Boolean.
481  */
482  public List<Boolean> getBooleanList(String path);
483 
484  /**
485  * Gets the requested List of Double by path.
486  * <p>
487  * If the List does not exist but a default value has been specified, this
488  * will return the default value. If the List does not exist and no
489  * default value was specified, this will return an empty List.
490  * <p>
491  * This method will attempt to cast any values into a Double if possible,
492  * but may miss any values out if they are not compatible.
493  *
494  * @param path Path of the List to get.
495  * @return Requested List of Double.
496  */
497  public List<Double> getDoubleList(String path);
498 
499  /**
500  * Gets the requested List of Float by path.
501  * <p>
502  * If the List does not exist but a default value has been specified, this
503  * will return the default value. If the List does not exist and no
504  * default value was specified, this will return an empty List.
505  * <p>
506  * This method will attempt to cast any values into a Float if possible,
507  * but may miss any values out if they are not compatible.
508  *
509  * @param path Path of the List to get.
510  * @return Requested List of Float.
511  */
512  public List<Float> getFloatList(String path);
513 
514  /**
515  * Gets the requested List of Long by path.
516  * <p>
517  * If the List does not exist but a default value has been specified, this
518  * will return the default value. If the List does not exist and no
519  * default value was specified, this will return an empty List.
520  * <p>
521  * This method will attempt to cast any values into a Long if possible,
522  * but may miss any values out if they are not compatible.
523  *
524  * @param path Path of the List to get.
525  * @return Requested List of Long.
526  */
527  public List<Long> getLongList(String path);
528 
529  /**
530  * Gets the requested List of Byte by path.
531  * <p>
532  * If the List does not exist but a default value has been specified, this
533  * will return the default value. If the List does not exist and no
534  * default value was specified, this will return an empty List.
535  * <p>
536  * This method will attempt to cast any values into a Byte if possible,
537  * but may miss any values out if they are not compatible.
538  *
539  * @param path Path of the List to get.
540  * @return Requested List of Byte.
541  */
542  public List<Byte> getByteList(String path);
543 
544  /**
545  * Gets the requested List of Character by path.
546  * <p>
547  * If the List does not exist but a default value has been specified, this
548  * will return the default value. If the List does not exist and no
549  * default value was specified, this will return an empty List.
550  * <p>
551  * This method will attempt to cast any values into a Character if
552  * possible, but may miss any values out if they are not compatible.
553  *
554  * @param path Path of the List to get.
555  * @return Requested List of Character.
556  */
557  public List<Character> getCharacterList(String path);
558 
559  /**
560  * Gets the requested List of Short by path.
561  * <p>
562  * If the List does not exist but a default value has been specified, this
563  * will return the default value. If the List does not exist and no
564  * default value was specified, this will return an empty List.
565  * <p>
566  * This method will attempt to cast any values into a Short if possible,
567  * but may miss any values out if they are not compatible.
568  *
569  * @param path Path of the List to get.
570  * @return Requested List of Short.
571  */
572  public List<Short> getShortList(String path);
573 
574  /**
575  * Gets the requested List of Maps by path.
576  * <p>
577  * If the List does not exist but a default value has been specified, this
578  * will return the default value. If the List does not exist and no
579  * default value was specified, this will return an empty List.
580  * <p>
581  * This method will attempt to cast any values into a Map if possible, but
582  * may miss any values out if they are not compatible.
583  *
584  * @param path Path of the List to get.
585  * @return Requested List of Maps.
586  */
587  public List<Map<?, ?>> getMapList(String path);
588 
589  // Bukkit
590  /**
591  * Gets the requested Vector by path.
592  * <p>
593  * If the Vector does not exist but a default value has been specified,
594  * this will return the default value. If the Vector does not exist and no
595  * default value was specified, this will return null.
596  *
597  * @param path Path of the Vector to get.
598  * @return Requested Vector.
599  */
600  public Vector getVector(String path);
601 
602  /**
603  * Gets the requested {@link Vector} by path, returning a default value if
604  * not found.
605  * <p>
606  * If the Vector does not exist then the specified default value will
607  * returned regardless of if a default has been identified in the root
608  * {@link Configuration}.
609  *
610  * @param path Path of the Vector to get.
611  * @param def The default value to return if the path is not found or is
612  * not a Vector.
613  * @return Requested Vector.
614  */
615  public Vector getVector(String path, Vector def);
616 
617  /**
618  * Checks if the specified path is a Vector.
619  * <p>
620  * If the path exists but is not a Vector, this will return false. If the
621  * path does not exist, this will return false. If the path does not exist
622  * but a default value has been specified, this will check if that default
623  * value is a Vector and return appropriately.
624  *
625  * @param path Path of the Vector to check.
626  * @return Whether or not the specified path is a Vector.
627  */
628  public boolean isVector(String path);
629 
630  /**
631  * Gets the requested OfflinePlayer by path.
632  * <p>
633  * If the OfflinePlayer does not exist but a default value has been
634  * specified, this will return the default value. If the OfflinePlayer
635  * does not exist and no default value was specified, this will return
636  * null.
637  *
638  * @param path Path of the OfflinePlayer to get.
639  * @return Requested OfflinePlayer.
640  */
641  public OfflinePlayer getOfflinePlayer(String path);
642 
643  /**
644  * Gets the requested {@link OfflinePlayer} by path, returning a default
645  * value if not found.
646  * <p>
647  * If the OfflinePlayer does not exist then the specified default value
648  * will returned regardless of if a default has been identified in the
649  * root {@link Configuration}.
650  *
651  * @param path Path of the OfflinePlayer to get.
652  * @param def The default value to return if the path is not found or is
653  * not an OfflinePlayer.
654  * @return Requested OfflinePlayer.
655  */
656  public OfflinePlayer getOfflinePlayer(String path, OfflinePlayer def);
657 
658  /**
659  * Checks if the specified path is an OfflinePlayer.
660  * <p>
661  * If the path exists but is not a OfflinePlayer, this will return false.
662  * If the path does not exist, this will return false. If the path does
663  * not exist but a default value has been specified, this will check if
664  * that default value is a OfflinePlayer and return appropriately.
665  *
666  * @param path Path of the OfflinePlayer to check.
667  * @return Whether or not the specified path is an OfflinePlayer.
668  */
669  public boolean isOfflinePlayer(String path);
670 
671  /**
672  * Gets the requested ItemStack by path.
673  * <p>
674  * If the ItemStack does not exist but a default value has been specified,
675  * this will return the default value. If the ItemStack does not exist and
676  * no default value was specified, this will return null.
677  *
678  * @param path Path of the ItemStack to get.
679  * @return Requested ItemStack.
680  */
681  public ItemStack getItemStack(String path);
682 
683  /**
684  * Gets the requested {@link ItemStack} by path, returning a default value
685  * if not found.
686  * <p>
687  * If the ItemStack does not exist then the specified default value will
688  * returned regardless of if a default has been identified in the root
689  * {@link Configuration}.
690  *
691  * @param path Path of the ItemStack to get.
692  * @param def The default value to return if the path is not found or is
693  * not an ItemStack.
694  * @return Requested ItemStack.
695  */
696  public ItemStack getItemStack(String path, ItemStack def);
697 
698  /**
699  * Checks if the specified path is an ItemStack.
700  * <p>
701  * If the path exists but is not a ItemStack, this will return false. If
702  * the path does not exist, this will return false. If the path does not
703  * exist but a default value has been specified, this will check if that
704  * default value is a ItemStack and return appropriately.
705  *
706  * @param path Path of the ItemStack to check.
707  * @return Whether or not the specified path is an ItemStack.
708  */
709  public boolean isItemStack(String path);
710 
711  /**
712  * Gets the requested Color by path.
713  * <p>
714  * If the Color does not exist but a default value has been specified,
715  * this will return the default value. If the Color does not exist and no
716  * default value was specified, this will return null.
717  *
718  * @param path Path of the Color to get.
719  * @return Requested Color.
720  */
721  public Color getColor(String path);
722 
723  /**
724  * Gets the requested {@link Color} by path, returning a default value if
725  * not found.
726  * <p>
727  * If the Color does not exist then the specified default value will
728  * returned regardless of if a default has been identified in the root
729  * {@link Configuration}.
730  *
731  * @param path Path of the Color to get.
732  * @param def The default value to return if the path is not found or is
733  * not a Color.
734  * @return Requested Color.
735  */
736  public Color getColor(String path, Color def);
737 
738  /**
739  * Checks if the specified path is a Color.
740  * <p>
741  * If the path exists but is not a Color, this will return false. If the
742  * path does not exist, this will return false. If the path does not exist
743  * but a default value has been specified, this will check if that default
744  * value is a Color and return appropriately.
745  *
746  * @param path Path of the Color to check.
747  * @return Whether or not the specified path is a Color.
748  */
749  public boolean isColor(String path);
750 
751  /**
752  * Gets the requested ConfigurationSection by path.
753  * <p>
754  * If the ConfigurationSection does not exist but a default value has been
755  * specified, this will return the default value. If the
756  * ConfigurationSection does not exist and no default value was specified,
757  * this will return null.
758  *
759  * @param path Path of the ConfigurationSection to get.
760  * @return Requested ConfigurationSection.
761  */
762  public ConfigurationSection getConfigurationSection(String path);
763 
764  /**
765  * Checks if the specified path is a ConfigurationSection.
766  * <p>
767  * If the path exists but is not a ConfigurationSection, this will return
768  * false. If the path does not exist, this will return false. If the path
769  * does not exist but a default value has been specified, this will check
770  * if that default value is a ConfigurationSection and return
771  * appropriately.
772  *
773  * @param path Path of the ConfigurationSection to check.
774  * @return Whether or not the specified path is a ConfigurationSection.
775  */
776  public boolean isConfigurationSection(String path);
777 
778  /**
779  * Gets the equivalent {@link ConfigurationSection} from the default
780  * {@link Configuration} defined in {@link #getRoot()}.
781  * <p>
782  * If the root contains no defaults, or the defaults doesn't contain a
783  * value for this path, or the value at this path is not a {@link
784  * ConfigurationSection} then this will return null.
785  *
786  * @return Equivalent section in root configuration
787  */
789 
790  /**
791  * Sets the default value in the root at the given path as provided.
792  * <p>
793  * If no source {@link Configuration} was provided as a default
794  * collection, then a new {@link MemoryConfiguration} will be created to
795  * hold the new default value.
796  * <p>
797  * If value is null, the value will be removed from the default
798  * Configuration source.
799  * <p>
800  * If the value as returned by {@link #getDefaultSection()} is null, then
801  * this will create a new section at the path, replacing anything that may
802  * have existed there previously.
803  *
804  * @param path Path of the value to set.
805  * @param value Value to set the default to.
806  * @throws IllegalArgumentException Thrown if path is null.
807  */
808  public void addDefault(String path, Object value);
809 }
List< Map<?,?> > getMapList(String path)
List< Boolean > getBooleanList(String path)
void set(String path, Object value)
List< Character > getCharacterList(String path)
List< Integer > getIntegerList(String path)
ConfigurationSection createSection(String path)
Map< String, Object > getValues(boolean deep)
ConfigurationSection getConfigurationSection(String path)
void addDefault(String path, Object value)
List< Float > getFloatList(String path)
List< Double > getDoubleList(String path)
List< String > getStringList(String path)
List< Short > getShortList(String path)
OfflinePlayer getOfflinePlayer(String path)