diff options
Diffstat (limited to 'policy-management/src/main/java/org/onap/policy/drools/features/DroolsControllerFeatureAPI.java')
-rw-r--r-- | policy-management/src/main/java/org/onap/policy/drools/features/DroolsControllerFeatureAPI.java | 29 |
1 files changed, 26 insertions, 3 deletions
diff --git a/policy-management/src/main/java/org/onap/policy/drools/features/DroolsControllerFeatureAPI.java b/policy-management/src/main/java/org/onap/policy/drools/features/DroolsControllerFeatureAPI.java index 135e1c58..d8663f10 100644 --- a/policy-management/src/main/java/org/onap/policy/drools/features/DroolsControllerFeatureAPI.java +++ b/policy-management/src/main/java/org/onap/policy/drools/features/DroolsControllerFeatureAPI.java @@ -2,14 +2,14 @@ * ============LICENSE_START======================================================= * ONAP * ================================================================================ - * Copyright (C) 2018 AT&T Intellectual Property. All rights reserved. + * Copyright (C) 2018-2019 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. @@ -20,6 +20,7 @@ package org.onap.policy.drools.features; +import org.onap.policy.common.endpoints.event.comm.TopicSink; import org.onap.policy.drools.controller.DroolsController; import org.onap.policy.drools.utils.OrderedService; import org.onap.policy.drools.utils.OrderedServiceImpl; @@ -53,6 +54,28 @@ public interface DroolsControllerFeatureAPI extends OrderedService { } /** + * Intercept before the Drools Controller delivers (posts) an event. + * + * @return True if this feature intercepts and takes ownership + * of the operation preventing the invocation of + * lower priority features. False, otherwise + */ + default boolean beforeDeliver(DroolsController controller, TopicSink sink, Object fact) { + return false; + } + + /** + * Called after the Drools Controller delivers (posts) an event. + * + * @return True if this feature intercepts and takes ownership of the operation + * preventing the invocation of lower priority features. False, otherwise + */ + default boolean afterDeliver(DroolsController controller, TopicSink sink, Object fact, String json, + boolean success) { + return false; + } + + /** * Feature providers implementing this interface. */ public static final OrderedServiceImpl<DroolsControllerFeatureAPI> providers = |