Skip to content

Commit 30ec68e

Browse files
author
James Simone
committed
issue-16 new classes
1 parent 72531c5 commit 30ec68e

File tree

4 files changed

+455
-0
lines changed

4 files changed

+455
-0
lines changed
Lines changed: 225 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,225 @@
1+
public class DateLiteralConstant {
2+
private String LAST_N = 'LAST_N_{0}: {1}';
3+
private String NEXT_N = 'NEXT_N_{0}: {1}';
4+
5+
private final String DAYS = 'DAYS';
6+
private final String WEEKS = 'WEEKS';
7+
private final String MONTHS = 'MONTHS';
8+
private final String QUARTERS = 'QUARTERS';
9+
private final String FISCAL_QUARTERS = 'FISCAL_QUARTERS';
10+
private final String YEARS = 'YEARS';
11+
private final String FISCAL_YEARS = 'FISCAL_YEARS';
12+
13+
public String value {get;set;}
14+
15+
public DateLiteralConstant(){}
16+
17+
private DateLiteralConstant(String value) {
18+
this.value = value;
19+
}
20+
21+
//Actual constant literals
22+
public DateLiteralConstant YESTERDAY {
23+
get {
24+
return new DateLiteralConstant('YESTERDAY');
25+
}
26+
}
27+
28+
public DateLiteralConstant TODAY {
29+
get {
30+
return new DateLiteralConstant('TODAY');
31+
}
32+
}
33+
34+
public DateLiteralConstant TOMORROW {
35+
get {
36+
return new DateLiteralConstant('TOMORROW');
37+
}
38+
}
39+
40+
public DateLiteralConstant LAST_WEEK {
41+
get {
42+
return new DateLiteralConstant('LAST_WEEK');
43+
}
44+
}
45+
46+
public DateLiteralConstant THIS_WEEK {
47+
get {
48+
return new DateLiteralConstant('THIS_WEEK');
49+
}
50+
}
51+
52+
public DateLiteralConstant NEXT_WEEK {
53+
get {
54+
return new DateLiteralConstant('NEXT_WEEK');
55+
}
56+
}
57+
58+
public DateLiteralConstant LAST_MONTH {
59+
get {
60+
return new DateLiteralConstant('LAST_MONTH');
61+
}
62+
}
63+
64+
public DateLiteralConstant THIS_MONTH {
65+
get {
66+
return new DateLiteralConstant('THIS_MONTH');
67+
}
68+
}
69+
70+
public DateLiteralConstant NEXT_MONTH {
71+
get {
72+
return new DateLiteralConstant('NEXT_MONTH');
73+
}
74+
}
75+
76+
public DateLiteralConstant LAST_90_DAYS {
77+
get {
78+
return new DateLiteralConstant('LAST_90_DAYS');
79+
}
80+
}
81+
82+
public DateLiteralConstant NEXT_90_DAYS {
83+
get {
84+
return new DateLiteralConstant('NEXT_90_DAYS');
85+
}
86+
}
87+
88+
public DateLiteralConstant THIS_QUARTER {
89+
get {
90+
return new DateLiteralConstant('THIS_QUARTER');
91+
}
92+
}
93+
94+
public DateLiteralConstant THIS_FISCAL_QUARTER {
95+
get {
96+
return new DateLiteralConstant('THIS_FISCAL_QUARTER');
97+
}
98+
}
99+
100+
public DateLiteralConstant LAST_QUARTER {
101+
get {
102+
return new DateLiteralConstant('LAST_QUARTER');
103+
}
104+
}
105+
106+
public DateLiteralConstant LAST_FISCAL_QUARTER {
107+
get {
108+
return new DateLiteralConstant('LAST_FISCAL_QUARTER');
109+
}
110+
}
111+
112+
public DateLiteralConstant NEXT_QUARTER {
113+
get {
114+
return new DateLiteralConstant('NEXT_QUARTER');
115+
}
116+
}
117+
118+
public DateLiteralConstant NEXT_FISCAL_QUARTER {
119+
get {
120+
return new DateLiteralConstant('NEXT_FISCAL_QUARTER');
121+
}
122+
}
123+
124+
public DateLiteralConstant THIS_YEAR {
125+
get {
126+
return new DateLiteralConstant('THIS_YEAR');
127+
}
128+
}
129+
130+
public DateLiteralConstant THIS_FISCAL_YEAR {
131+
get {
132+
return new DateLiteralConstant('THIS_FISCAL_YEAR');
133+
}
134+
}
135+
136+
public DateLiteralConstant LAST_YEAR {
137+
get {
138+
return new DateLiteralConstant('LAST_YEAR');
139+
}
140+
}
141+
142+
public DateLiteralConstant LAST_FISCAL_YEAR {
143+
get {
144+
return new DateLiteralConstant('LAST_FISCAL_YEAR');
145+
}
146+
}
147+
148+
public DateLiteralConstant NEXT_YEAR {
149+
get {
150+
return new DateLiteralConstant('NEXT_YEAR');
151+
}
152+
}
153+
154+
public DateLiteralConstant NEXT_FISCAL_YEAR {
155+
get {
156+
return new DateLiteralConstant('NEXT_FISCAL_YEAR');
157+
}
158+
}
159+
160+
////Buildable literals
161+
public DateLiteralConstant LAST_N_DAYS(Integer num) {
162+
String constant = String.format(LAST_N, new List<String>{DAYS,String.valueOf(num)});
163+
return new DateLiteralConstant(constant);
164+
}
165+
166+
public DateLiteralConstant LAST_N_WEEKS(Integer num) {
167+
String constant = String.format(LAST_N, new List<String>{WEEKS, String.valueof(num)});
168+
return new DateLiteralConstant(constant);
169+
}
170+
171+
public DateLiteralConstant LAST_N_MONTHS(Integer num) {
172+
String constant = String.format(LAST_N, new List<String>{MONTHS, String.valueOf(num)});
173+
return new DateLiteralConstant(constant);
174+
}
175+
176+
public DateLiteralConstant LAST_N_QUARTERS(Integer num) {
177+
String constant = String.format(LAST_N, new List<String>{QUARTERS, String.valueOf(num)});
178+
return new DateLiteralConstant(constant);
179+
}
180+
181+
public DateLiteralConstant LAST_N_YEARS(Integer num) {
182+
String constant = String.format(LAST_N, new List<String>{YEARS, String.valueOf(num)});
183+
return new DateLiteralConstant(constant);
184+
}
185+
186+
public DateLiteralConstant LAST_N_FISCAL_YEARS(Integer num) {
187+
String constant = String.format(LAST_N, new List<String>{FISCAL_YEARS, String.valueOf(num)});
188+
return new DateLiteralConstant(constant);
189+
}
190+
191+
public DateLiteralConstant NEXT_N_DAYS(Integer num) {
192+
String constant = String.format(NEXT_N, new List<String>{DAYS, String.valueOf(num)});
193+
return new DateLiteralConstant(constant);
194+
}
195+
196+
public DateLiteralConstant NEXT_N_WEEKS(Integer num) {
197+
String constant = String.format(NEXT_N, new List<String>{WEEKS, String.valueOf(num)});
198+
return new DateLiteralConstant(constant);
199+
}
200+
201+
public DateLiteralConstant NEXT_N_MONTHS(Integer num) {
202+
String constant = String.format(NEXT_N, new List<String>{MONTHS, String.valueOf(num)});
203+
return new DateLiteralConstant(constant);
204+
}
205+
206+
public DateLiteralConstant NEXT_N_QUARTERS(Integer num) {
207+
String constant = String.format(NEXT_N, new List<String>{QUARTERS, String.valueOf(num)});
208+
return new DateLiteralConstant(constant);
209+
}
210+
211+
public DateLiteralConstant NEXT_N_YEARS(Integer num) {
212+
String constant = String.format(NEXT_N, new List<String>{YEARS, String.valueOf(num)});
213+
return new DateLiteralConstant(constant);
214+
}
215+
216+
public DateLiteralConstant NEXT_N_FISCAL_QUARTERS(Integer num) {
217+
String constant = String.format(NEXT_N, new List<String>{FISCAL_QUARTERS, String.valueOf(num)});
218+
return new DateLiteralConstant(constant);
219+
}
220+
221+
public DateLiteralConstant NEXT_N_FISCAL_YEARS(Integer num) {
222+
String constant = String.format(NEXT_N, new List<String>{FISCAL_YEARS, String.valueOf(num)});
223+
return new DateLiteralConstant(constant);
224+
}
225+
}
Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
<?xml version="1.0" encoding="UTF-8"?>
2+
<ApexClass xmlns="http://soap.sforce.com/2006/04/metadata">
3+
<apiVersion>37.0</apiVersion>
4+
<status>Active</status>
5+
</ApexClass>

0 commit comments

Comments
 (0)