Add new revision for pcep types model
[bgpcep.git] / pcep / spi / src / main / java / org / opendaylight / protocol / pcep / spi / ObjectHeaderImpl.java
1 /*
2  * Copyright (c) 2013 Cisco Systems, Inc. and others.  All rights reserved.
3  *
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
7  */
8 package org.opendaylight.protocol.pcep.spi;
9
10 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.pcep.types.rev181109.ObjectHeader;
11 import org.opendaylight.yangtools.yang.binding.DataContainer;
12
13 /**
14  * Header parser for PCEP object
15  */
16 public class ObjectHeaderImpl implements ObjectHeader {
17
18     private final Boolean processed;
19     private final Boolean ignored;
20
21     public ObjectHeaderImpl(final Boolean processed, final Boolean ignore) {
22         this.processed = processed;
23         this.ignored = ignore;
24     }
25
26     @Override
27     public Class<? extends DataContainer> getImplementedInterface() {
28         return ObjectHeader.class;
29     }
30
31     @Override
32     public Boolean isIgnore() {
33         return this.ignored;
34     }
35
36     @Override
37     public Boolean isProcessingRule() {
38         return this.processed;
39     }
40
41     @Override
42     public String toString() {
43         final String objectHeader = "ObjectHeader [objClass=" +
44                 ", processed=" +
45                 this.processed +
46                 ", ignored=" +
47                 this.ignored +
48                 "]";
49         return objectHeader;
50     }
51
52     @Override
53     public int hashCode() {
54         final int prime = 31;
55         int result = 1;
56         result = prime * result + ((this.ignored == null) ? 0 : this.ignored.hashCode());
57         result = prime * result + ((this.processed == null) ? 0 : this.processed.hashCode());
58         return result;
59     }
60
61     @Override
62     public boolean equals(final Object obj) {
63         if (this == obj) {
64             return true;
65         }
66         if (obj == null || getClass() != obj.getClass()) {
67             return false;
68         }
69         final ObjectHeaderImpl other = (ObjectHeaderImpl) obj;
70         if (this.ignored == null) {
71             if (other.ignored != null) {
72                 return false;
73             }
74         } else if (!this.ignored.equals(other.ignored)) {
75             return false;
76         }
77         if (this.processed == null) {
78             if (other.processed != null) {
79                 return false;
80             }
81         } else if (!this.processed.equals(other.processed)) {
82             return false;
83         }
84         return true;
85     }
86 }