summaryrefslogtreecommitdiffstats
path: root/src/main/java/com/gitblit/wicket/GitblitWicketApp.java
blob: fefa0f4aa9e51d825cf0f62e4ed392b0ffca99d7 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
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<? extends WebPage> clazz, String... parameters);

	public abstract Class<? extends WebPage> 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();

}