Move stuff into commons, rename PermissionObject, add more javadocs to api

This commit is contained in:
Luck
2016-08-06 00:11:00 +02:00
Unverified
parent 03450c3339
commit caf03379f2
38 changed files with 516 additions and 388 deletions
@@ -0,0 +1,30 @@
package me.lucko.luckperms.commands;
import java.lang.ref.WeakReference;
public abstract class SenderFactory<T> {
protected abstract void sendMessage(T t, String s);
protected abstract boolean hasPermission(T t, String node);
public Sender wrap(T t) {
final SenderFactory<T> factory = this;
return new Sender() {
final WeakReference<T> cs = new WeakReference<>(t);
@Override
public void sendMessage(String s) {
final T c = cs.get();
if (c != null) {
factory.sendMessage(c, s);
}
}
@Override
public boolean hasPermission(String node) {
final T c = cs.get();
return c != null && factory.hasPermission(c, node);
}
};
}
}