test_class.file: handlebars-guava-cache/src/test/java/com/github/jknack/handlebars/cache/GuavaTemplateCacheTest.java
test_class.identifier: GuavaTemplateCacheTest
test_case.body: @SuppressWarnings("unchecked")
    @Test(expected = IllegalStateException.class)
    public void executionExceptionWithRuntimeException() throws IOException, ExecutionException {
      TemplateSource source = createMock(TemplateSource.class);
  
      Parser parser = createMock(Parser.class);
  
      Cache<TemplateSource, Template> cache = createMock(Cache.class);
      expect(cache.get(eq(source), isA(Callable.class))).andThrow(
          new ExecutionException(new IllegalStateException()));
  
      replay(cache, source, parser);
  
      new GuavaTemplateCache(cache).get(source, parser);
  
      verify(cache, source, parser);
    }
test_case.class_method_signature: GuavaTemplateCacheTest.executionExceptionWithRuntimeException()
test_case.full_signature: @SuppressWarnings("unchecked") @Test(expected = IllegalStateException.class) public void executionExceptionWithRuntimeException()
test_case.identifier: executionExceptionWithRuntimeException
test_case.invocations: createMock createMock createMock andThrow expect get eq isA replay get verify
test_case.modifiers: @SuppressWarnings("unchecked") @Test(expected = IllegalStateException.class) public
test_case.parameters: ()
test_case.return: void
test_case.signature: void executionExceptionWithRuntimeException()
focal_class.declarator: cache
focal_class.modifier: private final
focal_class.original_string: private final Cache<TemplateSource, Template> cache;
focal_class.type: Cache<TemplateSource, Template>
focal_class.var_name: cache
focal_class.declarator: reload
focal_class.modifier: private
focal_class.original_string: private boolean reload;
focal_class.type: boolean
focal_class.var_name: reload
focal_class.file: handlebars-guava-cache/src/main/java/com/github/jknack/handlebars/cache/GuavaTemplateCache.java
focal_class.identifier: GuavaTemplateCache
focal_class.interfaces: implements TemplateCache
focal_class.class_method_signature: GuavaTemplateCache.GuavaTemplateCache(final Cache<TemplateSource, Template> cache)
focal_class.full_signature: public  GuavaTemplateCache(final Cache<TemplateSource, Template> cache)
focal_class.identifier: GuavaTemplateCache
focal_class.modifiers: public
focal_class.parameters: (final Cache<TemplateSource, Template> cache)
focal_class.signature:  GuavaTemplateCache(final Cache<TemplateSource, Template> cache)
focal_class.class_method_signature: GuavaTemplateCache.clear()
focal_class.full_signature: @Override public void clear()
focal_class.identifier: clear
focal_class.modifiers: @Override public
focal_class.parameters: ()
focal_class.return: void
focal_class.signature: void clear()
focal_class.class_method_signature: GuavaTemplateCache.evict(final TemplateSource source)
focal_class.full_signature: @Override public void evict(final TemplateSource source)
focal_class.identifier: evict
focal_class.modifiers: @Override public
focal_class.parameters: (final TemplateSource source)
focal_class.return: void
focal_class.signature: void evict(final TemplateSource source)
focal_class.class_method_signature: GuavaTemplateCache.get(final TemplateSource source, final Parser parser)
focal_class.full_signature: @Override public Template get(final TemplateSource source, final Parser parser)
focal_class.identifier: get
focal_class.modifiers: @Override public
focal_class.parameters: (final TemplateSource source, final Parser parser)
focal_class.return: Template
focal_class.signature: Template get(final TemplateSource source, final Parser parser)
focal_class.class_method_signature: GuavaTemplateCache.setReload(final boolean reload)
focal_class.full_signature: @Override public GuavaTemplateCache setReload(final boolean reload)
focal_class.identifier: setReload
focal_class.modifiers: @Override public
focal_class.parameters: (final boolean reload)
focal_class.return: GuavaTemplateCache
focal_class.signature: GuavaTemplateCache setReload(final boolean reload)
focal_class.class_method_signature: GuavaTemplateCache.launderThrowable(final TemplateSource source, final Throwable cause)
focal_class.full_signature: private RuntimeException launderThrowable(final TemplateSource source, final Throwable cause)
focal_class.identifier: launderThrowable
focal_class.modifiers: private
focal_class.parameters: (final TemplateSource source, final Throwable cause)
focal_class.return: RuntimeException
focal_class.signature: RuntimeException launderThrowable(final TemplateSource source, final Throwable cause)
focal_class.class_method_signature: GuavaTemplateCache.key(final TemplateSource source)
focal_class.full_signature: private TemplateSource key(final TemplateSource source)
focal_class.identifier: key
focal_class.modifiers: private
focal_class.parameters: (final TemplateSource source)
focal_class.return: TemplateSource
focal_class.signature: TemplateSource key(final TemplateSource source)
focal_method.body: @Override
    public Template get(final TemplateSource source, final Parser parser) throws IOException {
      requireNonNull(source, "The source is required.");
      requireNonNull(parser, "The parser is required.");
      try {
        return cache.get(key(source), () -> parser.parse(source));
      } catch (ExecutionException ex) {
        throw launderThrowable(source, ex.getCause());
      }
    }
focal_method.class_method_signature: GuavaTemplateCache.get(final TemplateSource source, final Parser parser)
focal_method.full_signature: @Override public Template get(final TemplateSource source, final Parser parser)
focal_method.identifier: get
focal_method.invocations: requireNonNull requireNonNull get key parse launderThrowable getCause
focal_method.modifiers: @Override public
focal_method.parameters: (final TemplateSource source, final Parser parser)
focal_method.return: Template
focal_method.signature: Template get(final TemplateSource source, final Parser parser)