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<Module> getGuiceModules() {
return new ArrayList<>(0);
}
@Override
public Map<String, Object> getDataModel() {
return new HashMap<>();
}
@Override
public boolean isVisible() {
return true;
}
}