Add WriterParameters.EMPTY
[netconf.git] / restconf / restconf-common / src / main / java / org / opendaylight / restconf / common / context / NormalizedNodeContext.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 package org.opendaylight.restconf.common.context;
9
10 import java.util.HashMap;
11 import java.util.Map;
12 import org.opendaylight.yangtools.yang.data.api.schema.NormalizedNode;
13 import org.opendaylight.yangtools.yang.model.api.SchemaNode;
14
15 public class NormalizedNodeContext {
16
17     private final InstanceIdentifierContext<? extends SchemaNode> context;
18     private final WriterParameters writerParameters;
19     private final NormalizedNode data;
20
21     private Map<String, Object> headers = new HashMap<>();
22
23     public NormalizedNodeContext(final InstanceIdentifierContext<? extends SchemaNode> context,
24                                  final NormalizedNode data, final WriterParameters writerParameters) {
25         this.context = context;
26         this.data = data;
27         this.writerParameters = writerParameters;
28     }
29
30     public NormalizedNodeContext(final InstanceIdentifierContext<? extends SchemaNode> context,
31             final NormalizedNode data, final WriterParameters writerParameters, final Map<String, Object> headers) {
32         this.context = context;
33         this.data = data;
34         this.writerParameters = writerParameters;
35         this.headers = headers;
36     }
37
38     public NormalizedNodeContext(final InstanceIdentifierContext<? extends SchemaNode> context,
39                                  final NormalizedNode data) {
40         this.context = context;
41         this.data = data;
42         // default writer parameters
43         writerParameters = WriterParameters.EMPTY;
44     }
45
46     public NormalizedNodeContext(final InstanceIdentifierContext<? extends SchemaNode> context,
47             final NormalizedNode data, final Map<String, Object> headers) {
48         this.context = context;
49         this.data = data;
50         // default writer parameters
51         writerParameters = WriterParameters.EMPTY;
52         this.headers = headers;
53     }
54
55     public InstanceIdentifierContext<? extends SchemaNode> getInstanceIdentifierContext() {
56         return context;
57     }
58
59     public NormalizedNode getData() {
60         return data;
61     }
62
63     public WriterParameters getWriterParameters() {
64         return writerParameters;
65     }
66
67     /**
68      * Return headers of {@code NormalizedNodeContext}.
69      *
70      * @return map of headers
71      */
72     public Map<String, Object> getNewHeaders() {
73         return headers;
74     }
75 }