restructure and base modules for different features
[vpnservice.git] / mdsalutil / mdsalutil-api / src / main / java / org / opendaylight / vpnservice / mdsalutil / InstructionInfo.java
1 /*
2  * Copyright (c) 2013 Ericsson AB.  All rights reserved.
3  *
4  */
5 package org.opendaylight.vpnservice.mdsalutil;
6
7 import java.io.Serializable;
8 import java.math.BigInteger;
9 import java.util.List;
10
11 import org.opendaylight.yang.gen.v1.urn.opendaylight.flow.types.rev131026.instruction.list.Instruction;
12
13 public class InstructionInfo implements Serializable {
14     private static final long serialVersionUID = 1L;
15
16     private final InstructionType m_instructionType;
17     private long[] m_alInstructionValues;
18     private BigInteger[] m_alBigInstructionValues;
19     private List<ActionInfo> m_actionInfos;
20
21     // This constructor should be used incase of clearAction
22     public InstructionInfo(InstructionType instructionType) {
23         m_instructionType = instructionType;
24     }
25
26     public InstructionInfo(InstructionType instructionType, long[] instructionValues) {
27         m_instructionType = instructionType;
28         m_alInstructionValues = instructionValues;
29     }
30
31     public InstructionInfo(InstructionType instructionType, BigInteger[] instructionValues) {
32         m_instructionType = instructionType;
33         m_alBigInstructionValues = instructionValues;
34     }
35
36     public InstructionInfo(InstructionType instructionType, List<ActionInfo> actionInfos) {
37         m_instructionType = instructionType;
38         m_actionInfos = actionInfos;
39     }
40
41     public Instruction buildInstruction(int instructionKey) {
42         return m_instructionType.buildInstruction(this, instructionKey);
43     }
44
45     public InstructionType getInstructionType() {
46         return m_instructionType;
47     }
48
49     public long[] getInstructionValues() {
50         return m_alInstructionValues;
51     }
52
53     public BigInteger[] getBigInstructionValues() {
54         return m_alBigInstructionValues;
55     }
56
57     public List<ActionInfo> getActionInfos() {
58         return m_actionInfos;
59     }
60
61     public void setInstructionValues(long[] m_alInstructionValues) {
62         this.m_alInstructionValues = m_alInstructionValues;
63     }
64
65 }