1 package com.atlassian.sal.api;
2
3 import java.io.File;
4 import java.util.Date;
5
6 /**
7 * Component for looking up application properties specific to their web interface
8 *
9 * @since 2.0
10 */
11 public interface ApplicationProperties
12 {
13 /**
14 * Get the base URL of the current application.
15 *
16 * @return the current application's base URL
17 */
18 String getBaseUrl();
19
20 /**
21 * @return the displayable name of the application
22 */
23 String getDisplayName();
24
25 /**
26 * @return the version of the application
27 */
28 String getVersion();
29
30 /**
31 * @return the build date of the application
32 */
33 Date getBuildDate();
34
35 /**
36 * @return the build number of the application, must be parsable by {@link Long#parseLong(String)}
37 */
38 String getBuildNumber();
39
40
41 /**
42 * @return the home directory of the application or null if none is defined
43 */
44 File getHomeDirectory();
45
46 /**
47 * Get the value of an application property by its key.
48 * @param key The Key of the property to retrieve.
49 * @return The value of the property or Null if the property does not exist
50 * @deprecated As of SAL 2.7.
51 */
52 @Deprecated
53 String getPropertyValue(String key);
54 }