[
https://issues.apache.org/jira/browse/GROOVY-8038?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15811915#comment-15811915
]
Sinuhé commented on GROOVY-8038:
--------------------------------
Yes, I can do that. In fact I am doing this right now, but I'm finding myself
overriding most of the {{BaseTemplate}} public methods and cloning some private
methods too. IMHO, current private methods are solving basic needs that any
subclass should have access to.
Some examples of what I'm trying to do:
* Make a new method that, given a map, creates an {{<img>}} tag with some
{{data-*}} attributes needed for responsive images. It would be great to use
{{writeAttribute/s}}.
* I need a richer (more methods) model and writer. Ideally, I would only
override {{forkModel}} and {{createWriter}}, one or two lines of code per each.
Now I have to copy code of {{writeTo}} and two {{layout}} methods.
> Change BaseTemplate private methods to protected
> ------------------------------------------------
>
> Key: GROOVY-8038
> URL: https://issues.apache.org/jira/browse/GROOVY-8038
> Project: Groovy
> Issue Type: Improvement
> Components: Templating
> Affects Versions: 2.4.7
> Reporter: Sinuhé
> Priority: Minor
>
> *groovy.text.markup.BaseTemplate* is a good candidate for extending it with
> custom methods. The problem is that common methods such as *createWriter()*,
> *forkModel()*, *writeIndent()* should be accessible by extended class. For
> simplicity, I suggest to change all current private methods to protected.
> Fields should be accessible too.
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)