←Older revision | Revision as of 06:45, 20 June 2016 | ||
Line 3: | Line 3: | ||
An example of [[HiddenBuilder]] can be found at [[Truffle]] [[API]]. There is {{truffle|com/oracle/truffle/api/vm|PolyglotEngine.Builder}} which constructs instances of {{truffle|com/oracle/truffle/api/vm|PolyglotEngine}}, but if you look at overall [[Truffle]] [[javadoc]], the [[builder]] isn't visible in the {{truffle|com/oracle/truffle/api/vm|package-summary}} overview. | An example of [[HiddenBuilder]] can be found at [[Truffle]] [[API]]. There is {{truffle|com/oracle/truffle/api/vm|PolyglotEngine.Builder}} which constructs instances of {{truffle|com/oracle/truffle/api/vm|PolyglotEngine}}, but if you look at overall [[Truffle]] [[javadoc]], the [[builder]] isn't visible in the {{truffle|com/oracle/truffle/api/vm|package-summary}} overview. | ||
- | [[ | + | The trick is to make the builder a non-static inner class (see [https://github.com/graalvm/truffle/blob/2dacd8599f40e31cb1ff2232264d664564880959/truffle/com.oracle.truffle.api.vm/src/com/oracle/truffle/api/vm/PolyglotEngine.java#L257 the code]) - then it isn't listed in the [[Javadoc]] classes overview. |
+ | |||
+ | [[Category:APIDesignPatterns]] | ||
+ | [[Category:APIDesignPatterns:Creational]] |