summaryrefslogtreecommitdiff
path: root/BJC-Utils2/src/main/java/bjc/utils/components/IDescribedComponent.java
blob: c3576a3ec621cda5a627a9569a9119846d334fa6 (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
package bjc.utils.components;

/**
 * Represents a optional component that has status information associated
 * with it
 * 
 * @author ben
 *
 */
public interface IDescribedComponent {
	/**
	 * Get the author of this component
	 * 
	 * Providing this is optional, with "Anonymous" as the default author
	 * 
	 * @return The author of the component
	 */
	public default String getAuthor() {
		return "Anonymous";
	}

	/**
	 * Get the description of this component
	 * 
	 * Providing this is optional, with the default being a note that no
	 * description was provided
	 * 
	 * @return The description of the component
	 */
	public default String getDescription() {
		return "No description provided.";
	}

	/**
	 * Get the name of this component.
	 * 
	 * This is the only thing required of all components
	 * 
	 * @return The name of the component
	 */
	public String getName();

	/**
	 * Get the version of this component
	 * 
	 * Providing this is optional, with "1" as the default version
	 * 
	 * @return The version of this component
	 */
	public default int getVersion() {
		return 1;
	}
}