/** {@inheritDoc} */ public Definition getDefinition(String name, Locale customizationKey) { Definition retValue = null; if (customizationKey == null) { customizationKey = Locale.ROOT; } Map<String, Definition> definitions = getDefinitions(customizationKey); if (definitions != null) { retValue = definitions.get(name); if (retValue == null) { retValue = getDefinitionFromResolver(name, customizationKey); if (retValue != null) { synchronized (definitions) { definitions.put(name, retValue); } } } } return retValue; }
/** {@inheritDoc} */ @Override protected Definition getDefinitionFromResolver(String name, Locale customizationKey) { Definition retValue = super.getDefinitionFromResolver(name, customizationKey); if (retValue != null && retValue.getExtends() != null) { Definition parent = getDefinition(retValue.getExtends(), customizationKey); retValue.inherit(parent); } return retValue; }