package com.gitblit.wicket; import java.util.Date; import java.util.TimeZone; import org.apache.wicket.markup.html.WebPage; import com.gitblit.IStoredSettings; import com.gitblit.manager.IAuthenticationManager; import com.gitblit.manager.IFederationManager; import com.gitblit.manager.IFilestoreManager; import com.gitblit.manager.IGitblit; import com.gitblit.manager.INotificationManager; import com.gitblit.manager.IPluginManager; import com.gitblit.manager.IProjectManager; import com.gitblit.manager.IRepositoryManager; import com.gitblit.manager.IRuntimeManager; import com.gitblit.manager.IServicesManager; import com.gitblit.manager.IUserManager; import com.gitblit.tickets.ITicketService; import com.gitblit.transport.ssh.IPublicKeyManager; import com.gitblit.utils.XssFilter; public interface GitblitWicketApp { public abstract void mount(String location, Class clazz, String... parameters); public abstract Class getHomePage(); public abstract boolean isCacheablePage(String mountPoint); public abstract CacheControl getCacheControl(String mountPoint); public abstract IStoredSettings settings(); public abstract XssFilter xssFilter(); /** * Is Gitblit running in debug mode? * * @return true if Gitblit is running in debug mode */ public abstract boolean isDebugMode(); /* * These methods look strange... and they are... but they are the first * step towards modularization across multiple commits. */ public abstract Date getBootDate(); public abstract Date getLastActivityDate(); public abstract IRuntimeManager runtime(); public abstract IPluginManager plugins(); public abstract INotificationManager notifier(); public abstract IUserManager users(); public abstract IAuthenticationManager authentication(); public abstract IPublicKeyManager keys(); public abstract IRepositoryManager repositories(); public abstract IProjectManager projects(); public abstract IFederationManager federation(); public abstract IGitblit gitblit(); public abstract IServicesManager services(); public abstract ITicketService tickets(); public abstract TimeZone getTimezone(); public abstract IFilestoreManager filestore(); }