如图所示,我们在使用elasticsearch时,首先先从Settings开始,那我们不禁想问,Settings到底为我们做了哪些事情?
那我们就得先看看这个Settings类时何方神圣了。这个Settings是一个final类,如下图所示:
从图中我们可以看到Settings实现了ToXcontent接口:
上图也就是ToXContent的庐山真面目了。
我们从上图就能看出来,这个类一共有五个成员,一个方法,一个字段,两个静态内部类,和一个内部接口。这个类如果以后碰到相应的内容我们再进行分析,大家有个印象即可。好,那我们现在继续看Settings类。
我们现在看看Settings的settingBuilder()方法:
如果我们看到,这使用了一个静态内部类来进行实例化。我们看看Builder类给我做了什么事情:
Builder类在初始化的时候实例化了一个LinkedHashMap,这个map到底干什么用,其实是放我们put进去的数据,请各位看第一图的put方法,其实就是把数据放入到这个map中,看下图:
我们调用Builder类的put方法把数据放入到map中后,我们调用了Builder的build()方法,我们看看这个方法干了什么事情:
代码很简单,就是将map给了Settings的构造函数,我们看看这个构造函数是怎么写的: