test_class.declarator: folder = new TemporaryFolder()
test_class.modifier: @Rule
      public
test_class.original_string: @Rule
      public TemporaryFolder folder = new TemporaryFolder();
test_class.type: TemporaryFolder
test_class.var_name: folder
test_class.file: restx-i18n/src/test/java/restx/i18n/DefaultMutableMessagesTest.java
test_class.identifier: DefaultMutableMessagesTest
test_case.body: @Test
      public void should_update_bundle() throws Exception {
          final File file = folder.newFile();
          Files.copy(new File("src/test/resources/restx/i18n/test.properties"), file);
  
          DefaultMutableMessages m = new DefaultMutableMessages("restx.i18n.mtest") {
              @Override
              protected URL getResource(String resourceName) {
                  try {
                      return file.toURI().toURL();
                  } catch (MalformedURLException e) {
                      throw new RuntimeException(e);
                  }
              }
          };
  
          assertThat(m.getMessage("key1", Locale.ENGLISH)).isEqualTo("Hello!");
          m.setMessageTemplate("key1", "Greetings!", Locale.ENGLISH);
          assertThat(m.getMessage("key1", Locale.ENGLISH)).isEqualTo("Greetings!");
  
          assertThat(file).hasContent("key1=Greetings!\nkey2=Hello {{who}}!");
      }
test_case.class_method_signature: DefaultMutableMessagesTest.should_update_bundle()
test_case.full_signature: @Test public void should_update_bundle()
test_case.identifier: should_update_bundle
test_case.invocations: newFile copy toURL toURI isEqualTo assertThat getMessage setMessageTemplate isEqualTo assertThat getMessage hasContent assertThat
test_case.modifiers: @Test public
test_case.parameters: ()
test_case.return: void
test_case.signature: void should_update_bundle()
focal_class.file: restx-i18n/src/main/java/restx/i18n/DefaultMutableMessages.java
focal_class.identifier: DefaultMutableMessages
focal_class.interfaces: implements MutableMessages
focal_class.class_method_signature: DefaultMutableMessages.DefaultMutableMessages(String baseName)
focal_class.full_signature: public  DefaultMutableMessages(String baseName)
focal_class.identifier: DefaultMutableMessages
focal_class.modifiers: public
focal_class.parameters: (String baseName)
focal_class.signature:  DefaultMutableMessages(String baseName)
focal_class.class_method_signature: DefaultMutableMessages.DefaultMutableMessages(String baseName, Charset charset)
focal_class.full_signature: public  DefaultMutableMessages(String baseName, Charset charset)
focal_class.identifier: DefaultMutableMessages
focal_class.modifiers: public
focal_class.parameters: (String baseName, Charset charset)
focal_class.signature:  DefaultMutableMessages(String baseName, Charset charset)
focal_class.class_method_signature: DefaultMutableMessages.setMessageTemplate(String key, String messageTemplate, Locale locale)
focal_class.full_signature: @Override public MutableMessages setMessageTemplate(String key, String messageTemplate, Locale locale)
focal_class.identifier: setMessageTemplate
focal_class.modifiers: @Override public
focal_class.parameters: (String key, String messageTemplate, Locale locale)
focal_class.return: MutableMessages
focal_class.signature: MutableMessages setMessageTemplate(String key, String messageTemplate, Locale locale)
focal_class.class_method_signature: DefaultMutableMessages.newResourceBundle(final URL resource, Reader input)
focal_class.full_signature: @Override protected PropertyResourceBundle newResourceBundle(final URL resource, Reader input)
focal_class.identifier: newResourceBundle
focal_class.modifiers: @Override protected
focal_class.parameters: (final URL resource, Reader input)
focal_class.return: PropertyResourceBundle
focal_class.signature: PropertyResourceBundle newResourceBundle(final URL resource, Reader input)
focal_class.class_method_signature: DefaultMutableMessages.getTimeToLive()
focal_class.full_signature: protected long getTimeToLive()
focal_class.identifier: getTimeToLive
focal_class.modifiers: protected
focal_class.parameters: ()
focal_class.return: long
focal_class.signature: long getTimeToLive()
focal_class.class_method_signature: DefaultMutableMessages.getResource(String resourceName)
focal_class.full_signature: protected URL getResource(String resourceName)
focal_class.identifier: getResource
focal_class.modifiers: protected
focal_class.parameters: (String resourceName)
focal_class.return: URL
focal_class.signature: URL getResource(String resourceName)
focal_class.class_method_signature: DefaultMutableMessages.updateProperties(File file, Charset charset, ImmutableMap<String, String> properties)
focal_class.full_signature: private static void updateProperties(File file, Charset charset, ImmutableMap<String, String> properties)
focal_class.identifier: updateProperties
focal_class.modifiers: private static
focal_class.parameters: (File file, Charset charset, ImmutableMap<String, String> properties)
focal_class.return: void
focal_class.signature: void updateProperties(File file, Charset charset, ImmutableMap<String, String> properties)
focal_class.superclass: extends DefaultMessages
focal_method.body: @Override
      public MutableMessages setMessageTemplate(String key, String messageTemplate, Locale locale) throws IOException {
          Optional<ResourceBundle> b = getBundle(locale);
          if (!b.isPresent()) {
              throw new IllegalStateException("bundle not found: " + getBaseName() + " - " + locale);
          }
          MutablePropertyResourceBundle bundle = (MutablePropertyResourceBundle) b.get();
          bundle.setMessageTemplate(key, messageTemplate);
          invalidateCachedKeysFor(locale);
          return this;
      }
focal_method.class_method_signature: DefaultMutableMessages.setMessageTemplate(String key, String messageTemplate, Locale locale)
focal_method.full_signature: @Override public MutableMessages setMessageTemplate(String key, String messageTemplate, Locale locale)
focal_method.identifier: setMessageTemplate
focal_method.invocations: getBundle isPresent getBaseName get setMessageTemplate invalidateCachedKeysFor
focal_method.modifiers: @Override public
focal_method.parameters: (String key, String messageTemplate, Locale locale)
focal_method.return: MutableMessages
focal_method.signature: MutableMessages setMessageTemplate(String key, String messageTemplate, Locale locale)