For insert objects in wiki text, create dedicated builders for each kind of object, rather than having static methods on each PageElement object.
For example, for internal links : extract all createInternalLink() methods into a dedicated builder class. Each builder class could be initialized with an existing object or created from scratch.
----
Progress for each kind of object:
- Categories
- [x] [[ https://github.com/WPCleaner/wpcleaner/blob/master/WikipediaCleaner/src/org/wikipediacleaner/api/data/contents/comment/ContentsCommentBuilder.java | Comments ]]
- External links
- Functions
- Images
- [x] [[ https://github.com/WPCleaner/wpcleaner/blob/master/WikipediaCleaner/src/org/wikipediacleaner/api/data/contents/ilink/ContentsInternalLinkBuilder.java | Internal links ]] (see also T267474)
- Interwiki links
- Language links
- List items
- Parameters
- Tables
- [x] [[ https://github.com/WPCleaner/wpcleaner/blob/master/WikipediaCleaner/src/org/wikipediacleaner/api/data/contents/tag/ContentsTagBuilder.java | Tags ]], [[ https://github.com/WPCleaner/wpcleaner/blob/master/WikipediaCleaner/src/org/wikipediacleaner/api/data/contents/tag/ContentsFullTagBuilder.java | Full tags ]]
- [x] [[ https://github.com/WPCleaner/wpcleaner/blob/master/WikipediaCleaner/src/org/wikipediacleaner/api/data/contents/title/TemplateBuilder.java | Templates ]]
- [x] [[ https://github.com/WPCleaner/wpcleaner/blob/master/WikipediaCleaner/src/org/wikipediacleaner/api/data/contents/title/ContentsTitleBuilder.java | Titles ]]