<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Recent changes to GeneratedDesign</title><link>https://sourceforge.net/p/visitorgenerator/wiki/GeneratedDesign/</link><description>Recent changes to GeneratedDesign</description><atom:link href="https://sourceforge.net/p/visitorgenerator/wiki/GeneratedDesign/feed" rel="self"/><language>en</language><lastBuildDate>Sun, 26 Mar 2017 19:21:55 -0000</lastBuildDate><atom:link href="https://sourceforge.net/p/visitorgenerator/wiki/GeneratedDesign/feed" rel="self" type="application/rss+xml"/><item><title>GeneratedDesign modified by Walter Lyrer</title><link>https://sourceforge.net/p/visitorgenerator/wiki/GeneratedDesign/</link><description>&lt;div class="markdown_content"&gt;&lt;pre&gt;&lt;/pre&gt;
&lt;/div&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Walter Lyrer</dc:creator><pubDate>Sun, 26 Mar 2017 19:21:55 -0000</pubDate><guid>https://sourceforge.nete4f6b291ba09796ebda09931779fb48d637af0d4</guid></item><item><title>Design of generated Visitor code modified by Walter Lyrer</title><link>https://sourceforge.net/p/visitorgenerator/wiki/Design%2520of%2520generated%2520Visitor%2520code/</link><description>&lt;div class="markdown_content"&gt;&lt;pre&gt;--- v2
+++ v3
@@ -64,10 +64,5 @@
 [Named Parameter Converter](https://sourceforge.net/projects/namedparameterconverter/)

-Notes
-=====
-
-The wiki uses [Markdown](/p/convertergenerator/wiki/markdown_syntax/) syntax.
-
 [[members limit=20]]
 [[download_button]]
&lt;/pre&gt;
&lt;/div&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Walter Lyrer</dc:creator><pubDate>Sun, 26 Mar 2017 18:23:04 -0000</pubDate><guid>https://sourceforge.net9a0ed4e244944d55633abb3cd3ffd4a122bb4004</guid></item><item><title>Design of generated Visitor code modified by Walter Lyrer</title><link>https://sourceforge.net/p/visitorgenerator/wiki/Design%2520of%2520generated%2520Visitor%2520code/</link><description>&lt;div class="markdown_content"&gt;&lt;pre&gt;&lt;/pre&gt;
&lt;/div&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Walter Lyrer</dc:creator><pubDate>Sun, 26 Mar 2017 17:38:57 -0000</pubDate><guid>https://sourceforge.net72457cf1cf21b235cf6a058e5f84180181693ba7</guid></item><item><title>GeneratedDesign modified by Walter Lyrer</title><link>https://sourceforge.net/p/visitorgenerator/wiki/GeneratedDesign/</link><description>&lt;div class="markdown_content"&gt;&lt;h1 id="design-of-generated-visitor-code"&gt;Design of generated Visitor code&lt;/h1&gt;
&lt;p&gt;The &lt;em&gt;Visitor Generator&lt;/em&gt; generates Visitor and RelationResolver classes using abstract classes from a framework which is also generated.&lt;/p&gt;
&lt;p&gt;Please note that the generated Visitors are always stateful.&lt;/p&gt;
&lt;h4 id="abstractclass-hierarchy"&gt;Abstract/Class Hierarchy&lt;/h4&gt;
&lt;ul&gt;
&lt;li&gt;&lt;code&gt;AbstractVisitor&lt;/code&gt;&lt;ul&gt;
&lt;li&gt;&lt;em&gt;Concrete Visitors&lt;/em&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;code&gt;AbstractRelationResolver&lt;/code&gt;&lt;ul&gt;
&lt;li&gt;&lt;em&gt;Concrete Relation Resolvers&lt;/em&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h4 id="api-methods"&gt;API methods&lt;/h4&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;Abstract class &lt;code&gt;AbstractVisitor&lt;/code&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Class parameters:&lt;ul&gt;
&lt;li&gt;CT: Type of the components in the component tree&lt;/li&gt;
&lt;li&gt;EX: Type of used exception&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;API visiting methods&lt;ul&gt;
&lt;li&gt;&lt;code&gt;void visit(CT component) throws EX&lt;/code&gt;&lt;ul&gt;
&lt;li&gt;Visits CT instance and traverses the related components according to the used RelationResolver&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;code&gt;void reset()&lt;/code&gt;&lt;ul&gt;
&lt;li&gt;Resets the visitor. This only makes the visitor reusable for a new component tree traversing. Not calling the reset method between two visits can lead to unexpected results.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Abstract class &lt;code&gt;AbstractRelationResolver&lt;/code&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Class parameters:&lt;ul&gt;
&lt;li&gt;CT: Type of the components in the component tree&lt;/li&gt;
&lt;li&gt;EX: Type of used exception&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;API relation methods&lt;ul&gt;
&lt;li&gt;&lt;code&gt;List&amp;lt;CT&amp;gt; getRelatedComponents(CT component)&lt;/code&gt;&lt;ul&gt;
&lt;li&gt;Gets the related components. This method is used by the Visitor using it.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;code&gt;boolean hasRelatedComponents(CT component)&lt;/code&gt;&lt;ul&gt;
&lt;li&gt;Checks if the component has related components or in other words is a leave node.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h1 id="copyright"&gt;Copyright&lt;/h1&gt;
&lt;p&gt;Copyright by Walter Lyrer&lt;/p&gt;
&lt;h1 id="disclaimer"&gt;Disclaimer&lt;/h1&gt;
&lt;p&gt;The author cannot be made responsible for any damage caused by the &lt;em&gt;Visitor Generator&lt;/em&gt;.&lt;br/&gt;
The usage of the &lt;em&gt;Visitor Generator&lt;/em&gt; is on own risk.&lt;br/&gt;
The code is designed and implemented on best know-how and with good intentions by the author.&lt;br/&gt;
Especially is to mention that the generated code of the &lt;em&gt;Visitor Generator&lt;/em&gt; is not guaranteed to run instantly correct.&lt;br/&gt;
Manual supervision is necessary.&lt;/p&gt;
&lt;h1 id="author"&gt;Author&lt;/h1&gt;
&lt;p&gt;Walter Lyrer&lt;/p&gt;
&lt;h4 id="other-projects-from-same-author"&gt;Other projects from same author&lt;/h4&gt;
&lt;p&gt;&lt;a class="" href="https://sourceforge.net/projects/generatoreclipseplugin/"&gt;Jacoge Java Generator Eclipse Plugin&lt;/a&gt;&lt;br/&gt;
&lt;a class="" href="https://sourceforge.net/projects/convertergenerator/"&gt;Converter Generator&lt;/a&gt;&lt;br/&gt;
&lt;a class="" href="https://sourceforge.net/projects/strategystategenerator/"&gt;Strategy/State Generator&lt;/a&gt;&lt;br/&gt;
&lt;a class="" href="https://sourceforge.net/projects/namedparameterconverter/"&gt;Named Parameter Converter&lt;/a&gt;&lt;/p&gt;
&lt;h1 id="notes"&gt;Notes&lt;/h1&gt;
&lt;p&gt;The wiki uses &lt;a class="" href="/p/convertergenerator/wiki/markdown_syntax/"&gt;Markdown&lt;/a&gt; syntax.&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;&lt;h6&gt;Project Members:&lt;/h6&gt;
	&lt;ul class="md-users-list"&gt;
		&lt;li&gt;&lt;a href="/u/lyrerwalter/"&gt;Walter Lyrer&lt;/a&gt; (admin)&lt;/li&gt;
		
	&lt;/ul&gt;&lt;br/&gt;
&lt;p&gt;&lt;span class="download-button-58d7e70685540d7422bff5df" style="margin-bottom: 1em; display: block;"&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;/p&gt;&lt;/div&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Walter Lyrer</dc:creator><pubDate>Sun, 26 Mar 2017 17:36:20 -0000</pubDate><guid>https://sourceforge.net51da66af5bd99e9035ca86f83afe3651b0057b0e</guid></item></channel></rss>