9
9
10
10
public class WebPage implements Comparable <WebPage > {
11
11
private String name ;
12
+ /**
13
+ * Optional dir. In getName() it's added to name: "dir/name"
14
+ */
15
+ private String dir ;
16
+ /**
17
+ * Optional dir. In getName() it's added to name: "name.extension"
18
+ */
19
+ private String extension ;
12
20
private Map <String , String > alternateNames ;
13
21
private Date lastMod ;
14
22
private ChangeFreq changeFreq ;
@@ -97,8 +105,19 @@ public void setPriority(Double priority) {
97
105
this .priority = priority ;
98
106
}
99
107
100
- public String getName () {
101
- return name ;
108
+ /**
109
+ * Constructs name from dir and extension (if available)
110
+ * @return Name
111
+ */
112
+ public String constructName () {
113
+ String result = name ;
114
+ if (dir != null ) {
115
+ result = dir + "/" + result ;
116
+ }
117
+ if (extension != null ) {
118
+ result = result + "." + extension ;
119
+ }
120
+ return result ;
102
121
}
103
122
104
123
public Map <String , String > getAlternateNames () {
@@ -117,6 +136,22 @@ public Double getPriority() {
117
136
return priority ;
118
137
}
119
138
139
+ public String getDir () {
140
+ return dir ;
141
+ }
142
+
143
+ public void setDir (String dir ) {
144
+ this .dir = dir ;
145
+ }
146
+
147
+ public String getExtension () {
148
+ return extension ;
149
+ }
150
+
151
+ public void setExtension (String extension ) {
152
+ this .extension = extension ;
153
+ }
154
+
120
155
private static final Comparator <Double > PRIORITY_COMPARATOR = (a , b ) -> {
121
156
if (a == null && b == null ) {
122
157
return 0 ;
@@ -163,8 +198,6 @@ public static WebPageBuilder builder() {
163
198
164
199
public static class WebPageBuilder {
165
200
private WebPage webPage = new WebPage ();
166
- private String dir ;
167
- private String extension ;
168
201
169
202
/**
170
203
* Sets WebPage name
@@ -228,7 +261,7 @@ public WebPageBuilder alternateName(String language, Supplier<String> supplier)
228
261
* @return this
229
262
*/
230
263
public WebPageBuilder dir (String dirName ) {
231
- this . dir = dirName ;
264
+ webPage . setDir ( dirName ) ;
232
265
return this ;
233
266
}
234
267
@@ -238,7 +271,7 @@ public WebPageBuilder dir(String dirName) {
238
271
* @return this
239
272
*/
240
273
public WebPageBuilder dir (String ... dirNames ) {
241
- this . dir = String .join ("/" , dirNames );
274
+ webPage . setDir ( String .join ("/" , dirNames ) );
242
275
return this ;
243
276
}
244
277
@@ -248,7 +281,7 @@ public WebPageBuilder dir(String ... dirNames) {
248
281
* @return this
249
282
*/
250
283
public WebPageBuilder extension (String extension ) {
251
- this . extension = extension ;
284
+ webPage . setExtension ( extension ) ;
252
285
return this ;
253
286
}
254
287
@@ -420,12 +453,6 @@ public WebPageBuilder images(List<Image> images) {
420
453
* @return WebPage
421
454
*/
422
455
public WebPage build () {
423
- if (dir != null ) {
424
- webPage .setName (dir + "/" + webPage .getName ());
425
- }
426
- if (extension != null ) {
427
- webPage .setName (webPage .getName () + "." + extension );
428
- }
429
456
return webPage ;
430
457
}
431
458
@@ -438,8 +465,6 @@ public static RssItemBuilder rssBuilder() {
438
465
public static class RssItemBuilder {
439
466
440
467
private WebPage webPage = new WebPage ();
441
- private String namePrefixDir ;
442
- private String nameSuffixExtension ;
443
468
444
469
/**
445
470
* Sets pubDate
@@ -550,7 +575,7 @@ public RssItemBuilder name(String ... nameAndDirs) {
550
575
* @return this
551
576
*/
552
577
public RssItemBuilder dir (String dirName ) {
553
- this . namePrefixDir = dirName ;
578
+ webPage . setDir ( dirName ) ;
554
579
return this ;
555
580
}
556
581
@@ -560,7 +585,7 @@ public RssItemBuilder dir(String dirName) {
560
585
* @return this
561
586
*/
562
587
public RssItemBuilder dir (String ... dirNames ) {
563
- this . namePrefixDir = String .join ("/" , dirNames );
588
+ webPage . setDir ( String .join ("/" , dirNames ) );
564
589
return this ;
565
590
}
566
591
@@ -570,7 +595,7 @@ public RssItemBuilder dir(String ... dirNames) {
570
595
* @return this
571
596
*/
572
597
public RssItemBuilder extension (String extension ) {
573
- this . nameSuffixExtension = extension ;
598
+ webPage . setExtension ( extension ) ;
574
599
return this ;
575
600
}
576
601
@@ -580,12 +605,6 @@ public RssItemBuilder extension(String extension) {
580
605
* @return WebPage
581
606
*/
582
607
public WebPage build () {
583
- if (namePrefixDir != null ) {
584
- webPage .setName (namePrefixDir + "/" + webPage .getName ());
585
- }
586
- if (nameSuffixExtension != null ) {
587
- webPage .setName (webPage .getName () + "." + nameSuffixExtension );
588
- }
589
608
return webPage ;
590
609
}
591
610
0 commit comments