项目:n4js
文件:N4JSResourceDescriptionStrategy.java
private Map<String,String> createUserData(final TModule module) {
// TODO GH-230 consider disallowing serializing reconciled modules to index with fail-safe behavior:
// if (module.isPreLinkingPhase() || module.isReconciled()) {
if (module.isPreLinkingPhase()) {
return UserdataMapper.createTimestampUserData(module);
}
return new ForwardingMap<String,String>() {
private Map<String,String> delegate;
@Override
protected Map<String,String> delegate() {
if (delegate == null) {
try {
delegate = UserdataMapper.createUserData(module);
N4JSResource resource = (N4JSResource) module.eResource();
UserdataMapper.writeDependenciesToUserData(resource,delegate);
} catch (Exception e) {
throw new IllegalStateException(e);
}
}
return delegate;
}
};
}
项目:xtext-extras
文件:JvmTypesResourceDescriptionStrategy.java
protected Map<String,String> createLazyUserData(final EObject eObject) {
return new ForwardingMap<String,String>() {
private Map<String,String> delegate;
@Override
protected Map<String,String> delegate() {
if(delegate == null) {
Builder<String,String> userData = ImmutableMap.builder();
createUserData(eObject,userData);
delegate = userData.build();
}
return delegate;
}
};
}
项目:property-helper-maven-plugin
文件:ValueCache.java
public Map<String,String> getValues()
{
return new ForwardingMap<String,String>() {
@Override
protected Map<String,String> delegate()
{
return values;
}
@Override
public String remove(Object object) {
dirty();
return super.remove(object);
}
@Override
public void clear() {
dirty();
super.clear();
}
@Override
public String put(String key,String value) {
final String oldValue = super.put(key,value);
if (!Objects.equal(value,oldValue)) {
dirty();
}
return oldValue;
}
@Override
public void putAll(Map<? extends String,? extends String> map) {
dirty();
super.putAll(map);
}
};
}
项目:jfunk
文件:DefaultDataSet.java
private void init(final Map<String,String> map) {
data = new ForwardingMap<String,String> delegate() {
return map;
}
@Override
public String get(final Object key) {
String ov = fixedValues.get(key);
return ov == null ? delegate().get(key) : ov;
}
@Override
public boolean containsKey(final Object key) {
return fixedValues.containsKey(key) || delegate().containsKey(key);
}
@Override
public Set<Entry<String,String>> entrySet() {
Set<String> fixedValueKeys = fixedValues.keySet();
Set<Entry<String,String>> result = Sets.newHashSet(fixedValues.entrySet());
for (Entry<String,String> entry : delegate().entrySet()) {
if (!fixedValueKeys.contains(entry.getKey())) {
result.add(entry);
}
}
return result;
}
@Override
public Set<String> keySet() {
Set<String> keys = Sets.newHashSet(fixedValues.keySet());
keys.addAll(delegate().keySet());
return keys;
}
};
}
项目:further-open-core
文件:UTestReflectionParameters.java
/**
* Test super-class type argument determination.
*/
@Test
public void superClassTypeArguments()
{
final Class<MapLongString> childClass = MapLongString.class;
final List<Class<?>> typeArguments = getSuperclassTypeArguments(ForwardingMap.class,childClass);
log.debug("Class " + childClass + " typeArguments = " + typeArguments);
assertEquals(asList(Long.class,String.class),typeArguments);
}
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。