
shz.core.verify.AbstractVerifyManager Maven / Gradle / Ivy
package shz.core.verify;
import shz.core.NullHelp;
public abstract class AbstractVerifyManager implements VerifyManager {
@Override
public final boolean generate(T verifiable) {
boolean result = generate0(verifiable);
if (result) put(verifiable.key(), verifiable.value(), verifiable.expireSeconds());
return result;
}
@Override
public final VerifyResult verify(T verifiable) {
String key = verifiable.key();
String value = get(key);
if (NullHelp.isBlank(value)) return VerifyResult.NOT_EXIST;
if (!verifiable.equals(value, verifiable.value())) return VerifyResult.ERROR;
if (delete()) delete(key);
return VerifyResult.OK;
}
protected abstract boolean generate0(T verifiable);
protected abstract void put(String key, String value, int expireSeconds);
protected abstract String get(String key);
protected boolean delete() {
return true;
}
protected abstract void delete(String key);
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy