View Javadoc
1   package org.kuali.common.util.system;
2   
3   import org.kuali.common.util.build.AwesomeBuilder;
4   import org.kuali.common.util.validate.IdiotProofImmutable;
5   
6   @IdiotProofImmutable
7   public final class Specification {
8   
9   	private final String vendor;
10  	private final String version;
11  	private final String name;
12  
13  	private Specification(Builder builder) {
14  		this.vendor = builder.vendor;
15  		this.version = builder.version;
16  		this.name = builder.name;
17  	}
18  
19  	public static Builder builder() {
20  		return new Builder();
21  	}
22  
23  	public static class Builder extends AwesomeBuilder<Specification> {
24  
25  		private String vendor;
26  		private String version;
27  		private String name;
28  
29  		public Builder vendor(String vendor) {
30  			this.vendor = vendor;
31  			return this;
32  		}
33  
34  		public Builder version(String version) {
35  			this.version = version;
36  			return this;
37  		}
38  
39  		public Builder name(String name) {
40  			this.name = name;
41  			return this;
42  		}
43  
44  		@Override
45  		public Specification getInstance() {
46  			return new Specification(this);
47  		}
48  
49  		public String getVersion() {
50  			return version;
51  		}
52  
53  		public void setVersion(String version) {
54  			this.version = version;
55  		}
56  
57  		public String getVendor() {
58  			return vendor;
59  		}
60  
61  		public void setVendor(String vendor) {
62  			this.vendor = vendor;
63  		}
64  
65  		public String getName() {
66  			return name;
67  		}
68  
69  		public void setName(String name) {
70  			this.name = name;
71  		}
72  
73  	}
74  
75  	public String getVersion() {
76  		return version;
77  	}
78  
79  	public String getVendor() {
80  		return vendor;
81  	}
82  
83  	public String getName() {
84  		return name;
85  	}
86  
87  }