2 * Copyright (c) 2016 Cisco Systems, Inc. and others. 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.openflowplugin.openflow.md.core.sal.convertor.match.data;
11 import org.opendaylight.openflowplugin.openflow.md.core.sal.convertor.data.VersionDatapathIdConvertorData;
12 import org.opendaylight.yang.gen.v1.urn.opendaylight.flow.types.rev131026.flow.MatchBuilder;
13 import org.opendaylight.yang.gen.v1.urn.opendaylight.model.match.types.rev131026.match.EthernetMatchBuilder;
14 import org.opendaylight.yang.gen.v1.urn.opendaylight.model.match.types.rev131026.match.Icmpv4MatchBuilder;
15 import org.opendaylight.yang.gen.v1.urn.opendaylight.model.match.types.rev131026.match.Icmpv6MatchBuilder;
16 import org.opendaylight.yang.gen.v1.urn.opendaylight.model.match.types.rev131026.match.IpMatchBuilder;
17 import org.opendaylight.yang.gen.v1.urn.opendaylight.model.match.types.rev131026.match.ProtocolMatchFieldsBuilder;
18 import org.opendaylight.yang.gen.v1.urn.opendaylight.model.match.types.rev131026.match.TcpFlagsMatchBuilder;
19 import org.opendaylight.yang.gen.v1.urn.opendaylight.model.match.types.rev131026.match.VlanMatchBuilder;
20 import org.opendaylight.yang.gen.v1.urn.opendaylight.model.match.types.rev131026.match.layer._3.match.ArpMatchBuilder;
21 import org.opendaylight.yang.gen.v1.urn.opendaylight.model.match.types.rev131026.match.layer._3.match.Ipv4MatchArbitraryBitMaskBuilder;
22 import org.opendaylight.yang.gen.v1.urn.opendaylight.model.match.types.rev131026.match.layer._3.match.Ipv4MatchBuilder;
23 import org.opendaylight.yang.gen.v1.urn.opendaylight.model.match.types.rev131026.match.layer._3.match.Ipv6MatchArbitraryBitMaskBuilder;
24 import org.opendaylight.yang.gen.v1.urn.opendaylight.model.match.types.rev131026.match.layer._3.match.Ipv6MatchBuilder;
25 import org.opendaylight.yang.gen.v1.urn.opendaylight.model.match.types.rev131026.match.layer._3.match.TunnelIpv4MatchBuilder;
26 import org.opendaylight.yang.gen.v1.urn.opendaylight.model.match.types.rev131026.match.layer._4.match.SctpMatchBuilder;
27 import org.opendaylight.yang.gen.v1.urn.opendaylight.model.match.types.rev131026.match.layer._4.match.TcpMatchBuilder;
28 import org.opendaylight.yang.gen.v1.urn.opendaylight.model.match.types.rev131026.match.layer._4.match.UdpMatchBuilder;
29 import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.oxm.rev150225.MatchField;
32 * Convertor data used in
33 * {@link org.opendaylight.openflowplugin.openflow.md.core.sal.convertor.match.MatchResponseConvertor}
34 * containing Openflow version, datapath ID and various builders, because match response convertor cases depends
35 * on each other and requires shared builders.
37 public class MatchResponseConvertorData extends VersionDatapathIdConvertorData {
38 private MatchBuilder matchBuilder;
39 private EthernetMatchBuilder ethernetMatchBuilder;
40 private VlanMatchBuilder vlanMatchBuilder;
41 private IpMatchBuilder ipMatchBuilder;
42 private TcpMatchBuilder tcpMatchBuilder;
43 private UdpMatchBuilder udpMatchBuilder;
44 private SctpMatchBuilder sctpMatchBuilder;
45 private Icmpv4MatchBuilder icmpv4MatchBuilder;
46 private Icmpv6MatchBuilder icmpv6MatchBuilder;
47 private Ipv4MatchBuilder ipv4MatchBuilder;
48 private Ipv4MatchArbitraryBitMaskBuilder ipv4MatchArbitraryBitMaskBuilder;
49 private Ipv6MatchArbitraryBitMaskBuilder ipv6MatchArbitraryBitMaskBuilder;
50 private ArpMatchBuilder arpMatchBuilder;
51 private Ipv6MatchBuilder ipv6MatchBuilder;
52 private ProtocolMatchFieldsBuilder protocolMatchFieldsBuilder;
53 private TunnelIpv4MatchBuilder tunnelIpv4MatchBuilder;
54 private TcpFlagsMatchBuilder tcpFlagsMatchBuilder;
55 private Class<? extends MatchField> oxmMatchField;
58 * Instantiates a new Match convertor data.
60 * @param version the version
62 public MatchResponseConvertorData(short version) {
69 * @return the match builder
71 public MatchBuilder getMatchBuilder() {
78 * @param matchBuilder the match builder
80 public void setMatchBuilder(MatchBuilder matchBuilder) {
81 this.matchBuilder = matchBuilder;
85 * Gets ethernet match builder.
87 * @return the ethernet match builder
89 public EthernetMatchBuilder getEthernetMatchBuilder() {
90 return ethernetMatchBuilder;
94 * Sets ethernet match builder.
96 * @param ethernetMatchBuilder the ethernet match builder
98 public void setEthernetMatchBuilder(EthernetMatchBuilder ethernetMatchBuilder) {
99 this.ethernetMatchBuilder = ethernetMatchBuilder;
103 * Gets vlan match builder.
105 * @return the vlan match builder
107 public VlanMatchBuilder getVlanMatchBuilder() {
108 return vlanMatchBuilder;
112 * Sets vlan match builder.
114 * @param vlanMatchBuilder the vlan match builder
116 public void setVlanMatchBuilder(VlanMatchBuilder vlanMatchBuilder) {
117 this.vlanMatchBuilder = vlanMatchBuilder;
121 * Gets ip match builder.
123 * @return the ip match builder
125 public IpMatchBuilder getIpMatchBuilder() {
126 return ipMatchBuilder;
130 * Sets ip match builder.
132 * @param ipMatchBuilder the ip match builder
134 public void setIpMatchBuilder(IpMatchBuilder ipMatchBuilder) {
135 this.ipMatchBuilder = ipMatchBuilder;
139 * Gets tcp match builder.
141 * @return the tcp match builder
143 public TcpMatchBuilder getTcpMatchBuilder() {
144 return tcpMatchBuilder;
148 * Sets tcp match builder.
150 * @param tcpMatchBuilder the tcp match builder
152 public void setTcpMatchBuilder(TcpMatchBuilder tcpMatchBuilder) {
153 this.tcpMatchBuilder = tcpMatchBuilder;
157 * Gets udp match builder.
159 * @return the udp match builder
161 public UdpMatchBuilder getUdpMatchBuilder() {
162 return udpMatchBuilder;
166 * Sets udp match builder.
168 * @param udpMatchBuilder the udp match builder
170 public void setUdpMatchBuilder(UdpMatchBuilder udpMatchBuilder) {
171 this.udpMatchBuilder = udpMatchBuilder;
175 * Gets sctp match builder.
177 * @return the sctp match builder
179 public SctpMatchBuilder getSctpMatchBuilder() {
180 return sctpMatchBuilder;
184 * Sets sctp match builder.
186 * @param sctpMatchBuilder the sctp match builder
188 public void setSctpMatchBuilder(SctpMatchBuilder sctpMatchBuilder) {
189 this.sctpMatchBuilder = sctpMatchBuilder;
193 * Gets icmpv 4 match builder.
195 * @return the icmpv 4 match builder
197 public Icmpv4MatchBuilder getIcmpv4MatchBuilder() {
198 return icmpv4MatchBuilder;
202 * Sets icmpv 4 match builder.
204 * @param icmpv4MatchBuilder the icmpv 4 match builder
206 public void setIcmpv4MatchBuilder(Icmpv4MatchBuilder icmpv4MatchBuilder) {
207 this.icmpv4MatchBuilder = icmpv4MatchBuilder;
211 * Gets icmpv 6 match builder.
213 * @return the icmpv 6 match builder
215 public Icmpv6MatchBuilder getIcmpv6MatchBuilder() {
216 return icmpv6MatchBuilder;
220 * Sets icmpv 6 match builder.
222 * @param icmpv6MatchBuilder the icmpv 6 match builder
224 public void setIcmpv6MatchBuilder(Icmpv6MatchBuilder icmpv6MatchBuilder) {
225 this.icmpv6MatchBuilder = icmpv6MatchBuilder;
229 * Gets ipv 4 match builder.
231 * @return the ipv 4 match builder
233 public Ipv4MatchBuilder getIpv4MatchBuilder() {
234 return ipv4MatchBuilder;
238 * Sets ipv 4 match builder.
240 * @param ipv4MatchBuilder the ipv 4 match builder
242 public void setIpv4MatchBuilder(Ipv4MatchBuilder ipv4MatchBuilder) {
243 this.ipv4MatchBuilder = ipv4MatchBuilder;
247 * Gets ipv 4 match arbitrary bit mask builder.
249 * @return the ipv 4 match arbitrary bit mask builder
251 public Ipv4MatchArbitraryBitMaskBuilder getIpv4MatchArbitraryBitMaskBuilder() {
252 return ipv4MatchArbitraryBitMaskBuilder;
256 * Sets ipv 4 match arbitrary bit mask builder.
258 * @param ipv4MatchArbitraryBitMaskBuilder the ipv 4 match arbitrary bit mask builder
260 public void setIpv4MatchArbitraryBitMaskBuilder(Ipv4MatchArbitraryBitMaskBuilder ipv4MatchArbitraryBitMaskBuilder) {
261 this.ipv4MatchArbitraryBitMaskBuilder = ipv4MatchArbitraryBitMaskBuilder;
265 * Gets ipv 6 match arbitrary bit mask builder.
267 * @return the ipv 6 match arbitrary bit mask builder
269 public Ipv6MatchArbitraryBitMaskBuilder getIpv6MatchArbitraryBitMaskBuilder() {
270 return ipv6MatchArbitraryBitMaskBuilder;
274 * Sets ipv 6 match arbitrary bit mask builder.
276 * @param ipv6MatchArbitraryBitMaskBuilder the ipv 6 match arbitrary bit mask builder
278 public void setIpv6MatchArbitraryBitMaskBuilder(Ipv6MatchArbitraryBitMaskBuilder ipv6MatchArbitraryBitMaskBuilder) {
279 this.ipv6MatchArbitraryBitMaskBuilder = ipv6MatchArbitraryBitMaskBuilder;
283 * Gets arp match builder.
285 * @return the arp match builder
287 public ArpMatchBuilder getArpMatchBuilder() {
288 return arpMatchBuilder;
292 * Sets arp match builder.
294 * @param arpMatchBuilder the arp match builder
296 public void setArpMatchBuilder(ArpMatchBuilder arpMatchBuilder) {
297 this.arpMatchBuilder = arpMatchBuilder;
301 * Gets ipv 6 match builder.
303 * @return the ipv 6 match builder
305 public Ipv6MatchBuilder getIpv6MatchBuilder() {
306 return ipv6MatchBuilder;
310 * Sets ipv 6 match builder.
312 * @param ipv6MatchBuilder the ipv 6 match builder
314 public void setIpv6MatchBuilder(Ipv6MatchBuilder ipv6MatchBuilder) {
315 this.ipv6MatchBuilder = ipv6MatchBuilder;
319 * Gets protocol match fields builder.
321 * @return the protocol match fields builder
323 public ProtocolMatchFieldsBuilder getProtocolMatchFieldsBuilder() {
324 return protocolMatchFieldsBuilder;
328 * Sets protocol match fields builder.
330 * @param protocolMatchFieldsBuilder the protocol match fields builder
332 public void setProtocolMatchFieldsBuilder(ProtocolMatchFieldsBuilder protocolMatchFieldsBuilder) {
333 this.protocolMatchFieldsBuilder = protocolMatchFieldsBuilder;
337 * Gets tunnel ipv 4 match builder.
339 * @return the tunnel ipv 4 match builder
341 public TunnelIpv4MatchBuilder getTunnelIpv4MatchBuilder() {
342 return tunnelIpv4MatchBuilder;
346 * Sets tunnel ipv 4 match builder.
348 * @param tunnelIpv4MatchBuilder the tunnel ipv 4 match builder
350 public void setTunnelIpv4MatchBuilder(TunnelIpv4MatchBuilder tunnelIpv4MatchBuilder) {
351 this.tunnelIpv4MatchBuilder = tunnelIpv4MatchBuilder;
355 * Sets tcp flags match builder.
357 * @param tcpFlagsMatchBuilder the tcp flags match builder
359 public void setTcpFlagsMatchBuilder(TcpFlagsMatchBuilder tcpFlagsMatchBuilder) {
360 this.tcpFlagsMatchBuilder = tcpFlagsMatchBuilder;
364 * Gets tcp flags match builder.
366 * @return the tcp flags match builder
368 public TcpFlagsMatchBuilder getTcpFlagsMatchBuilder() {
369 return tcpFlagsMatchBuilder;
373 * Sets oxm match field.
375 * @param oxmMatchField the oxm match field
377 public void setOxmMatchField(Class<? extends MatchField> oxmMatchField) {
378 this.oxmMatchField = oxmMatchField;
382 * Gets oxm match field.
384 * @return the oxm match field
386 public Class<? extends MatchField> getOxmMatchField() {
387 return oxmMatchField;