2 * ============LICENSE_START=======================================================
3 * Copyright (C) 2018 Ericsson. All rights reserved.
4 * ================================================================================
5 * Licensed under the Apache License, Version 2.0 (the "License");
6 * you may not use this file except in compliance with the License.
7 * You may obtain a copy of the License at
9 * http://www.apache.org/licenses/LICENSE-2.0
11 * Unless required by applicable law or agreed to in writing, software
12 * distributed under the License is distributed on an "AS IS" BASIS,
13 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14 * See the License for the specific language governing permissions and
15 * limitations under the License.
17 * SPDX-License-Identifier: Apache-2.0
18 * ============LICENSE_END=========================================================
21 package org.onap.policy.distribution.forwarding;
23 import java.util.Collection;
24 import org.onap.sdc.api.notification.IArtifactInfo;
25 import org.onap.policy.distribution.model.PolicyInput;
30 * <p>To create a Artifact forwarder a class implementing this interface must be created, along with a
31 * concrete sub class of ArtifactForwarderConfigurationParameterGroup to handle configuration
32 * parameters for the Artifact forwarder.
34 public interface ArtifactForwarder {
37 * Configure the Artifact forwarder.
39 * <p>This method will be invoked immediately after instantiation in order for the Artifact forwarder
40 * to configure itself.
42 * @param parameterGroupName the name of the parameter group which contains the configuration
43 * for the Artifact forwarder
45 void configure(String parameterGroupName);
48 * Forward the given policies.
50 * @param policies the policies to forward
51 * @throws ArtifactForwardingException if an error occurs when forwarding the given Artifact
53 void forward(PolicyInput policyInput) throws ArtifactForwardingException;