30
30
31
31
/** Base argument class. */
32
32
public abstract class BaseArgs {
33
+ private String location ;
33
34
protected Multimap <String , String > extraHeaders =
34
35
Multimaps .unmodifiableMultimap (HashMultimap .create ());
35
36
protected Multimap <String , String > extraQueryParams =
36
37
Multimaps .unmodifiableMultimap (HashMultimap .create ());
37
38
39
+ public void setLocation (String location ) {
40
+ this .location = location ;
41
+ }
42
+
43
+ public String location () {
44
+ return location ;
45
+ }
46
+
38
47
public Multimap <String , String > extraHeaders () {
39
48
return extraHeaders ;
40
49
}
@@ -43,12 +52,12 @@ public Multimap<String, String> extraQueryParams() {
43
52
return extraQueryParams ;
44
53
}
45
54
46
- protected void checkSse (ServerSideEncryption sse , HttpUrl url ) {
55
+ protected void checkSse (ServerSideEncryption sse , boolean isHttps ) {
47
56
if (sse == null ) {
48
57
return ;
49
58
}
50
59
51
- if (sse .tlsRequired () && !url . isHttps () ) {
60
+ if (sse .tlsRequired () && !isHttps ) {
52
61
throw new IllegalArgumentException (
53
62
sse + " operations must be performed over a secure connection." );
54
63
}
@@ -60,75 +69,34 @@ public abstract static class Builder<B extends Builder<B, A>, A extends BaseArgs
60
69
61
70
protected abstract void validate (A args );
62
71
63
- protected void validateNotNull (Object arg , String argName ) {
64
- if (arg == null ) {
65
- throw new IllegalArgumentException (argName + " must not be null." );
66
- }
67
- }
68
-
69
- protected void validateNotEmptyString (String arg , String argName ) {
70
- validateNotNull (arg , argName );
71
- if (arg .isEmpty ()) {
72
- throw new IllegalArgumentException (argName + " must be a non-empty string." );
73
- }
74
- }
75
-
76
- protected void validateNullOrNotEmptyString (String arg , String argName ) {
77
- if (arg != null && arg .isEmpty ()) {
78
- throw new IllegalArgumentException (argName + " must be a non-empty string." );
79
- }
80
- }
81
-
82
- protected void validateNullOrPositive (Number arg , String argName ) {
83
- if (arg != null && arg .longValue () < 0 ) {
84
- throw new IllegalArgumentException (argName + " cannot be non-negative." );
85
- }
86
- }
87
-
88
72
public Builder () {
89
73
this .operations = new ArrayList <>();
90
74
}
91
75
92
- protected Multimap <String , String > copyMultimap (Multimap <String , String > multimap ) {
93
- Multimap <String , String > multimapCopy = HashMultimap .create ();
94
- if (multimap != null ) {
95
- multimapCopy .putAll (multimap );
96
- }
97
- return Multimaps .unmodifiableMultimap (multimapCopy );
98
- }
99
-
100
- protected Multimap <String , String > toMultimap (Map <String , String > map ) {
101
- Multimap <String , String > multimap = HashMultimap .create ();
102
- if (map != null ) {
103
- multimap .putAll (Multimaps .forMap (map ));
104
- }
105
- return Multimaps .unmodifiableMultimap (multimap );
106
- }
107
-
108
76
@ SuppressWarnings ("unchecked" ) // Its safe to type cast to B as B extends this class.
109
77
public B extraHeaders (Multimap <String , String > headers ) {
110
- final Multimap <String , String > extraHeaders = copyMultimap (headers );
78
+ final Multimap <String , String > extraHeaders = Utils . newMultimap (headers );
111
79
operations .add (args -> args .extraHeaders = extraHeaders );
112
80
return (B ) this ;
113
81
}
114
82
115
83
@ SuppressWarnings ("unchecked" ) // Its safe to type cast to B as B extends this class.
116
84
public B extraQueryParams (Multimap <String , String > queryParams ) {
117
- final Multimap <String , String > extraQueryParams = copyMultimap (queryParams );
85
+ final Multimap <String , String > extraQueryParams = Utils . newMultimap (queryParams );
118
86
operations .add (args -> args .extraQueryParams = extraQueryParams );
119
87
return (B ) this ;
120
88
}
121
89
122
90
@ SuppressWarnings ("unchecked" ) // Its safe to type cast to B as B extends this class.
123
91
public B extraHeaders (Map <String , String > headers ) {
124
- final Multimap <String , String > extraHeaders = toMultimap (headers );
92
+ final Multimap <String , String > extraHeaders = Utils . newMultimap (headers );
125
93
operations .add (args -> args .extraHeaders = extraHeaders );
126
94
return (B ) this ;
127
95
}
128
96
129
97
@ SuppressWarnings ("unchecked" ) // Its safe to type cast to B as B extends this class.
130
98
public B extraQueryParams (Map <String , String > queryParams ) {
131
- final Multimap <String , String > extraQueryParams = toMultimap (queryParams );
99
+ final Multimap <String , String > extraQueryParams = Utils . newMultimap (queryParams );
132
100
operations .add (args -> args .extraQueryParams = extraQueryParams );
133
101
return (B ) this ;
134
102
}
0 commit comments