All Downloads are FREE. Search and download functionalities are using the official Maven repository.

com.ijson.config.api.IConfig Maven / Gradle / Ivy


package com.ijson.config.api;

import java.nio.charset.Charset;
import java.util.List;
import java.util.Map;

/**
 * @author *
 */
public interface IConfig {
    /**
     * 获取配置名
     *
     * @return 配置名
     */
    String getName();

    /**
     * 获取int 值
     *
     * @param key
     * @return 如若是int 则返回,否则返回0
     */
    int getInt(String key);

    /**
     * 获取key对应的int数值
     *
     * @param key        查找的key
     * @param defaultVal 找不到返回的默认值
     * @return 找到返回对应的int数值否则返回默认值
     */
    int getInt(String key, int defaultVal);

    /**
     * 返回long值
     *
     * @param key
     * @return 如果是long 类型 则返回  否则返回0L
     */
    long getLong(String key);

    /**
     * 获取key对应的long数值
     *
     * @param key        查找的key
     * @param defaultVal 找不到返回的默认值
     * @return 找到返回对应的long数值否则返回默认值
     */
    long getLong(String key, long defaultVal);

    /**
     * 返回布尔值类型
     *
     * @param key
     * @return 通过配置值获取对应值
     */
    boolean getBool(String key);

    /**
     * 获取key对应的boolean值
     *
     * @param key        查找的key
     * @param defaultVal 找不到返回的默认值
     * @return 找到返回对应的boolean值否则返回默认值
     */
    boolean getBool(String key, boolean defaultVal);

    /**
     * 获取double值
     *
     * @param key
     * @return 非double 返回0.0
     */
    double getDouble(String key);

    /**
     * 获取key对应的double数值
     *
     * @param key        查找的key
     * @param defaultVal 找不到返回的默认值
     * @return 找到返回对应的Double值否则返回默认值
     */
    double getDouble(String key, double defaultVal);

    /**
     * 获取key对应的String值
     *
     * @param key 查找的key
     * @return 找到返回对应的String值
     */
    String get(String key);

    /**
     * 获取key对应的String内容,如果找不到返回提供的默认值
     *
     * @param key        查找的key
     * @param defaultVal 提供的默认值
     * @return 找到返回对应的配置,否则返回默认值
     */
    String get(String key, String defaultVal);

    /**
     * 配置中是否有对应的key
     *
     * @param key 查找的key
     * @return 有的话返回true
     */
    boolean has(String key);

    /**
     * 获取所有配置信息
     *
     * @return 只读配置信息
     */
    Map getAll();

    /**
     * 获取配置的字节流信息
     *
     * @return 字节数组
     */
    byte[] getContent();

    /**
     * 把配置文件二进制内容用UTF8编码进行解码,并返回对应的字符串
     *
     * @return 字符串
     */
    String getString();

    /**
     * 把配置文件二进制内容用指定的编码进行解码,并返回对应的字符串
     *
     * @param charset 指定编码
     * @return 字符串
     */
    String getString(Charset charset);

    /**
     * 获取UTF8编码的文件行,默认会去掉 '#' 和 '/' 开头的注释行,并且把内容做trim
     *
     * @return 文件行
     */
    List getLines();

    /**
     * 获取指定编码的文件行,默认会去掉 '#' 和 '/' 开头的注释行,并且把内容做trim
     *
     * @param charset 指定编码
     * @return 文件行
     */
    List getLines(Charset charset);

    /**
     * 获取指定编码的文件行,根据是否去掉注释行,并且把内容做trim
     *
     * @param charset       指定编码
     * @param removeComment 是否去掉 '#' 和 '/' 开头的注释行
     * @return 文件行
     */
    List getLines(Charset charset, boolean removeComment);
}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy