Implementing VPP Renderer registration
[groupbasedpolicy.git] / renderers / vpp / src / main / java / org / opendaylight / groupbasedpolicy / renderer / vpp / sf / Action.java
1 /*
2  * Copyright (c) 2015 Cisco Systems, Inc. and others. All rights reserved.
3  *
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
7  */
8
9 package org.opendaylight.groupbasedpolicy.renderer.vpp.sf;
10
11 import java.util.List;
12
13 import org.opendaylight.groupbasedpolicy.api.Validator;
14 import org.opendaylight.yang.gen.v1.urn.opendaylight.groupbasedpolicy.common.rev140421.ActionDefinitionId;
15 import org.opendaylight.yang.gen.v1.urn.opendaylight.groupbasedpolicy.policy.rev140421.subject.feature.definitions.ActionDefinition;
16 import org.opendaylight.yang.gen.v1.urn.opendaylight.groupbasedpolicy.policy.rev140421.tenants.tenant.policy.subject.feature.instances.ActionInstance;
17 import org.opendaylight.yang.gen.v1.urn.opendaylight.groupbasedpolicy.renderer.rev151103.renderers.renderer.capabilities.supported.action.definition.SupportedParameterValues;
18
19 /**
20  * Represent an action definition, and provide tools for generating
21  * flow instructions based on the action.
22  */
23 public abstract class Action implements Validator<ActionInstance> {
24
25     /**
26      * Get the action definition for this action.
27      *
28      * @return the {@link ActionDefinition} for this action
29      */
30     public abstract ActionDefinitionId getId();
31
32     /**
33      * Get the action definition for this action.
34      *
35      * @return the {@link ActionDefinition} for this action
36      */
37     public abstract ActionDefinition getActionDef();
38
39     /**
40      * The result represents supported parameters for the action by renderer.
41      *
42      * @return list of supported parameters by the action
43      */
44     public abstract List<SupportedParameterValues> getSupportedParameterValues();
45
46 }