Fix license header violations in yang-parser-impl
[yangtools.git] / yang / yang-parser-impl / src / main / java / org / opendaylight / yangtools / yang / parser / builder / impl / NotificationDefinitionImpl.java
1 /*
2  * Copyright (c) 2015 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
9 package org.opendaylight.yangtools.yang.parser.builder.impl;
10
11 import com.google.common.collect.ImmutableList;
12 import com.google.common.collect.ImmutableSet;
13 import java.util.List;
14 import java.util.Set;
15 import org.opendaylight.yangtools.yang.common.QName;
16 import org.opendaylight.yangtools.yang.model.api.AugmentationSchema;
17 import org.opendaylight.yangtools.yang.model.api.NotificationDefinition;
18 import org.opendaylight.yangtools.yang.model.api.SchemaPath;
19 import org.opendaylight.yangtools.yang.model.api.UnknownSchemaNode;
20 import org.opendaylight.yangtools.yang.parser.builder.util.AbstractDocumentedDataNodeContainer;
21
22 final class NotificationDefinitionImpl extends AbstractDocumentedDataNodeContainer implements
23 NotificationDefinition {
24     private final QName qname;
25     private final SchemaPath path;
26     ImmutableSet<AugmentationSchema> augmentations;
27     ImmutableList<UnknownSchemaNode> unknownNodes;
28
29     NotificationDefinitionImpl(final QName qname, final SchemaPath path, final NotificationBuilder builder) {
30         super(builder);
31         // TODO Auto-generated constructor stub
32         this.qname = qname;
33         this.path = path;
34     }
35
36     @Override
37     public QName getQName() {
38         return qname;
39     }
40
41     @Override
42     public SchemaPath getPath() {
43         return path;
44     }
45
46     @Override
47     public Set<AugmentationSchema> getAvailableAugmentations() {
48         return augmentations;
49     }
50
51     @Override
52     public List<UnknownSchemaNode> getUnknownSchemaNodes() {
53         return unknownNodes;
54     }
55
56     @Override
57     public int hashCode() {
58         final int prime = 31;
59         int result = 1;
60         result = prime * result + ((qname == null) ? 0 : qname.hashCode());
61         result = prime * result + ((path == null) ? 0 : path.hashCode());
62         return result;
63     }
64
65     @Override
66     public boolean equals(final Object obj) {
67         if (this == obj) {
68             return true;
69         }
70         if (obj == null) {
71             return false;
72         }
73         if (getClass() != obj.getClass()) {
74             return false;
75         }
76         final NotificationDefinitionImpl other = (NotificationDefinitionImpl) obj;
77         if (qname == null) {
78             if (other.qname != null) {
79                 return false;
80             }
81         } else if (!qname.equals(other.qname)) {
82             return false;
83         }
84         if (path == null) {
85             if (other.path != null) {
86                 return false;
87             }
88         } else if (!path.equals(other.path)) {
89             return false;
90         }
91         return true;
92     }
93
94     @Override
95     public String toString() {
96         StringBuilder sb = new StringBuilder(NotificationDefinitionImpl.class.getSimpleName());
97         sb.append("[qname=").append(qname).append(", path=").append(path).append("]");
98         return sb.toString();
99     }
100 }