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

netflix.adminresources.AbstractAdminPageInfo Maven / Gradle / Ivy

package netflix.adminresources;

import com.google.inject.Module;
import com.netflix.config.ConfigurationManager;

import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;

public abstract class AbstractAdminPageInfo implements AdminPageInfo {
    public static final String ADMIN_PAGE_DISABLE_PROP_PREFIX = "netflix.platform.admin.pages.";
    public static final String DISABLED = ".disabled";

    private final String pageId;
    private final String name;

    public AbstractAdminPageInfo(String pageId, String name) {
        this.pageId = pageId;
        this.name = name;
    }

    public String getPageId() {
        return pageId;
    }

    @Override
    public String getName() {
        return name;
    }

    @Override
    public String getPageTemplate() {
        return "/webadmin/" + pageId + "/index.ftl";
    }

    @Override
    public String getJerseyResourcePackageList() {
        return "";
    }

    @Override
    public boolean isEnabled() {
        final String disablePagePropId = ADMIN_PAGE_DISABLE_PROP_PREFIX + pageId + DISABLED;
        boolean isDisabled = ConfigurationManager.getConfigInstance().getBoolean(disablePagePropId, false);
        return !isDisabled;
    }

    @Override
    public List getGuiceModules() {
        return new ArrayList<>(0);
    }

    @Override
    public Map getDataModel() {
        return new HashMap<>();
    }

    @Override
    public boolean isVisible() {
        return true;
    }
}





© 2015 - 2025 Weber Informatics LLC | Privacy Policy