package com.github.nyrkovalex.ironadmin.core.defaults; import com.github.nyrkovalex.ironadmin.core.AdminContext; import com.github.nyrkovalex.ironadmin.core.TemplateResolver; import com.github.nyrkovalex.ironadmin.core.pages.PageRegistry; import org.jetbrains.annotations.NotNull; public class DefaultAdminContext implements AdminContext { private static final DefaultAdminContext INSTANCE = new DefaultAdminContext(); private final DefaultPageRegistry pageRegistry; private final ThymeleafTemplateResolver templateResolver; private final EnvironmentContext env; private DefaultAdminContext() { pageRegistry = new DefaultPageRegistry(); env = new EnvironmentContext(pageRegistry); templateResolver = new ThymeleafTemplateResolver(env); } @NotNull @Override public PageRegistry pageRegistry() { return pageRegistry; } @NotNull @Override public TemplateResolver templateResolver() { return templateResolver; } @Override public void setTitle(@NotNull String title) { env.setTitle(title); } @NotNull @Override public String title() { return env.getTitle(); } public static DefaultAdminContext instance() { return INSTANCE; } }