aboutsummaryrefslogtreecommitdiffstats
path: root/dcae-analytics-common/src/main/java/org/onap/dcae/apod/analytics/common/service/processor/MessageProcessor.java
diff options
context:
space:
mode:
authoran4828 <nekrassov@att.com>2018-01-22 17:17:34 -0500
committeran4828 <nekrassov@att.com>2018-01-22 17:20:00 -0500
commitc489a2eb22484e798c39a978bc8b61821b92322f (patch)
tree5aafe90efc15f8ced47e0d14c5f23a86a07f03e1 /dcae-analytics-common/src/main/java/org/onap/dcae/apod/analytics/common/service/processor/MessageProcessor.java
parentbaaecfc19132034168beb64a0c1e7813c7c17c4a (diff)
TCA: Replace any openecomp reference by onap
Change-Id: I7c6d812ab5c1d7b30c63653d1974b0b1abc099be Signed-off-by: an4828 <nekrassov@att.com> Issue-ID: DCAEGEN2-224 Signed-off-by: an4828 <nekrassov@att.com>
Diffstat (limited to 'dcae-analytics-common/src/main/java/org/onap/dcae/apod/analytics/common/service/processor/MessageProcessor.java')
-rw-r--r--dcae-analytics-common/src/main/java/org/onap/dcae/apod/analytics/common/service/processor/MessageProcessor.java84
1 files changed, 84 insertions, 0 deletions
diff --git a/dcae-analytics-common/src/main/java/org/onap/dcae/apod/analytics/common/service/processor/MessageProcessor.java b/dcae-analytics-common/src/main/java/org/onap/dcae/apod/analytics/common/service/processor/MessageProcessor.java
new file mode 100644
index 0000000..fbdc783
--- /dev/null
+++ b/dcae-analytics-common/src/main/java/org/onap/dcae/apod/analytics/common/service/processor/MessageProcessor.java
@@ -0,0 +1,84 @@
+/*
+ * ===============================LICENSE_START======================================
+ * dcae-analytics
+ * ================================================================================
+ * Copyright © 2017 AT&T Intellectual Property. All rights reserved.
+ * ================================================================================
+ * 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.
+ * ============================LICENSE_END===========================================
+ */
+
+package org.onap.dcae.apod.analytics.common.service.processor;
+
+import com.google.common.base.Function;
+import com.google.common.base.Optional;
+
+import java.io.Serializable;
+
+/**
+ * <p>
+ * A message processor can be used to process incoming messages.
+ * It uses implementations of {@link ProcessorContext} as input and output
+ * </p>
+ *
+ * @param <P> Message Processor Context implementations
+ *
+ * @author Rajiv Singla . Creation Date: 11/7/2016.
+ */
+public interface MessageProcessor<P extends ProcessorContext> extends Function<P, P>, Serializable {
+
+ /**
+ * Returns processor information
+ *
+ * @return processor Information
+ */
+ ProcessorInfo getProcessorInfo();
+
+
+ /**
+ * Does pre-processing of {@link ProcessorContext} e.g. validate input conditions and return
+ * pre processed context
+ *
+ * @param processorContext incoming Processor Context
+ * @return Pre processed Processor Context
+ */
+ P preProcessor(P processorContext);
+
+
+ /**
+ * Return processing state of a processor
+ *
+ * @return Processing State
+ */
+ ProcessingState getProcessingState();
+
+
+ /**
+ * May return a message from a processor which indicates the reason for {@link ProcessingState} especially if
+ * there was some failure in processing
+ *
+ * @return processing Message
+ */
+ Optional<String> getProcessingMessage();
+
+
+ /**
+ * Does post-processing of {@link ProcessorContext}
+ *
+ * @param processorContext incoming Processor Context
+ * @return processor Context after post processing is finished
+ */
+ P postProcessor(P processorContext);
+
+
+}