da82c402682c537b109bc03eca83dc44f5ee6c20
[vpnservice.git] / mdsalutil / mdsalutil-api / src / main / java / org / opendaylight / vpnservice / mdsalutil / MatchInfo.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.Map;
10
11 import org.opendaylight.yang.gen.v1.urn.opendaylight.flow.types.rev131026.flow.MatchBuilder;
12
13 public class MatchInfo implements Serializable {
14     private static final long serialVersionUID = 1L;
15
16     private final MatchFieldType m_matchField;
17     private long[] m_alMatchValues;
18     private BigInteger[] m_aBigIntValues;
19     private String[] m_asMatchValues;
20
21     public MatchInfo(MatchFieldType matchField, long[] alMatchValues) {
22         m_matchField = matchField;
23         m_alMatchValues = alMatchValues;
24     }
25
26     public MatchInfo(MatchFieldType matchField, BigInteger[] alBigMatchValues) {
27         m_matchField = matchField;
28         m_aBigIntValues = alBigMatchValues;
29     }
30
31     public MatchInfo(MatchFieldType matchField, String[] alStringMatchValues) {
32         m_matchField = matchField;
33         m_asMatchValues = alStringMatchValues;
34     }
35
36     public void createInnerMatchBuilder(Map<Class<?>, Object> mapMatchBuilder) {
37         m_matchField.createInnerMatchBuilder(this, mapMatchBuilder);
38     }
39
40     public void setMatch(MatchBuilder matchBuilder, Map<Class<?>, Object> mapMatchBuilder) {
41         m_matchField.setMatch(matchBuilder, this, mapMatchBuilder);
42     }
43
44     public MatchFieldType getMatchField() {
45         return m_matchField;
46     }
47
48     public long[] getMatchValues() {
49         return m_alMatchValues;
50     }
51
52     public BigInteger[] getBigMatchValues() {
53         return m_aBigIntValues;
54     }
55
56     public String[] getStringMatchValues() {
57         return m_asMatchValues;
58     }
59 }