Author: alexsmirnov
Date: 2009-08-05 21:35:36 -0400 (Wed, 05 Aug 2009)
New Revision: 15119
Added:
root/cdk/trunk/plugins/generator/src/main/java/org/richfaces/cdk/model/LibraryVisitor.java
root/cdk/trunk/plugins/generator/src/main/java/org/richfaces/cdk/model/package-info.java
Modified:
root/cdk/trunk/plugins/generator/src/main/java/org/richfaces/cdk/LibraryBuilder.java
root/cdk/trunk/plugins/generator/src/main/java/org/richfaces/cdk/model/Behavior.java
root/cdk/trunk/plugins/generator/src/main/java/org/richfaces/cdk/model/Component.java
root/cdk/trunk/plugins/generator/src/main/java/org/richfaces/cdk/model/Converter.java
root/cdk/trunk/plugins/generator/src/main/java/org/richfaces/cdk/model/JsfComponent.java
root/cdk/trunk/plugins/generator/src/main/java/org/richfaces/cdk/model/Listener.java
root/cdk/trunk/plugins/generator/src/main/java/org/richfaces/cdk/model/Renderer.java
root/cdk/trunk/plugins/generator/src/main/java/org/richfaces/cdk/model/Validator.java
Log:
Visitor pattern methods added.
Modified:
root/cdk/trunk/plugins/generator/src/main/java/org/richfaces/cdk/LibraryBuilder.java
===================================================================
---
root/cdk/trunk/plugins/generator/src/main/java/org/richfaces/cdk/LibraryBuilder.java 2009-08-06
00:41:54 UTC (rev 15118)
+++
root/cdk/trunk/plugins/generator/src/main/java/org/richfaces/cdk/LibraryBuilder.java 2009-08-06
01:35:36 UTC (rev 15119)
@@ -98,7 +98,7 @@
* <p class="changed_added_4_0">Builder method that creates new library
instance.</p>
* @return
*/
- protected ComponentLibrary createLibrary(){
+ public ComponentLibrary createLibrary(){
return new ComponentLibrary(getContext().getBaseName());
}
Modified:
root/cdk/trunk/plugins/generator/src/main/java/org/richfaces/cdk/model/Behavior.java
===================================================================
---
root/cdk/trunk/plugins/generator/src/main/java/org/richfaces/cdk/model/Behavior.java 2009-08-06
00:41:54 UTC (rev 15118)
+++
root/cdk/trunk/plugins/generator/src/main/java/org/richfaces/cdk/model/Behavior.java 2009-08-06
01:35:36 UTC (rev 15119)
@@ -32,6 +32,11 @@
private JsfType type;
+ @Override
+ public <R, P> R accept(LibraryVisitor<R, P> visitor, P param) {
+ return visitor.visit(this, param);
+ }
+
/* (non-Javadoc)
* @see org.richfaces.cdk.model.JsfComponent#getType()
*/
Modified:
root/cdk/trunk/plugins/generator/src/main/java/org/richfaces/cdk/model/Component.java
===================================================================
---
root/cdk/trunk/plugins/generator/src/main/java/org/richfaces/cdk/model/Component.java 2009-08-06
00:41:54 UTC (rev 15118)
+++
root/cdk/trunk/plugins/generator/src/main/java/org/richfaces/cdk/model/Component.java 2009-08-06
01:35:36 UTC (rev 15119)
@@ -76,6 +76,11 @@
this.type = type;
}
+ @Override
+ public <R, P> R accept(LibraryVisitor<R, P> visitor, P param) {
+ return visitor.visit(this, param);
+ }
+
/* (non-Javadoc)
* @see org.richfaces.cdk.model.JsfComponent#getType()
*/
Modified:
root/cdk/trunk/plugins/generator/src/main/java/org/richfaces/cdk/model/Converter.java
===================================================================
---
root/cdk/trunk/plugins/generator/src/main/java/org/richfaces/cdk/model/Converter.java 2009-08-06
00:41:54 UTC (rev 15118)
+++
root/cdk/trunk/plugins/generator/src/main/java/org/richfaces/cdk/model/Converter.java 2009-08-06
01:35:36 UTC (rev 15119)
@@ -32,6 +32,11 @@
private JsfType type;
+ @Override
+ public <R, P> R accept(LibraryVisitor<R, P> visitor, P param) {
+ return visitor.visit(this, param);
+ }
+
/* (non-Javadoc)
* @see org.richfaces.cdk.model.JsfComponent#getType()
*/
Modified:
root/cdk/trunk/plugins/generator/src/main/java/org/richfaces/cdk/model/JsfComponent.java
===================================================================
---
root/cdk/trunk/plugins/generator/src/main/java/org/richfaces/cdk/model/JsfComponent.java 2009-08-06
00:41:54 UTC (rev 15118)
+++
root/cdk/trunk/plugins/generator/src/main/java/org/richfaces/cdk/model/JsfComponent.java 2009-08-06
01:35:36 UTC (rev 15119)
@@ -10,5 +10,16 @@
* @return the type of JSF object.
*/
public JsfType getType();
+
+ /**
+ * <p class="changed_added_4_0"></p>
+ * @param <R>
+ * @param <P>
+ * @param visitor
+ * @param param
+ * @return
+ */
+ public <R,P> R accept(LibraryVisitor<R,P> visitor,
+ P param);
}
\ No newline at end of file
Added:
root/cdk/trunk/plugins/generator/src/main/java/org/richfaces/cdk/model/LibraryVisitor.java
===================================================================
---
root/cdk/trunk/plugins/generator/src/main/java/org/richfaces/cdk/model/LibraryVisitor.java
(rev 0)
+++
root/cdk/trunk/plugins/generator/src/main/java/org/richfaces/cdk/model/LibraryVisitor.java 2009-08-06
01:35:36 UTC (rev 15119)
@@ -0,0 +1,43 @@
+/*
+ * $Id$
+ *
+ * License Agreement.
+ *
+ * Rich Faces - Natural Ajax for Java Server Faces (JSF)
+ *
+ * Copyright (C) 2007 Exadel, Inc.
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License version 2.1 as published by the Free Software Foundation.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
+ */
+
+package org.richfaces.cdk.model;
+
+/**
+ * <p class="changed_added_4_0"></p>
+ * @author asmirnov(a)exadel.com
+ *
+ * @param <R> return type
+ * @param <P> optional parameter type.
+ */
+public interface LibraryVisitor<R,P> {
+
+ /**
+ * <p class="changed_added_4_0"></p>
+ * @param c
+ * @param param
+ * @return
+ */
+ public R visit(JsfComponent c, P param);
+
+}
Property changes on:
root/cdk/trunk/plugins/generator/src/main/java/org/richfaces/cdk/model/LibraryVisitor.java
___________________________________________________________________
Name: svn:mime-type
+ text/plain
Modified:
root/cdk/trunk/plugins/generator/src/main/java/org/richfaces/cdk/model/Listener.java
===================================================================
---
root/cdk/trunk/plugins/generator/src/main/java/org/richfaces/cdk/model/Listener.java 2009-08-06
00:41:54 UTC (rev 15118)
+++
root/cdk/trunk/plugins/generator/src/main/java/org/richfaces/cdk/model/Listener.java 2009-08-06
01:35:36 UTC (rev 15119)
@@ -32,6 +32,11 @@
private JsfType type;
+ @Override
+ public <R, P> R accept(LibraryVisitor<R, P> visitor, P param) {
+ return visitor.visit(this, param);
+ }
+
/* (non-Javadoc)
* @see org.richfaces.cdk.model.JsfComponent#getType()
*/
Modified:
root/cdk/trunk/plugins/generator/src/main/java/org/richfaces/cdk/model/Renderer.java
===================================================================
---
root/cdk/trunk/plugins/generator/src/main/java/org/richfaces/cdk/model/Renderer.java 2009-08-06
00:41:54 UTC (rev 15118)
+++
root/cdk/trunk/plugins/generator/src/main/java/org/richfaces/cdk/model/Renderer.java 2009-08-06
01:35:36 UTC (rev 15119)
@@ -32,6 +32,10 @@
private JsfType type;
+ @Override
+ public <R, P> R accept(LibraryVisitor<R, P> visitor, P param) {
+ return visitor.visit(this, param);
+ }
/* (non-Javadoc)
* @see org.richfaces.cdk.model.JsfComponent#getType()
*/
Modified:
root/cdk/trunk/plugins/generator/src/main/java/org/richfaces/cdk/model/Validator.java
===================================================================
---
root/cdk/trunk/plugins/generator/src/main/java/org/richfaces/cdk/model/Validator.java 2009-08-06
00:41:54 UTC (rev 15118)
+++
root/cdk/trunk/plugins/generator/src/main/java/org/richfaces/cdk/model/Validator.java 2009-08-06
01:35:36 UTC (rev 15119)
@@ -32,6 +32,11 @@
private JsfType type;
+ @Override
+ public <R, P> R accept(LibraryVisitor<R, P> visitor, P param) {
+ return visitor.visit(this, param);
+ }
+
/* (non-Javadoc)
* @see org.richfaces.cdk.model.JsfComponent#getType()
*/
Added:
root/cdk/trunk/plugins/generator/src/main/java/org/richfaces/cdk/model/package-info.java
===================================================================
---
root/cdk/trunk/plugins/generator/src/main/java/org/richfaces/cdk/model/package-info.java
(rev 0)
+++
root/cdk/trunk/plugins/generator/src/main/java/org/richfaces/cdk/model/package-info.java 2009-08-06
01:35:36 UTC (rev 15119)
@@ -0,0 +1,17 @@
+/**
+ * <h2>CDK library model classes used by all generation tasks.</h2>
+ * <p>CDK architecture seems like MVC-pattern implementation. The controller {@link
org.richfaces.cdk.LibraryBuilder} class
+ * generates model from different sources ( Java Annotations, XML files and so on ). That
model will be used to generate all necessary
+ * classes by the appropriate "renderers" that act as 'View' part of
pattern.</p>
+ * <p>That model:</p>
+ * <ul>
+ * <li>Contains all information about JSF library components and their
properties</li>
+ * <li>Encapsulates restrictions and references for model components, therefore it
should be modified by model metods only.</li>
+ * <li>Encapsulates <a
href="http://www.jboss.org/community/docs/DOC-13693">CDK naming
conventions</a></li>
+ * <li>Provides 'Visitor' pattern methods. see {@link LibraryVisitor} for
reference.</li>
+ * </ul>
+ *
+ */
+package org.richfaces.cdk.model;
+
+
Property changes on:
root/cdk/trunk/plugins/generator/src/main/java/org/richfaces/cdk/model/package-info.java
___________________________________________________________________
Name: svn:mime-type
+ text/plain