From 35059f33ab57fe1ebe3942b931e5bbf440188218 Mon Sep 17 00:00:00 2001 From: Taeik Lim Date: Sun, 10 Mar 2024 17:50:10 +0900 Subject: [PATCH] Add missing interfaces for new adapters & change javadocs Signed-off-by: Taeik Lim --- .../ItemStreamFluxReaderProcessorWriter.java | 4 ++- .../adapter/ItemStreamFluxReaderWriter.java | 33 ++++++++++++++++++ ...emStreamIterableReaderProcessorWriter.java | 2 +- .../ItemStreamIterableReaderWriter.java | 32 +++++++++++++++++ ...emStreamIteratorReaderProcessorWriter.java | 4 ++- .../ItemStreamIteratorReaderWriter.java | 34 +++++++++++++++++++ ...ItemStreamSimpleReaderProcessorWriter.java | 2 +- .../adapter/ItemStreamSimpleReaderWriter.java | 32 +++++++++++++++++ 8 files changed, 139 insertions(+), 4 deletions(-) create mode 100644 spring-batch-plus/src/main/java/com/navercorp/spring/batch/plus/item/adapter/ItemStreamFluxReaderWriter.java create mode 100644 spring-batch-plus/src/main/java/com/navercorp/spring/batch/plus/item/adapter/ItemStreamIterableReaderWriter.java create mode 100644 spring-batch-plus/src/main/java/com/navercorp/spring/batch/plus/item/adapter/ItemStreamIteratorReaderWriter.java create mode 100644 spring-batch-plus/src/main/java/com/navercorp/spring/batch/plus/item/adapter/ItemStreamSimpleReaderWriter.java diff --git a/spring-batch-plus/src/main/java/com/navercorp/spring/batch/plus/item/adapter/ItemStreamFluxReaderProcessorWriter.java b/spring-batch-plus/src/main/java/com/navercorp/spring/batch/plus/item/adapter/ItemStreamFluxReaderProcessorWriter.java index acb166b1..1a058475 100644 --- a/spring-batch-plus/src/main/java/com/navercorp/spring/batch/plus/item/adapter/ItemStreamFluxReaderProcessorWriter.java +++ b/spring-batch-plus/src/main/java/com/navercorp/spring/batch/plus/item/adapter/ItemStreamFluxReaderProcessorWriter.java @@ -22,8 +22,10 @@ import org.springframework.batch.item.ItemStreamReader; import org.springframework.batch.item.ItemStreamWriter; +import reactor.core.publisher.Flux; + /** - * A simple adapter for stream reader, processor, writer. It can represent + * A {@link Flux} based adapter for stream reader, processor, writer. It can represent * {@link ItemStreamReader}, {@link ItemProcessor}, {@link ItemStreamWriter} in a single class. * * @since 1.1.0 diff --git a/spring-batch-plus/src/main/java/com/navercorp/spring/batch/plus/item/adapter/ItemStreamFluxReaderWriter.java b/spring-batch-plus/src/main/java/com/navercorp/spring/batch/plus/item/adapter/ItemStreamFluxReaderWriter.java new file mode 100644 index 00000000..4c226bd6 --- /dev/null +++ b/spring-batch-plus/src/main/java/com/navercorp/spring/batch/plus/item/adapter/ItemStreamFluxReaderWriter.java @@ -0,0 +1,33 @@ +/* + * Spring Batch Plus + * + * Copyright 2022-present NAVER Corp. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package com.navercorp.spring.batch.plus.item.adapter; + +import org.springframework.batch.item.ItemStreamReader; +import org.springframework.batch.item.ItemStreamWriter; + +import reactor.core.publisher.Flux; + +/** + * A {@link Flux} based adapter for stream reader, writer. It can represent + * {@link ItemStreamReader}, {@link ItemStreamWriter} in a single class. + * + * @since 1.1.0 + */ +public interface ItemStreamFluxReaderWriter extends ItemStreamFluxReaderDelegate, ItemStreamWriterDelegate { +} diff --git a/spring-batch-plus/src/main/java/com/navercorp/spring/batch/plus/item/adapter/ItemStreamIterableReaderProcessorWriter.java b/spring-batch-plus/src/main/java/com/navercorp/spring/batch/plus/item/adapter/ItemStreamIterableReaderProcessorWriter.java index b0e8d5e4..6120b99e 100644 --- a/spring-batch-plus/src/main/java/com/navercorp/spring/batch/plus/item/adapter/ItemStreamIterableReaderProcessorWriter.java +++ b/spring-batch-plus/src/main/java/com/navercorp/spring/batch/plus/item/adapter/ItemStreamIterableReaderProcessorWriter.java @@ -23,7 +23,7 @@ import org.springframework.batch.item.ItemStreamWriter; /** - * A simple adapter for stream reader, processor, writer. It can represent + * An {@link Iterable} based adapter for stream reader, processor, writer. It can represent * {@link ItemStreamReader}, {@link ItemProcessor}, {@link ItemStreamWriter} in a single class. * * @since 1.1.0 diff --git a/spring-batch-plus/src/main/java/com/navercorp/spring/batch/plus/item/adapter/ItemStreamIterableReaderWriter.java b/spring-batch-plus/src/main/java/com/navercorp/spring/batch/plus/item/adapter/ItemStreamIterableReaderWriter.java new file mode 100644 index 00000000..02134759 --- /dev/null +++ b/spring-batch-plus/src/main/java/com/navercorp/spring/batch/plus/item/adapter/ItemStreamIterableReaderWriter.java @@ -0,0 +1,32 @@ +/* + * Spring Batch Plus + * + * Copyright 2022-present NAVER Corp. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package com.navercorp.spring.batch.plus.item.adapter; + +import org.springframework.batch.item.ItemStreamReader; +import org.springframework.batch.item.ItemStreamWriter; + +/** + * An {@link Iterable} based adapter for stream reader, writer. It can represent + * {@link ItemStreamReader}, {@link ItemStreamWriter} in a single class. + * + * @since 1.1.0 + */ +public interface ItemStreamIterableReaderWriter + extends ItemStreamIterableReaderDelegate, ItemStreamWriterDelegate { +} diff --git a/spring-batch-plus/src/main/java/com/navercorp/spring/batch/plus/item/adapter/ItemStreamIteratorReaderProcessorWriter.java b/spring-batch-plus/src/main/java/com/navercorp/spring/batch/plus/item/adapter/ItemStreamIteratorReaderProcessorWriter.java index 12bd1f3b..4eab118a 100644 --- a/spring-batch-plus/src/main/java/com/navercorp/spring/batch/plus/item/adapter/ItemStreamIteratorReaderProcessorWriter.java +++ b/spring-batch-plus/src/main/java/com/navercorp/spring/batch/plus/item/adapter/ItemStreamIteratorReaderProcessorWriter.java @@ -18,12 +18,14 @@ package com.navercorp.spring.batch.plus.item.adapter; +import java.util.Iterator; + import org.springframework.batch.item.ItemProcessor; import org.springframework.batch.item.ItemStreamReader; import org.springframework.batch.item.ItemStreamWriter; /** - * A simple adapter for stream reader, processor, writer. It can represent + * An {@link Iterator} based adapter for stream reader, processor, writer. It can represent * {@link ItemStreamReader}, {@link ItemProcessor}, {@link ItemStreamWriter} in a single class. * * @since 1.1.0 diff --git a/spring-batch-plus/src/main/java/com/navercorp/spring/batch/plus/item/adapter/ItemStreamIteratorReaderWriter.java b/spring-batch-plus/src/main/java/com/navercorp/spring/batch/plus/item/adapter/ItemStreamIteratorReaderWriter.java new file mode 100644 index 00000000..c590200d --- /dev/null +++ b/spring-batch-plus/src/main/java/com/navercorp/spring/batch/plus/item/adapter/ItemStreamIteratorReaderWriter.java @@ -0,0 +1,34 @@ +/* + * Spring Batch Plus + * + * Copyright 2022-present NAVER Corp. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package com.navercorp.spring.batch.plus.item.adapter; + +import java.util.Iterator; + +import org.springframework.batch.item.ItemStreamReader; +import org.springframework.batch.item.ItemStreamWriter; + +/** + * An {@link Iterator} based adapter for stream reader, writer. It can represent + * {@link ItemStreamReader}, {@link ItemStreamWriter} in a single class. + * + * @since 1.1.0 + */ +public interface ItemStreamIteratorReaderWriter + extends ItemStreamIteratorReaderDelegate, ItemStreamWriterDelegate { +} diff --git a/spring-batch-plus/src/main/java/com/navercorp/spring/batch/plus/item/adapter/ItemStreamSimpleReaderProcessorWriter.java b/spring-batch-plus/src/main/java/com/navercorp/spring/batch/plus/item/adapter/ItemStreamSimpleReaderProcessorWriter.java index 030e64f4..b892e4df 100644 --- a/spring-batch-plus/src/main/java/com/navercorp/spring/batch/plus/item/adapter/ItemStreamSimpleReaderProcessorWriter.java +++ b/spring-batch-plus/src/main/java/com/navercorp/spring/batch/plus/item/adapter/ItemStreamSimpleReaderProcessorWriter.java @@ -23,7 +23,7 @@ import org.springframework.batch.item.ItemStreamWriter; /** - * A simple adapter for stream reader, processor, writer. It can represent + * An item ({@link I}) based adapter for stream reader, processor, writer. It can represent * {@link ItemStreamReader}, {@link ItemProcessor}, {@link ItemStreamWriter} in a single class. * * @since 1.1.0 diff --git a/spring-batch-plus/src/main/java/com/navercorp/spring/batch/plus/item/adapter/ItemStreamSimpleReaderWriter.java b/spring-batch-plus/src/main/java/com/navercorp/spring/batch/plus/item/adapter/ItemStreamSimpleReaderWriter.java new file mode 100644 index 00000000..c5a64a57 --- /dev/null +++ b/spring-batch-plus/src/main/java/com/navercorp/spring/batch/plus/item/adapter/ItemStreamSimpleReaderWriter.java @@ -0,0 +1,32 @@ +/* + * Spring Batch Plus + * + * Copyright 2022-present NAVER Corp. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package com.navercorp.spring.batch.plus.item.adapter; + +import org.springframework.batch.item.ItemStreamReader; +import org.springframework.batch.item.ItemStreamWriter; + +/** + * An item ({@link T}) based adapter for stream reader, writer. It can represent + * {@link ItemStreamReader}, {@link ItemStreamWriter} in a single class. + * + * @since 1.1.0 + */ +public interface ItemStreamSimpleReaderWriter + extends ItemStreamSimpleReaderDelegate, ItemStreamWriterDelegate { +}