Skip to content

Commit 54fc565

Browse files
anu3990ehennum
authored andcommitted
Adding and using the convert method.
1 parent bda5971 commit 54fc565

File tree

2 files changed

+30
-21
lines changed

2 files changed

+30
-21
lines changed

marklogic-client-api/src/main/java/com/marklogic/client/impl/BaseProxy.java

Lines changed: 20 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -104,7 +104,7 @@ static final public class BooleanType implements AtomicDataType {
104104
static final public String fromBoolean(Boolean value) { return ValueConverter.BooleanToString(value); }
105105
static final public Stream<String> fromBoolean(Stream<? extends Boolean> values) { return ValueConverter.BooleanToString(values); }
106106
static final public String[] fromBoolean(Boolean[] values) {
107-
return (Stream.of(values).map(value->ValueConverter.BooleanToString(value)).toArray(String[]::new));
107+
return ValueConverter.convert(values, ValueConverter::BooleanToString);
108108
}
109109
static final public String fromString(String value) { return value; }
110110
static final public Stream<String> fromString(Stream<String> values) { return values; }
@@ -118,7 +118,7 @@ static final public class DateType implements AtomicDataType {
118118
static final public String fromLocalDate(LocalDate value) { return ValueConverter.LocalDateToString(value); }
119119
static final public Stream<String> fromLocalDate(Stream<? extends LocalDate> values) { return ValueConverter.LocalDateToString(values); }
120120
static final public String[] fromLocalDate(LocalDate[] values) {
121-
return (Stream.of(values).map(value->ValueConverter.LocalDateToString(value)).toArray(String[]::new));
121+
return ValueConverter.convert(values, ValueConverter::LocalDateToString);
122122
}
123123
static final public String fromString(String value) { return value; }
124124
static final public Stream<String> fromString(Stream<String> values) { return values; }
@@ -132,17 +132,17 @@ static final public class DateTimeType implements AtomicDataType {
132132
static final public String fromDate(Date value) { return ValueConverter.DateToString(value); }
133133
static final public Stream<String> fromDate(Stream<? extends Date> values) { return ValueConverter.DateToString(values); }
134134
static final public String[] fromDate(Date[] values) {
135-
return (Stream.of(values).map(value->ValueConverter.DateToString(value)).toArray(String[]::new));
135+
return ValueConverter.convert(values, ValueConverter::DateToString);
136136
}
137137
static final public String fromLocalDateTime(LocalDateTime value) { return ValueConverter.LocalDateTimeToString(value); }
138138
static final public Stream<String> fromLocalDateTime(Stream<? extends LocalDateTime> values) { return ValueConverter.LocalDateTimeToString(values); }
139139
static final public String[] fromLocalDateTime(LocalDateTime[] values) {
140-
return (Stream.of(values).map(value->ValueConverter.LocalDateTimeToString(value)).toArray(String[]::new));
140+
return ValueConverter.convert(values, ValueConverter::LocalDateTimeToString);
141141
}
142142
static final public String fromOffsetDateTime(OffsetDateTime value) { return ValueConverter.OffsetDateTimeToString(value); }
143143
static final public Stream<String> fromOffsetDateTime(Stream<? extends OffsetDateTime> values) { return ValueConverter.OffsetDateTimeToString(values); }
144144
static final public String[] fromOffsetDateTime(OffsetDateTime[] values) {
145-
return (Stream.of(values).map(value->ValueConverter.OffsetDateTimeToString(value)).toArray(String[]::new));
145+
return ValueConverter.convert(values, ValueConverter::OffsetDateTimeToString);
146146
}
147147
static final public String fromString(String value) { return value; }
148148
static final public Stream<String> fromString(Stream<String> values) { return values; }
@@ -160,7 +160,7 @@ static final public class DayTimeDurationType implements AtomicDataType {
160160
static final public String fromDuration(Duration value) { return ValueConverter.DurationToString(value); }
161161
static final public Stream<String> fromDuration(Stream<? extends Duration> values) { return ValueConverter.DurationToString(values); }
162162
static final public String[] fromDuration(Duration[] values) {
163-
return (Stream.of(values).map(value->ValueConverter.DurationToString(value)).toArray(String[]::new));
163+
return ValueConverter.convert(values, ValueConverter::DurationToString);
164164
}
165165
static final public String fromString(String value) { return value; }
166166
static final public Stream<String> fromString(Stream<String> values) { return values; }
@@ -174,7 +174,7 @@ static final public class DecimalType implements AtomicDataType {
174174
static final public String fromBigDecimal(BigDecimal value) { return ValueConverter.BigDecimalToString(value); }
175175
static final public Stream<String> fromBigDecimal(Stream<? extends BigDecimal> values) { return ValueConverter.BigDecimalToString(values); }
176176
static final public String[] fromBigDecimal(BigDecimal[] values) {
177-
return (Stream.of(values).map(value->ValueConverter.BigDecimalToString(value)).toArray(String[]::new));
177+
return ValueConverter.convert(values, ValueConverter::BigDecimalToString);
178178
}
179179
static final public String fromString(String value) { return value; }
180180
static final public Stream<String> fromString(Stream<String> values) { return values; }
@@ -188,7 +188,7 @@ static final public class DoubleType implements AtomicDataType {
188188
static final public String fromDouble(Double value) { return ValueConverter.DoubleToString(value); }
189189
static final public Stream<String> fromDouble(Stream<? extends Double> values) { return ValueConverter.DoubleToString(values); }
190190
static final public String[] fromDouble(Double[] values) {
191-
return (Stream.of(values).map(value->ValueConverter.DoubleToString(value)).toArray(String[]::new));
191+
return ValueConverter.convert(values, ValueConverter::DoubleToString);
192192
}
193193
static final public String fromString(String value) { return value; }
194194
static final public Stream<String> fromString(Stream<String> values) { return values; }
@@ -202,7 +202,7 @@ static final public class FloatType implements AtomicDataType {
202202
static final public String fromFloat(Float value) { return ValueConverter.FloatToString(value); }
203203
static final public Stream<String> fromFloat(Stream<? extends Float> values) { return ValueConverter.FloatToString(values); }
204204
static final public String[] fromFloat(Float[] values) {
205-
return (Stream.of(values).map(value->ValueConverter.FloatToString(value)).toArray(String[]::new));
205+
return ValueConverter.convert(values, ValueConverter::FloatToString);
206206
}
207207
static final public String fromString(String value) { return value; }
208208
static final public Stream<String> fromString(Stream<String> values) { return values; }
@@ -216,7 +216,7 @@ static final public class IntegerType implements AtomicDataType {
216216
static final public String fromInteger(Integer value) { return ValueConverter.IntegerToString(value); }
217217
static final public Stream<String> fromInteger(Stream<? extends Integer> values) { return ValueConverter.IntegerToString(values); }
218218
static final public String[] fromInteger(Integer[] values) {
219-
return (Stream.of(values).map(value->ValueConverter.IntegerToString(value)).toArray(String[]::new));
219+
return ValueConverter.convert(values, ValueConverter::IntegerToString);
220220
}
221221
static final public String fromString(String value) { return value; }
222222
static final public Stream<String> fromString(Stream<String> values) { return values; }
@@ -230,7 +230,7 @@ static final public class LongType implements AtomicDataType {
230230
static final public String fromLong(Long value) { return ValueConverter.LongToString(value); }
231231
static final public Stream<String> fromLong(Stream<? extends Long> values) { return ValueConverter.LongToString(values); }
232232
static final public String[] fromLong(Long[] values) {
233-
return (Stream.of(values).map(value->ValueConverter.LongToString(value)).toArray(String[]::new));
233+
return ValueConverter.convert(values, ValueConverter::LongToString);
234234
}
235235
static final public String fromString(String value) { return value; }
236236
static final public Stream<String> fromString(Stream<String> values) { return values; }
@@ -251,12 +251,12 @@ static final public class TimeType implements AtomicDataType {
251251
static final public String fromLocalTime(LocalTime value) { return ValueConverter.LocalTimeToString(value); }
252252
static final public Stream<String> fromLocalTime(Stream<? extends LocalTime> values) { return ValueConverter.LocalTimeToString(values); }
253253
static final public String[] fromLocalTime(LocalTime[] values) {
254-
return (Stream.of(values).map(value->ValueConverter.LocalTimeToString(value)).toArray(String[]::new));
254+
return ValueConverter.convert(values, ValueConverter::LocalTimeToString);
255255
}
256256
static final public String fromOffsetTime(OffsetTime value) { return ValueConverter.OffsetTimeToString(value); }
257257
static final public Stream<String> fromOffsetTime(Stream<? extends OffsetTime> values) { return ValueConverter.OffsetTimeToString(values); }
258258
static final public String[] fromOffsetTime(OffsetTime[] values) {
259-
return (Stream.of(values).map(value->ValueConverter.OffsetTimeToString(value)).toArray(String[]::new));
259+
return ValueConverter.convert(values, ValueConverter::OffsetTimeToString);
260260
}
261261
static final public String fromString(String value) { return value; }
262262
static final public Stream<String> fromString(Stream<String> values) { return values; }
@@ -272,7 +272,7 @@ static final public class UnsignedIntegerType implements AtomicDataType {
272272
static final public String fromInteger(Integer value) { return ValueConverter.UnsignedIntegerToString(value); }
273273
static final public Stream<String> fromInteger(Stream<? extends Integer> values) { return ValueConverter.UnsignedIntegerToString(values); }
274274
static final public String[] fromInteger(Integer[] values) {
275-
return (Stream.of(values).map(value->ValueConverter.UnsignedIntegerToString(value)).toArray(String[]::new));
275+
return ValueConverter.convert(values, ValueConverter::UnsignedIntegerToString);
276276
}
277277
static final public String fromString(String value) { return value; }
278278
static final public Stream<String> fromString(Stream<String> values) { return values; }
@@ -286,7 +286,7 @@ static final public class UnsignedLongType implements AtomicDataType {
286286
static final public String fromLong(Long value) { return ValueConverter.UnsignedLongToString(value); }
287287
static final public Stream<String> fromLong(Stream<? extends Long> values) { return ValueConverter.UnsignedLongToString(values); }
288288
static final public String[] fromLong(Long[] values) {
289-
return (Stream.of(values).map(value->ValueConverter.UnsignedLongToString(value)).toArray(String[]::new));
289+
return ValueConverter.convert(values, ValueConverter::UnsignedLongToString);
290290
}
291291
static final public String fromString(String value) { return value; }
292292
static final public Stream<String> fromString(Stream<String> values) { return values; }
@@ -306,7 +306,7 @@ static final public Stream<BinaryWriteHandle> fromBinaryWriteHandle(Stream<? ext
306306
}
307307
static final public BinaryWriteHandle[] fromBinaryWriteHandle(BinaryWriteHandle[] values) {
308308
BinaryWriteHandle[] binaryWriteHandleValues = Stream.of(values).map(value->NodeConverter.BinaryWriter(value)).toArray(BinaryWriteHandle[]::new);
309-
return NodeConverter.arrayWithFormat(binaryWriteHandleValues, Format.getFromMimetype(NAME));
309+
return NodeConverter.arrayWithFormat(binaryWriteHandleValues, FORMAT);
310310
}
311311
static final public BinaryWriteHandle fromBytes(byte[] value) {
312312
return NodeConverter.BinaryWriter(NodeConverter.BytesToHandle(value));
@@ -320,9 +320,8 @@ static final public BinaryWriteHandle fromFile(File value) {
320320
static final public Stream<BinaryWriteHandle> fromFile(Stream<? extends File> values) {
321321
return NodeConverter.BinaryWriter(NodeConverter.FileToHandle(values));
322322
}
323-
static final public BinaryWriteHandle[] fromFile(File[] values) {
324-
BinaryWriteHandle[] binaryWriteHandleValues = Stream.of(values).map(value->NodeConverter.FileToHandle(value)).toArray(BinaryWriteHandle[]::new);
325-
return NodeConverter.arrayWithFormat(binaryWriteHandleValues, Format.getFromMimetype(NAME));
323+
static final public FileHandle[] fromFile(File[] values) {
324+
return NodeConverter.arrayWithFormat(NodeConverter.FileToHandle(values), FORMAT);
326325
}
327326
static final public BinaryWriteHandle fromInputStream(InputStream value) {
328327
return NodeConverter.BinaryWriter(NodeConverter.InputStreamToHandle(value));
@@ -331,7 +330,7 @@ static final public Stream<BinaryWriteHandle> fromInputStream(Stream<? extends I
331330
return NodeConverter.BinaryWriter(NodeConverter.InputStreamToHandle(values));
332331
}
333332
static final public BinaryWriteHandle[] fromInputStream(InputStream[] values) {
334-
return NodeConverter.arrayWithFormat(NodeConverter.InputStreamToHandle(values), Format.getFromMimetype(NAME));
333+
return NodeConverter.arrayWithFormat(NodeConverter.InputStreamToHandle(values), FORMAT);
335334
}
336335
static final public BinaryWriteHandle fromOutputStreamSender(OutputStreamSender value) {
337336
return NodeConverter.BinaryWriter(NodeConverter.OutputStreamSenderToHandle(value));
@@ -340,7 +339,7 @@ static final public Stream<BinaryWriteHandle> fromOutputStreamSender(Stream<? ex
340339
return NodeConverter.BinaryWriter(NodeConverter.OutputStreamSenderToHandle(values));
341340
}
342341
static final public BinaryWriteHandle[] fromOutputStreamSender(OutputStreamSender[] values) {
343-
return NodeConverter.arrayWithFormat(NodeConverter.OutputStreamSenderToHandle(values), Format.getFromMimetype(NAME));
342+
return NodeConverter.arrayWithFormat(NodeConverter.OutputStreamSenderToHandle(values), FORMAT);
344343
}
345344

346345
static final public byte[] toBytes(SingleCallResponse response) { return response.asBytes(); }

marklogic-client-api/src/main/java/com/marklogic/client/impl/ValueConverter.java

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -21,6 +21,7 @@
2121
import java.time.format.DateTimeFormatter;
2222
import java.util.Calendar;
2323
import java.util.Date;
24+
import java.util.function.Function;
2425
import java.util.regex.Pattern;
2526
import java.util.stream.Stream;
2627

@@ -640,4 +641,13 @@ static private Pattern getInstantPattern() {
640641
}
641642
return instantPattern;
642643
}
644+
645+
static public <I> String[] convert(I[] in, Function<I, String> converter) {
646+
if (in == null) return null;
647+
String[] out = new String[in.length];
648+
for (int i=0; i < in.length; i++) {
649+
out[i] = converter.apply(in[i]);
650+
}
651+
return out;
652+
}
643653
}

0 commit comments

Comments
 (0)