= lazyImport ? new LazilyInitializedNamespace(templateName) : new Namespace(loadedTemplate); loadedLibs.put(templateName, newNamespace);
private void ensureInitializedRTE() { try { ensureInitializedTME(); } catch (TemplateModelException e) { throw new RuntimeException(e.getMessage(), e.getCause()); } }
private void initialize() throws IOException, TemplateException { setTemplate(configuration.getTemplate( templateName, locale, customLookupCondition, encoding, true, false)); Locale lastLocale = getLocale(); try { setLocale(locale); initializeImportLibNamespace(this, getTemplate()); } finally { setLocale(lastLocale); } }
= lazyImport ? new LazilyInitializedNamespace(templateName) : new Namespace(loadedTemplate); loadedLibs.put(templateName, newNamespace);
= lazyImport ? new LazilyInitializedNamespace(templateName) : new Namespace(loadedTemplate); loadedLibs.put(templateName, newNamespace);
private void ensureInitializedTME() throws TemplateModelException { if (status != InitializationStatus.INITIALIZED && status != InitializationStatus.INITIALIZING) { if (status == InitializationStatus.FAILED) { throw new TemplateModelException( "Lazy initialization of the imported namespace for " + StringUtil.jQuote(templateName) + " has already failed earlier; won't retry it."); } try { status = InitializationStatus.INITIALIZING; initialize(); status = InitializationStatus.INITIALIZED; } catch (Exception e) { // [FM3] Rethrow TemplateException-s as is throw new TemplateModelException( "Lazy initialization of the imported namespace for " + StringUtil.jQuote(templateName) + " has failed; see cause exception", e); } finally { if (status != InitializationStatus.INITIALIZED) { status = InitializationStatus.FAILED; } } } }
private void ensureInitializedTME() throws TemplateModelException { if (status != InitializationStatus.INITIALIZED && status != InitializationStatus.INITIALIZING) { if (status == InitializationStatus.FAILED) { throw new TemplateModelException( "Lazy initialization of the imported namespace for " + StringUtil.jQuote(templateName) + " has already failed earlier; won't retry it."); } try { status = InitializationStatus.INITIALIZING; initialize(); status = InitializationStatus.INITIALIZED; } catch (Exception e) { // [FM3] Rethrow TemplateException-s as is throw new TemplateModelException( "Lazy initialization of the imported namespace for " + StringUtil.jQuote(templateName) + " has failed; see cause exception", e); } finally { if (status != InitializationStatus.INITIALIZED) { status = InitializationStatus.FAILED; } } } }
@Override public boolean containsKey(String key) { ensureInitializedRTE(); return super.containsKey(key); }
@Override public int size() { ensureInitializedRTE(); return super.size(); }
@Override protected Map copyMap(Map map) { ensureInitializedRTE(); return super.copyMap(map); }
@Override public Map toMap() throws TemplateModelException { ensureInitializedTME(); return super.toMap(); }
@Override public KeyValuePairIterator keyValuePairIterator() { ensureInitializedRTE(); return super.keyValuePairIterator(); }
@Override public void remove(String key) { ensureInitializedRTE(); super.remove(key); }
@Override public void put(String key, boolean b) { ensureInitializedRTE(); super.put(key, b); }
@Override public void put(String key, Object value) { ensureInitializedRTE(); super.put(key, value); }
@Override public TemplateCollectionModel values() { ensureInitializedRTE(); return super.values(); }
@Override public boolean containsKey(String key) { ensureInitializedRTE(); return super.containsKey(key); }
@Override public void put(String key, boolean b) { ensureInitializedRTE(); super.put(key, b); }
@Override public TemplateModel get(String key) throws TemplateModelException { ensureInitializedTME(); return super.get(key); }
@Override public TemplateModel get(String key) throws TemplateModelException { ensureInitializedTME(); return super.get(key); }