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

net.customware.license.atlassian.prefs.ActiveObjectsLicensePreferences Maven / Gradle / Ivy

The newest version!
package net.customware.license.atlassian.prefs;

import net.customware.license.atlassian.ao.bean.License;
import net.customware.license.atlassian.ao.manager.LicenseManager;
import net.customware.license.support.util.AbstractLicensePreferences;

import java.util.prefs.AbstractPreferences;

public class ActiveObjectsLicensePreferences extends AbstractLicensePreferences {

    protected final LicenseManager licenseManager;

    public ActiveObjectsLicensePreferences(LicenseManager licenseManager) {
        this.licenseManager = licenseManager;
    }

    public ActiveObjectsLicensePreferences(AbstractLicensePreferences parent, String name, LicenseManager licenseManager) {
        super(parent, name);
        this.licenseManager = licenseManager;
    }

    public String getFullPath(String key) {
        return "java.util.prefs:" + absolutePath() + "//" + key;
    }

    @Override
    protected void putSpi(String key, String value) {
        licenseManager.installLicense(getFullPath(key), value);
    }

    @Override
    protected String getSpi(String key) {
        License license = licenseManager.getLicense(getFullPath(key));
        return license.getContent();
    }

    @Override
    protected void removeSpi(String key) {
        licenseManager.uninstallLicense(getFullPath(key));
    }

    @Override
    protected AbstractPreferences childSpi(String name) {
        return new ActiveObjectsLicensePreferences(this, name, licenseManager);
    }
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy