-
Notifications
You must be signed in to change notification settings - Fork 0
/
Config.java
176 lines (168 loc) · 6.03 KB
/
Config.java
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
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
/*
* **********************************************
* San Francisco State University
* CSC 220 - Data Structures
* File Name: Config.java
* Author: Duc Ta
* Author: Bryan Khor
* **********************************************
*/
// DO NOT CHANGE
package CSC220ASMT2;
public final class Config {
//
// Static Data Fields
//
private static final String defaultLanguage = "ENGLISH"; // Default - And taking a request
private static final String defaultTimeZone = "PST"; // Default - And taking a request
private static final String defaultColorSequences = "ANSI"; // Default
private static final String defaultLogDirectoryPath = "./src/assignment02PartB/log/"; // Default
private static final String defaultStdOutFilePath = "./src/assignment02PartB/log/StandardOut.log"; // Default
private static final String defaultStdErrFilePath = "./src/assignment02PartB/log/StandardErr.log"; // Default
private static final String defaultClub = "San Francisco Giants"; // Default
private static final String defaultUniversity = "San Francisco State University"; // Default
private static final String officialAppName = "SF Giants Thank You"; // Official - Always in English
private static final String officialAppHeader = "-".repeat(70) + "\n" + "-".repeat(22) +
" SF GIANTS THANK YOU " + "-".repeat(27) + "\n" + "-".repeat(70) + "\n" +
" ".repeat(44) + " powered by CSC 220 @ SFSU "; // Official - Always in English
//
// Instance Data Fields
//
private Language language;
private Timer timer;
private Color color;
private String stdOutFilePath;
private String stdErrFilePath;
private StdOutStdErrTree stdOutStdErrTree;
private Directory logDirectory;
private Club club;
private University university;
//
// Constructors
//
public Config() {
this.language = new Language();
this.color = new Color();
this.logDirectory = new Directory();
this.stdOutStdErrTree = new StdOutStdErrTree();
}
//
// Static Methods
//
public static String getOfficialAppName() {
return Config.officialAppName;
}
public static String getOfficialAppHeader() {
return Config.officialAppHeader;
}
public static String getDefaultLanguage() {
return Config.defaultLanguage;
}
public static String getDefaultTimeZone() {
return Config.defaultTimeZone;
}
public static String getDefaultColorSequences() {
return Config.defaultColorSequences;
}
public static String getDefaultLogDirectoryPath() {
return Config.defaultLogDirectoryPath;
}
public static String getDefaultStdOutFilePath() {
return Config.defaultStdOutFilePath;
}
public static String getDefaultStdErrFilePath() {
return Config.defaultStdErrFilePath;
}
public static String getDefaultClub() {
return defaultClub;
}
public static String getDefaultUniversity() {
return Config.defaultUniversity;
}
//
// Instance Methods
//
public Language getLanguage() {
return this.language;
}
public void setLang(Language lang) {
this.language = lang;
}
public Timer getTimer() {
return this.timer;
}
public void setTimer(Timer timer) {
this.timer = timer;
}
public Color getColor() {
return this.color;
}
public void setColor(Color color) {
this.color = color;
}
public Directory getLogDirectory() {
return this.logDirectory;
}
public void setLogDirectory(Directory logDirectory) {
this.logDirectory = logDirectory;
}
public StdOutStdErrTree getStdOutStdErrTee() {
return this.stdOutStdErrTree;
}
public void setStdOutStdErrTee(StdOutStdErrTree stdOutStdErrTree) {
this.stdOutStdErrTree = stdOutStdErrTree;
}
public String getStdOutFilePath() {
return this.stdOutFilePath.replace('\\', '/');
}
public void setStdOutFilePath(String stdOutFilePath) {
this.stdOutFilePath = stdOutFilePath;
}
public String getStdErrFilePath() {
return this.stdErrFilePath.replace('\\', '/');
}
public void setStdErrFilePath(String stdErrFilePath) {
this.stdErrFilePath = stdErrFilePath;
}
public Club getClub() {
return this.club;
}
public void setClub(Club club) {
this.club = club;
}
public University getUniversity() {
return this.university;
}
public void setUniversity(University university) {
this.university = university;
}
//
// Additional Instance Methods
//
public void setPreferences() {
Language.displayAppHeader();
this.language = Language.setLanguagePreference();
this.timer = Timer.setTimeZonePreference();
this.club = new Club(Config.defaultClub);
this.university = new University(Config.defaultUniversity);
this.displayConfigurationInformation();
}
private void displayConfigurationInformation() {
System.out.println(this.getPhrase(0));
System.out.printf("%-25s %-50s %n", this.getPhrase(1), this.language.getLanguage());
System.out.printf("%-25s %-50s %n", this.getPhrase(2), this.timer.getTimeZoneFormatted());
System.out.printf("%-25s %-50s %n", this.getPhrase(3), this.color.getColorSequences());
System.out.printf("%-25s %-50s %n", this.getPhrase(4), this.stdOutStdErrTree.getStdOutFilePath());
System.out.printf("%-25s %-50s %n", this.getPhrase(5), this.stdOutStdErrTree.getStdErrFilePath());
System.out.printf("%-25s %-50s %n", this.getPhrase(6), this.logDirectory.getPath());
System.out.printf("%-25s %-50s %n", this.getPhrase(7), this.language.getUniversityPhrase(0));
System.out.printf("%-25s %-50s %n", this.getPhrase(8), this.language.getClubPhrase(0));
System.out.println(this.getPhrase(0));
}
//
// Language
//
private String getPhrase(int i) {
return Messenger.getConfig().getLanguage().getConfigPhrase(i);
}
}