Skip to content

io microsphere i18n CompositeServiceMessageSource

github-actions[bot] edited this page Jul 9, 2026 · 12 revisions

CompositeServiceMessageSource

Type: Class | Module: microsphere-i18n-core | Package: io.microsphere.i18n | Since: 1.0.0

Source: microsphere-i18n-core/src/main/java/io/microsphere/i18n/CompositeServiceMessageSource.java

Overview

The Composite ServiceMessageSource class, No thread safe. Delegates to a list of child ServiceMessageSource instances.

Example Usage

`DefaultServiceMessageSource source = new DefaultServiceMessageSource("test");
  CompositeServiceMessageSource composite = new CompositeServiceMessageSource(
      Arrays.asList(EmptyServiceMessageSource.INSTANCE, source));
  composite.init();
  String msg = composite.getMessage("a"); // "测试-a" (from the DefaultServiceMessageSource)
  composite.destroy();
`

Declaration

public class CompositeServiceMessageSource implements ReloadableResourceServiceMessageSource

Author: Mercy

Version Information

  • Introduced in: 1.0.0
  • Current Project Version: 0.2.17-SNAPSHOT

Version Compatibility

This component is tested and compatible with the following Java versions:

Java Version Status
Java 17 ✅ Compatible
Java 21 ✅ Compatible
Java 25 ✅ Compatible

Examples

DefaultServiceMessageSource source = new DefaultServiceMessageSource("test");
  CompositeServiceMessageSource composite = new CompositeServiceMessageSource(
      Arrays.asList(EmptyServiceMessageSource.INSTANCE, source));
  composite.init();
  String msg = composite.getMessage("a"); // "测试-a" (from the DefaultServiceMessageSource)
  composite.destroy();

Method Examples

getDefaultSupportedLocales

CompositeServiceMessageSource composite = new CompositeServiceMessageSource();
CompositeServiceMessageSource composite = new CompositeServiceMessageSource(
      Arrays.asList(EmptyServiceMessageSource.INSTANCE, new DefaultServiceMessageSource("test")));

setServiceMessageSources

composite.setServiceMessageSources(Arrays.asList(source1, source2));

Usage

Maven Dependency

Add the following dependency to your pom.xml:

<dependency>
    <groupId>io.github.microsphere-projects</groupId>
    <artifactId>microsphere-i18n-core</artifactId>
    <version>${microsphere-i18n.version}</version>
</dependency>

Tip: Use the BOM (microsphere-i18n-dependencies) for consistent version management. See the Getting Started guide.

Import

import io.microsphere.i18n.CompositeServiceMessageSource;

API Reference

Public Methods

Method Description
getDefaultSupportedLocales Constructs an empty CompositeServiceMessageSource.
getSource
setServiceMessageSources Sets and sorts the list of composited ServiceMessageSource instances.
reload
reload
canReload
canReload
initializeResource
initializeResources
getInitializedResources
getEncoding
getServiceMessageSources Get the read-only list of the composited ServiceMessageSource
destroy

Method Details

getDefaultSupportedLocales

public Set<Locale> getDefaultSupportedLocales()

Constructs an empty CompositeServiceMessageSource.

Example Usage

`CompositeServiceMessageSource composite = new CompositeServiceMessageSource();
`

/ public CompositeServiceMessageSource() { this.serviceMessageSources = emptyList(); }

/** Constructs a CompositeServiceMessageSource with the given list of message sources.

Example Usage

`CompositeServiceMessageSource composite = new CompositeServiceMessageSource(
      Arrays.asList(EmptyServiceMessageSource.INSTANCE, new DefaultServiceMessageSource("test")));
`

setServiceMessageSources

public void setServiceMessageSources(List<? extends ServiceMessageSource> serviceMessageSources)

Sets and sorts the list of composited ServiceMessageSource instances.

Example Usage

`composite.setServiceMessageSources(Arrays.asList(source1, source2));
`

getServiceMessageSources

public List<ServiceMessageSource> getServiceMessageSources()

Get the read-only list of the composited ServiceMessageSource

See Also

  • AbstractServiceMessageSource
  • ServiceMessageSource
  • ResourceServiceMessageSource
  • ReloadableResourceServiceMessageSource

This documentation was auto-generated from the source code of microsphere-i18n.

Clone this wiki locally