2 * Copyright © 2017 Red Hat, Inc. and others.
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
8 package org.opendaylight.genius.mdsalutil.matches;
10 import java.math.BigInteger;
11 import org.opendaylight.yang.gen.v1.urn.opendaylight.flow.types.rev131026.flow.MatchBuilder;
12 import org.opendaylight.yang.gen.v1.urn.opendaylight.model.match.types.rev131026.match.Metadata;
13 import org.opendaylight.yang.gen.v1.urn.opendaylight.model.match.types.rev131026.match.MetadataBuilder;
18 public class MatchMetadata extends MatchInfoHelper<Metadata, MetadataBuilder> {
19 private final BigInteger metadata;
20 private final BigInteger mask;
22 public MatchMetadata(BigInteger metadata, BigInteger mask) {
23 this.metadata = metadata;
28 protected void applyValue(MatchBuilder matchBuilder, Metadata value) {
29 matchBuilder.setMetadata(value);
33 protected void populateBuilder(MetadataBuilder builder) {
34 builder.setMetadata(metadata).setMetadataMask(mask);
37 public BigInteger getMetadata() {
41 public BigInteger getMask() {
46 public boolean equals(Object other) {
50 if (other == null || getClass() != other.getClass()) {
53 if (!super.equals(other)) {
57 MatchMetadata that = (MatchMetadata) other;
59 if (metadata != null ? !metadata.equals(that.metadata) : that.metadata != null) {
62 return mask != null ? mask.equals(that.mask) : that.mask == null;
66 public int hashCode() {
67 int result = super.hashCode();
68 result = 31 * result + (metadata != null ? metadata.hashCode() : 0);
69 result = 31 * result + (mask != null ? mask.hashCode() : 0);