diff --git a/hutool-extra/pom.xml b/hutool-extra/pom.xml index db3b71e3d..f09050c69 100644 --- a/hutool-extra/pom.xml +++ b/hutool-extra/pom.xml @@ -323,6 +323,11 @@ 1.0.0 true + + com.github.houbb + pinyin + 0.2.0 + cglib cglib diff --git a/hutool-extra/src/main/java/cn/hutool/extra/pinyin/engine/pinyin/PinyinEngine.java b/hutool-extra/src/main/java/cn/hutool/extra/pinyin/engine/pinyin/PinyinEngine.java new file mode 100644 index 000000000..a2479d646 --- /dev/null +++ b/hutool-extra/src/main/java/cn/hutool/extra/pinyin/engine/pinyin/PinyinEngine.java @@ -0,0 +1,73 @@ +package cn.hutool.extra.pinyin.engine.pinyin; + +import com.github.houbb.pinyin.constant.enums.PinyinStyleEnum; +import com.github.houbb.pinyin.util.PinyinHelper; + +/** + * 封装了 Pinyin 的引擎。 + * + *

+ * pinyin(https://github.com/houbb/pinyin)封装。 + *

+ * + *

+ * 引入: + *

+ * <dependency>
+ *     <groupId>com.github.houbb</groupId>
+ *     <artifactId>pinyin</artifactId>
+ *     <version>0.2.0</version>
+ * </dependency>
+ * 
+ * + * @author looly + */ +public class PinyinEngine implements cn.hutool.extra.pinyin.PinyinEngine { + + /** + * 汉字拼音输出的格式 + */ + PinyinStyleEnum format; + + /** + * 构造 + */ + public PinyinEngine() { + this(null); + } + + /** + * 构造 + * + * @param format 格式 + */ + public PinyinEngine(PinyinStyleEnum format) { + init(format); + } + + /** + * 初始化 + * + * @param format 格式 + */ + public void init(PinyinStyleEnum format) { + if (null == format) { + format = PinyinStyleEnum.NORMAL; + } + this.format = format; + } + + @Override + public String getPinyin(char c) { + String result; + result = PinyinHelper.toPinyin(String.valueOf(c), format); + return result; + } + + @Override + public String getPinyin(String str, String separator) { + String result; + result = PinyinHelper.toPinyin(str, format); + return result; + } +} diff --git a/hutool-extra/src/main/java/cn/hutool/extra/pinyin/engine/pinyin/package-info.java b/hutool-extra/src/main/java/cn/hutool/extra/pinyin/engine/pinyin/package-info.java new file mode 100644 index 000000000..a05d63887 --- /dev/null +++ b/hutool-extra/src/main/java/cn/hutool/extra/pinyin/engine/pinyin/package-info.java @@ -0,0 +1,20 @@ +/** + * 封装了 Pinyin 的引擎。 + * + *

+ * pinyin(https://github.com/houbb/pinyin)封装。 + *

+ * + *

+ * 引入: + *

+ * <dependency>
+ *     <groupId>com.github.houbb</groupId>
+ *     <artifactId>pinyin</artifactId>
+ *     <version>0.2.0</version>
+ * </dependency>
+ * 
+ * + * @author looly + */ +package cn.hutool.extra.pinyin.engine.pinyin;