1 package org
.argeo
.cms
.jetty
;
3 import java
.util
.AbstractMap
;
4 import java
.util
.Enumeration
;
5 import java
.util
.HashSet
;
9 import org
.eclipse
.jetty
.server
.handler
.ContextHandler
;
12 * A {@link Map} implementation wrapping the attributes of a Jetty
13 * {@link ContextHandler}.
15 class ContextHandlerAttributes
extends AbstractMap
<String
, Object
> {
16 private ContextHandler contextHandler
;
18 public ContextHandlerAttributes(ContextHandler contextHandler
) {
20 this.contextHandler
= contextHandler
;
24 public Set
<Entry
<String
, Object
>> entrySet() {
25 Set
<Entry
<String
, Object
>> entries
= new HashSet
<>();
26 for (Enumeration
<String
> keys
= contextHandler
.getAttributeNames(); keys
.hasMoreElements();) {
27 entries
.add(new ContextAttributeEntry(keys
.nextElement()));
33 public Object
put(String key
, Object value
) {
34 Object previousValue
= get(key
);
35 contextHandler
.setAttribute(key
, value
);
39 private class ContextAttributeEntry
implements Map
.Entry
<String
, Object
> {
40 private final String key
;
42 public ContextAttributeEntry(String key
) {
47 public String
getKey() {
52 public Object
getValue() {
53 return contextHandler
.getAttribute(key
);
57 public Object
setValue(Object value
) {
58 Object previousValue
= getValue();
59 contextHandler
.setAttribute(key
, value
);