@@ -29,14 +29,12 @@ open class FileTreeNode private constructor() {
2929 get() = realChildren
3030
3131 var placeholders: MutableMap <String , String >? = null
32- get() = field ? : parent?.placeholders
3332
3433 // template for node, higher priority than fileTemplates
35- var template: String? = null
34+ private var template: String? = null
3635
3736 // template of filename
3837 var fileTemplates: MutableMap <String , String >? = null
39- get() = field ? : parent?.fileTemplates
4038
4139 private var realChildren = mutableSetOf<FileTreeNode >()
4240
@@ -118,7 +116,15 @@ open class FileTreeNode private constructor() {
118116 * get the real name replace with placeholder
119117 */
120118 fun getRealName (): String {
121- return name.replacePlaceholder(placeholders)
119+ return name.replacePlaceholder(getPlaceholderInherit())
120+ }
121+
122+ fun getFileTemplateInherit (): MutableMap <String , String >? {
123+ return fileTemplates ? : parent?.getFileTemplateInherit()
124+ }
125+
126+ fun getPlaceholderInherit (): MutableMap <String , String >? {
127+ return placeholders ? : parent?.getPlaceholderInherit()
122128 }
123129
124130 fun fileTemplate (fileName : String , template : String ) {
@@ -129,11 +135,11 @@ open class FileTreeNode private constructor() {
129135 }
130136
131137 fun hasFileTemplate (): Boolean {
132- return template != null || fileTemplates ?.containsKey(name) == true
138+ return template != null || getFileTemplateInherit() ?.containsKey(name) == true
133139 }
134140
135141 fun getTemplateName (): String? {
136- return template ? : fileTemplates ?.get(name)
142+ return template ? : getFileTemplateInherit() ?.get(name)
137143 }
138144
139145 fun placeholder (name : String , value : String ) {
0 commit comments