Newer
Older
KeeperJerry_Launcher / LaunchServer / source / auth / provider / NullAuthProvider.java
package launchserver.auth.provider;

import java.io.IOException;

import launcher.LauncherAPI;
import launcher.helper.VerifyHelper;
import launcher.serialize.config.entry.BlockConfigEntry;

public final class NullAuthProvider extends AuthProvider {
	private volatile AuthProvider provider;

	public NullAuthProvider(BlockConfigEntry block) {
		super(block);
	}

	@Override
	public String auth(String login, String password) throws Exception {
		return getProvider().auth(login, password);
	}

	@Override
	public void flush() throws IOException {
		AuthProvider provider = this.provider;
		if (provider != null) {
			provider.flush();
		}
	}

	@Override
	public void verify() {
		AuthProvider provider = this.provider;
		if (provider != null) {
			provider.verify();
		}
	}

	@LauncherAPI
	public void setBackend(AuthProvider provider) {
		this.provider = provider;
	}

	private AuthProvider getProvider() {
		return VerifyHelper.verify(provider, a -> a != null, "Backend auth provider wasn't set");
	}
}