Class LanguageMap

All Implemented Interfaces:
com.imyeyu.java.bean.LanguageMapping
Direct Known Subclasses:
PropertiesLanguageMap

public class LanguageMap extends AbstractLanguageMapper
基于内存的语言映射实现

使用 HashMap 存储语言映射关系,支持二次映射、模糊匹配等功能

Version:
2024-04-03 10:11
Author:
夜雨
  • Field Details

  • Constructor Details

    • LanguageMap

      public LanguageMap(com.imyeyu.java.bean.Language.Enum language)
      默认构造
      Parameters:
      language - 所属语言
  • Method Details

    • union

      public void union(LanguageMap map)
      合并另一个语言映射表

      将另一个映射表的所有键值对合并到当前映射表中,如果存在相同键则覆盖

      Parameters:
      map - 要合并的语言映射表
    • add

      public void add(String key, String value)
      添加语言映射
      Parameters:
      key - 键
      value - 值
    • has

      public boolean has(String key)
      检查是否存在指定键的映射
      Parameters:
      key - 键
      Returns:
      true 为存在
    • text

      public String text(String key)
      获取文本,支持二次映射,没有找到映射时返回入参键
           test.msg=Hello world
           mapping=@test.msg
           no_mapping=\@test.msg
      
           Multilingual.text("mapping");    // Hello world
           Multilingual.text("no_mapping"); // @test.msg
       
      Parameters:
      key - 键
      Returns:
      文本值
    • text

      public String text(String key, String def)
      获取文本
      Specified by:
      text in interface com.imyeyu.java.bean.LanguageMapping
      Overrides:
      text in class AbstractLanguageMapper
      Parameters:
      key - 键
      def - 默认值(没有找到映射值时)
      Returns:
      获取结果
    • textArgs

      public String textArgs(String key, Map<String,Object> argsMap)
      插入参数获取文本
      Specified by:
      textArgs in interface com.imyeyu.java.bean.LanguageMapping
      Overrides:
      textArgs in class AbstractLanguageMapper
      Parameters:
      key - 键
      argsMap - 参数
      Returns:
      结果