-
Notifications
You must be signed in to change notification settings - Fork 33
/
DocumentRendererContext.java
141 lines (124 loc) · 3.7 KB
/
DocumentRendererContext.java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
package org.apache.maven.doxia.docrenderer;
/*
* Licensed to the Apache Software Foundation (ASF) under one
* or more contributor license agreements. See the NOTICE file
* distributed with this work for additional information
* regarding copyright ownership. The ASF licenses this file
* to you under the Apache License, Version 2.0 (the
* "License"); you may not use this file except in compliance
* with the License. You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing,
* software distributed under the License is distributed on an
* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
* KIND, either express or implied. See the License for the
* specific language governing permissions and limitations
* under the License.
*/
import java.util.HashMap;
import java.util.Map;
import org.codehaus.plexus.util.ReaderFactory;
/**
* Context when processing Velocity files using a {@link java.util.HashMap} for data storage.
*
* @author <a href="mailto:vincent.siveton@gmail.com">Vincent Siveton</a>
* @since 1.1.2
*/
@Deprecated
public class DocumentRendererContext
{
private String inputEncoding = ReaderFactory.UTF_8;
/**
* Storage for key/value pairs.
*/
private final Map<String, Object> context;
/**
* Default constructor.
*/
public DocumentRendererContext()
{
context = new HashMap<String, Object>();
}
/**
* @return The input encoding when processing files.
*/
public String getInputEncoding()
{
return inputEncoding;
}
/**
* @param inputEncoding new input encoding value when processing files.
*/
public void setInputEncoding( String inputEncoding )
{
this.inputEncoding = inputEncoding;
}
/**
* Adds a name/value pair to the context.
*
* @param key The name to key the provided value with.
* @param value The corresponding value.
* @return Object that was replaced in the the Context if applicable or null if not.
*/
public Object put( String key, Object value )
{
if ( key == null )
{
return null;
}
return context.put( key, value );
}
/**
* Gets the value corresponding to the provided key from the context.
*
* @param key The name of the desired value.
* @return The value corresponding to the provided key or null if the key param is null.
*/
public Object get( String key )
{
if ( key == null )
{
return null;
}
return context.get( key );
}
/**
* Indicates whether the specified key is in the context.
*
* @param key The key to look for.
* @return true if the key is in the context, false if not.
*/
public boolean containsKey( Object key )
{
if ( !( key instanceof String ) ) // this includes null check
{
return false;
}
return context.containsKey( key.toString() );
}
/**
* Get all the keys for the values in the context
*
* @return Object[] of keys in the Context.
*/
public Object[] getKeys()
{
return context.keySet().toArray();
}
/**
* Removes the value associated with the specified key from the context.
*
* @param key The name of the value to remove.
* @return The value that the key was mapped to, or <code>null</code> if unmapped.
*/
public Object remove( Object key )
{
if ( !( key instanceof String ) ) // this includes null check
{
return null;
}
return context.remove( key.toString() );
}
}