SpoutDev/SpoutAPI — pull request #91 by WalkerCrouse (2012-02-24 05:56:45+00:00)
Title: Configuration refactor

Refactor plays out something like this:
* Moved methods into MathHelper
* Moved EmptyNullRepresenter into its own file
* MemoryConfiguration HAS ConfigurationNodes
* Configuration IS-A MemoryConfiguration

Configuration use case:

```java
package net.windwaker.plugin.configuration;

import java.io.File;
import org.spout.api.util.config.Configuration;
import org.spout.api.util.config.ConfigurationNode;

public class Test extends Configuration {

private final ConfigurationNode cake = new ConfigurationNode(this, "can.i.haz.cake", false);

public Test() {
super(new File("plugins/Permissions/test.yml"));
}

public void test() {
ConfigurationNode node = this.getNode("foo.bar.baz");
node.setValue("qux");
this.setNode(node);
this.setNode(cake);
this.save();
}

public boolean canHaveCake() {
return cake.getBoolean();
}
}
````
I see this being very easy for property management in the future, and was the best way I could think of.

Signed-off-by: WalkerCrouse (Windwaker)