All Downloads are FREE. Search and download functionalities are using the official Maven repository.

shz.core.verify.AbstractVerifyManager Maven / Gradle / Ivy

There is a newer version: 10.3.1
Show newest version
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