Javolution 6.0.0 java
LocalContextImpl.java
Go to the documentation of this file.
1 /*
2  * Javolution - Java(TM) Solution for Real-Time and Embedded Systems
3  * Copyright (C) 2012 - Javolution (http://javolution.org/)
4  * All rights reserved.
5  *
6  * Permission to use, copy, modify, and distribute this software is
7  * freely granted, provided that this notice is preserved.
8  */
9 package javolution.context.internal;
10 
12 import javolution.util.FastMap;
13 
17 public final class LocalContextImpl extends LocalContext {
18 
19  private FastMap<Parameter<?>, Object> localSettings = new FastMap<Parameter<?>, Object>();
21 
22  @Override
23  protected LocalContext inner() {
25  ctx.parent = this;
26  return ctx;
27  }
28 
29  @Override
30  public <T> void supersede(Parameter<T> param, T localValue) {
31  if (localValue == null) throw new NullPointerException();
32  localSettings.put(param, localValue);
33  }
34 
35  @SuppressWarnings("unchecked")
36  @Override
37  protected <T> T getValue(Parameter<T> param, T defaultValue) {
38  Object value = localSettings.get(param);
39  if (value != null) return (T) value;
40  if (parent != null) return parent.getValue(param, defaultValue);
41  return defaultValue;
42  }
43 
44 }
javolution
javolution.context.internal.LocalContextImpl.supersede
public< T > void supersede(Parameter< T > param, T localValue)
Definition: LocalContextImpl.java:30
javolution.util.FastMap
Definition: FastMap.java:98
javolution.context.internal.LocalContextImpl.getValue
protected< T > T getValue(Parameter< T > param, T defaultValue)
Definition: LocalContextImpl.java:37
javolution.context.LocalContext
Definition: LocalContext.java:43
javolution.context
Definition: AbstractContext.java:9
javolution.util.FastMap.put
V put(K key, V value)
Definition: FastMap.java:322
javolution.context.LocalContext.Parameter
Definition: LocalContext.java:49
javolution.context.internal.LocalContextImpl.inner
LocalContext inner()
Definition: LocalContextImpl.java:23
javolution.context.internal.LocalContextImpl.parent
LocalContextImpl parent
Definition: LocalContextImpl.java:20
javolution.context.internal.LocalContextImpl.localSettings
FastMap< Parameter<?>, Object > localSettings
Definition: LocalContextImpl.java:19
javolution.util.FastMap.get
V get(Object key)
Definition: FastMap.java:315
javolution.context.internal.LocalContextImpl
Definition: LocalContextImpl.java:17
javolution.util
Definition: FastBitSet.java:9