2 * Copyright (c) 2018 AT&T Intellectual Property. All rights reserved.
4 * This program and the accompanying materials are made available under the
5 * terms of the Eclipse Public License v1.0 which accompanies this distribution,
6 * and is available at http://www.eclipse.org/legal/epl-v10.html
9 package org.opendaylight.protocol.bgp.openconfig.routing.policy.spi.policy.action;
11 import javax.annotation.Nonnull;
12 import javax.annotation.Nullable;
13 import org.opendaylight.protocol.bgp.openconfig.routing.policy.spi.RouteEntryBaseAttributes;
14 import org.opendaylight.protocol.bgp.rib.spi.policy.BGPRouteEntryExportParameters;
15 import org.opendaylight.protocol.bgp.rib.spi.policy.BGPRouteEntryImportParameters;
16 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.bgp.message.rev180329.path.attributes.Attributes;
19 * Common interface for Apply action policy.
21 * @param <T> action class
23 public interface ActionsPolicy<T> {
25 * Applies action to Route Attributes container (Import Policy).
27 * @param routeEntryInfo contains route Entry Info(AS, ClusterId, OriginatorId)
28 * @param routeBaseParameters contains route basic information
29 * @param attributes attributes
30 * @param actions configured Actions
31 * @return Filtered attributes, or null if the advertisement should be ignored.
34 Attributes applyImportAction(
35 @Nonnull RouteEntryBaseAttributes routeEntryInfo,
36 @Nonnull BGPRouteEntryImportParameters routeBaseParameters,
37 @Nonnull Attributes attributes,
41 * Applies action to Route Attributes container (Export Policy).
43 * @param routeEntryInfo contains route Entry Info(AS, ClusterId, OriginatorId)
44 * @param exportParameters contains route basic export information
45 * @param attributes attributes
46 * @param actions configured Actions
47 * @return Filtered attributes, or null if the advertisement should be ignored.
50 Attributes applyExportAction(
51 @Nonnull RouteEntryBaseAttributes routeEntryInfo,
52 @Nonnull BGPRouteEntryExportParameters exportParameters,
53 @Nonnull Attributes attributes,