/*
* Copyright (c) 2016 Cisco Systems, Inc. and others. All rights reserved.
*
* This program and the accompanying materials are made available under the
* terms of the Eclipse Public License v1.0 which accompanies this distribution,
* and is available at http://www.eclipse.org/legal/epl-v10.html
*/
package org.opendaylight.openflowplugin.openflow.md.core.sal.convertor.match.data;
import org.opendaylight.openflowplugin.openflow.md.core.sal.convertor.data.VersionDatapathIdConvertorData;
import org.opendaylight.yang.gen.v1.urn.opendaylight.flow.types.rev131026.flow.MatchBuilder;
import org.opendaylight.yang.gen.v1.urn.opendaylight.model.match.types.rev131026.match.EthernetMatchBuilder;
import org.opendaylight.yang.gen.v1.urn.opendaylight.model.match.types.rev131026.match.Icmpv4MatchBuilder;
import org.opendaylight.yang.gen.v1.urn.opendaylight.model.match.types.rev131026.match.Icmpv6MatchBuilder;
import org.opendaylight.yang.gen.v1.urn.opendaylight.model.match.types.rev131026.match.IpMatchBuilder;
import org.opendaylight.yang.gen.v1.urn.opendaylight.model.match.types.rev131026.match.ProtocolMatchFieldsBuilder;
import org.opendaylight.yang.gen.v1.urn.opendaylight.model.match.types.rev131026.match.TcpFlagsMatchBuilder;
import org.opendaylight.yang.gen.v1.urn.opendaylight.model.match.types.rev131026.match.VlanMatchBuilder;
import org.opendaylight.yang.gen.v1.urn.opendaylight.model.match.types.rev131026.match.layer._3.match.ArpMatchBuilder;
import org.opendaylight.yang.gen.v1.urn.opendaylight.model.match.types.rev131026.match.layer._3.match.Ipv4MatchArbitraryBitMaskBuilder;
import org.opendaylight.yang.gen.v1.urn.opendaylight.model.match.types.rev131026.match.layer._3.match.Ipv4MatchBuilder;
import org.opendaylight.yang.gen.v1.urn.opendaylight.model.match.types.rev131026.match.layer._3.match.Ipv6MatchArbitraryBitMaskBuilder;
import org.opendaylight.yang.gen.v1.urn.opendaylight.model.match.types.rev131026.match.layer._3.match.Ipv6MatchBuilder;
import org.opendaylight.yang.gen.v1.urn.opendaylight.model.match.types.rev131026.match.layer._3.match.TunnelIpv4MatchBuilder;
import org.opendaylight.yang.gen.v1.urn.opendaylight.model.match.types.rev131026.match.layer._4.match.SctpMatchBuilder;
import org.opendaylight.yang.gen.v1.urn.opendaylight.model.match.types.rev131026.match.layer._4.match.TcpMatchBuilder;
import org.opendaylight.yang.gen.v1.urn.opendaylight.model.match.types.rev131026.match.layer._4.match.UdpMatchBuilder;
import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.oxm.rev150225.MatchField;
/**
* Convertor data used in {@link org.opendaylight.openflowplugin.openflow.md.core.sal.convertor.match.MatchResponseConvertor}
* containing Openflow version, datapath ID and various builders, because match response convertor cases depends
* on each other and requires shared builders
*/
public class MatchResponseConvertorData extends VersionDatapathIdConvertorData {
private MatchBuilder matchBuilder;
private EthernetMatchBuilder ethernetMatchBuilder;
private VlanMatchBuilder vlanMatchBuilder;
private IpMatchBuilder ipMatchBuilder;
private TcpMatchBuilder tcpMatchBuilder;
private UdpMatchBuilder udpMatchBuilder;
private SctpMatchBuilder sctpMatchBuilder;
private Icmpv4MatchBuilder icmpv4MatchBuilder;
private Icmpv6MatchBuilder icmpv6MatchBuilder;
private Ipv4MatchBuilder ipv4MatchBuilder;
private Ipv4MatchArbitraryBitMaskBuilder ipv4MatchArbitraryBitMaskBuilder;
private Ipv6MatchArbitraryBitMaskBuilder ipv6MatchArbitraryBitMaskBuilder;
private ArpMatchBuilder arpMatchBuilder;
private Ipv6MatchBuilder ipv6MatchBuilder;
private ProtocolMatchFieldsBuilder protocolMatchFieldsBuilder;
private TunnelIpv4MatchBuilder tunnelIpv4MatchBuilder;
private TcpFlagsMatchBuilder tcpFlagsMatchBuilder;
private Class<? extends MatchField> oxmMatchField;
/**
* Instantiates a new Match convertor data.
*
* @param version the version
*/
public MatchResponseConvertorData(short version) {
super(version);
}
/**
* Gets match builder.
*
* @return the match builder
*/
public MatchBuilder getMatchBuilder() {
return matchBuilder;
}
/**
* Sets match builder.
*
* @param matchBuilder the match builder
*/
public void setMatchBuilder(MatchBuilder matchBuilder) {
this.matchBuilder = matchBuilder;
}
/**
* Gets ethernet match builder.
*
* @return the ethernet match builder
*/
public EthernetMatchBuilder getEthernetMatchBuilder() {
return ethernetMatchBuilder;
}
/**
* Sets ethernet match builder.
*
* @param ethernetMatchBuilder the ethernet match builder
*/
public void setEthernetMatchBuilder(EthernetMatchBuilder ethernetMatchBuilder) {
this.ethernetMatchBuilder = ethernetMatchBuilder;
}
/**
* Gets vlan match builder.
*
* @return the vlan match builder
*/
public VlanMatchBuilder getVlanMatchBuilder() {
return vlanMatchBuilder;
}
/**
* Sets vlan match builder.
*
* @param vlanMatchBuilder the vlan match builder
*/
public void setVlanMatchBuilder(VlanMatchBuilder vlanMatchBuilder) {
this.vlanMatchBuilder = vlanMatchBuilder;
}
/**
* Gets ip match builder.
*
* @return the ip match builder
*/
public IpMatchBuilder getIpMatchBuilder() {
return ipMatchBuilder;
}
/**
* Sets ip match builder.
*
* @param ipMatchBuilder the ip match builder
*/
public void setIpMatchBuilder(IpMatchBuilder ipMatchBuilder) {
this.ipMatchBuilder = ipMatchBuilder;
}
/**
* Gets tcp match builder.
*
* @return the tcp match builder
*/
public TcpMatchBuilder getTcpMatchBuilder() {
return tcpMatchBuilder;
}
/**
* Sets tcp match builder.
*
* @param tcpMatchBuilder the tcp match builder
*/
public void setTcpMatchBuilder(TcpMatchBuilder tcpMatchBuilder) {
this.tcpMatchBuilder = tcpMatchBuilder;
}
/**
* Gets udp match builder.
*
* @return the udp match builder
*/
public UdpMatchBuilder getUdpMatchBuilder() {
return udpMatchBuilder;
}
/**
* Sets udp match builder.
*
* @param udpMatchBuilder the udp match builder
*/
public void setUdpMatchBuilder(UdpMatchBuilder udpMatchBuilder) {
this.udpMatchBuilder = udpMatchBuilder;
}
/**
* Gets sctp match builder.
*
* @return the sctp match builder
*/
public SctpMatchBuilder getSctpMatchBuilder() {
return sctpMatchBuilder;
}
/**
* Sets sctp match builder.
*
* @param sctpMatchBuilder the sctp match builder
*/
public void setSctpMatchBuilder(SctpMatchBuilder sctpMatchBuilder) {
this.sctpMatchBuilder = sctpMatchBuilder;
}
/**
* Gets icmpv 4 match builder.
*
* @return the icmpv 4 match builder
*/
public Icmpv4MatchBuilder getIcmpv4MatchBuilder() {
return icmpv4MatchBuilder;
}
/**
* Sets icmpv 4 match builder.
*
* @param icmpv4MatchBuilder the icmpv 4 match builder
*/
public void setIcmpv4MatchBuilder(Icmpv4MatchBuilder icmpv4MatchBuilder) {
this.icmpv4MatchBuilder = icmpv4MatchBuilder;
}
/**
* Gets icmpv 6 match builder.
*
* @return the icmpv 6 match builder
*/
public Icmpv6MatchBuilder getIcmpv6MatchBuilder() {
return icmpv6MatchBuilder;
}
/**
* Sets icmpv 6 match builder.
*
* @param icmpv6MatchBuilder the icmpv 6 match builder
*/
public void setIcmpv6MatchBuilder(Icmpv6MatchBuilder icmpv6MatchBuilder) {
this.icmpv6MatchBuilder = icmpv6MatchBuilder;
}
/**
* Gets ipv 4 match builder.
*
* @return the ipv 4 match builder
*/
public Ipv4MatchBuilder getIpv4MatchBuilder() {
return ipv4MatchBuilder;
}
/**
* Sets ipv 4 match builder.
*
* @param ipv4MatchBuilder the ipv 4 match builder
*/
public void setIpv4MatchBuilder(Ipv4MatchBuilder ipv4MatchBuilder) {
this.ipv4MatchBuilder = ipv4MatchBuilder;
}
/**
* Gets ipv 4 match arbitrary bit mask builder.
*
* @return the ipv 4 match arbitrary bit mask builder
*/
public Ipv4MatchArbitraryBitMaskBuilder getIpv4MatchArbitraryBitMaskBuilder() {
return ipv4MatchArbitraryBitMaskBuilder;
}
/**
* Sets ipv 4 match arbitrary bit mask builder.
*
* @param ipv4MatchArbitraryBitMaskBuilder the ipv 4 match arbitrary bit mask builder
*/
public void setIpv4MatchArbitraryBitMaskBuilder(Ipv4MatchArbitraryBitMaskBuilder ipv4MatchArbitraryBitMaskBuilder) {
this.ipv4MatchArbitraryBitMaskBuilder = ipv4MatchArbitraryBitMaskBuilder;
}
/**
* Gets ipv 6 match arbitrary bit mask builder.
*
* @return the ipv 6 match arbitrary bit mask builder
*/
public Ipv6MatchArbitraryBitMaskBuilder getIpv6MatchArbitraryBitMaskBuilder() {
return ipv6MatchArbitraryBitMaskBuilder;
}
/**
* Sets ipv 6 match arbitrary bit mask builder.
*
* @param ipv6MatchArbitraryBitMaskBuilder the ipv 6 match arbitrary bit mask builder
*/
public void setIpv6MatchArbitraryBitMaskBuilder(Ipv6MatchArbitraryBitMaskBuilder ipv6MatchArbitraryBitMaskBuilder) {
this.ipv6MatchArbitraryBitMaskBuilder = ipv6MatchArbitraryBitMaskBuilder;
}
/**
* Gets arp match builder.
*
* @return the arp match builder
*/
public ArpMatchBuilder getArpMatchBuilder() {
return arpMatchBuilder;
}
/**
* Sets arp match builder.
*
* @param arpMatchBuilder the arp match builder
*/
public void setArpMatchBuilder(ArpMatchBuilder arpMatchBuilder) {
this.arpMatchBuilder = arpMatchBuilder;
}
/**
* Gets ipv 6 match builder.
*
* @return the ipv 6 match builder
*/
public Ipv6MatchBuilder getIpv6MatchBuilder() {
return ipv6MatchBuilder;
}
/**
* Sets ipv 6 match builder.
*
* @param ipv6MatchBuilder the ipv 6 match builder
*/
public void setIpv6MatchBuilder(Ipv6MatchBuilder ipv6MatchBuilder) {
this.ipv6MatchBuilder = ipv6MatchBuilder;
}
/**
* Gets protocol match fields builder.
*
* @return the protocol match fields builder
*/
public ProtocolMatchFieldsBuilder getProtocolMatchFieldsBuilder() {
return protocolMatchFieldsBuilder;
}
/**
* Sets protocol match fields builder.
*
* @param protocolMatchFieldsBuilder the protocol match fields builder
*/
public void setProtocolMatchFieldsBuilder(ProtocolMatchFieldsBuilder protocolMatchFieldsBuilder) {
this.protocolMatchFieldsBuilder = protocolMatchFieldsBuilder;
}
/**
* Gets tunnel ipv 4 match builder.
*
* @return the tunnel ipv 4 match builder
*/
public TunnelIpv4MatchBuilder getTunnelIpv4MatchBuilder() {
return tunnelIpv4MatchBuilder;
}
/**
* Sets tunnel ipv 4 match builder.
*
* @param tunnelIpv4MatchBuilder the tunnel ipv 4 match builder
*/
public void setTunnelIpv4MatchBuilder(TunnelIpv4MatchBuilder tunnelIpv4MatchBuilder) {
this.tunnelIpv4MatchBuilder = tunnelIpv4MatchBuilder;
}
/**
* Sets tcp flags match builder.
*
* @param tcpFlagsMatchBuilder the tcp flags match builder
*/
public void setTcpFlagsMatchBuilder(TcpFlagsMatchBuilder tcpFlagsMatchBuilder) {
this.tcpFlagsMatchBuilder = tcpFlagsMatchBuilder;
}
/**
* Gets tcp flags match builder.
*
* @return the tcp flags match builder
*/
public TcpFlagsMatchBuilder getTcpFlagsMatchBuilder() {
return tcpFlagsMatchBuilder;
}
/**
* Sets oxm match field.
*
* @param oxmMatchField the oxm match field
*/
public void setOxmMatchField(Class<? extends MatchField> oxmMatchField) {
this.oxmMatchField = oxmMatchField;
}
/**
* Gets oxm match field.
*
* @return the oxm match field
*/
public Class<? extends MatchField> getOxmMatchField() {
return oxmMatchField;
}
}