You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@myfaces.apache.org by lu...@apache.org on 2011/04/07 08:00:02 UTC

svn commit: r1089748 [3/3] - in /myfaces/trinidad/trunk: ./ trinidad-api/ trinidad-api/src/main/conf/ trinidad-api/src/main/conf/META-INF/ trinidad-api/src/main/java/org/apache/myfaces/trinidad/component/ trinidad-api/src/main/java/org/apache/myfaces/t...

Modified: myfaces/trinidad/trunk/trinidad-api/src/main/java/org/apache/myfaces/trinidad/component/UIXCollection.java
URL: http://svn.apache.org/viewvc/myfaces/trinidad/trunk/trinidad-api/src/main/java/org/apache/myfaces/trinidad/component/UIXCollection.java?rev=1089748&r1=1089747&r2=1089748&view=diff
==============================================================================
--- myfaces/trinidad/trunk/trinidad-api/src/main/java/org/apache/myfaces/trinidad/component/UIXCollection.java (original)
+++ myfaces/trinidad/trunk/trinidad-api/src/main/java/org/apache/myfaces/trinidad/component/UIXCollection.java Thu Apr  7 06:00:00 2011
@@ -42,6 +42,7 @@ import javax.faces.event.FacesEvent;
 import javax.faces.event.PhaseId;
 import javax.faces.render.Renderer;
 
+import org.apache.myfaces.buildtools.maven2.plugin.builder.annotation.JSFComponent;
 import org.apache.myfaces.trinidad.bean.FacesBean;
 import org.apache.myfaces.trinidad.bean.PropertyKey;
 import org.apache.myfaces.trinidad.context.ComponentContextChange;
@@ -63,6 +64,7 @@ import org.apache.myfaces.trinidad.util.
  * And it wraps events that are queued, so that the correct rowData can be
  * restored on this component when the event is broadcast.
  */
+@JSFComponent
 public abstract class UIXCollection extends UIXComponentBase
   implements NamingContainer
 {

Modified: myfaces/trinidad/trunk/trinidad-api/src/main/java/org/apache/myfaces/trinidad/component/UIXComponent.java
URL: http://svn.apache.org/viewvc/myfaces/trinidad/trunk/trinidad-api/src/main/java/org/apache/myfaces/trinidad/component/UIXComponent.java?rev=1089748&r1=1089747&r2=1089748&view=diff
==============================================================================
--- myfaces/trinidad/trunk/trinidad-api/src/main/java/org/apache/myfaces/trinidad/component/UIXComponent.java (original)
+++ myfaces/trinidad/trunk/trinidad-api/src/main/java/org/apache/myfaces/trinidad/component/UIXComponent.java Thu Apr  7 06:00:00 2011
@@ -19,13 +19,11 @@
 package org.apache.myfaces.trinidad.component;
 
 import java.io.IOException;
-
 import java.util.Collection;
 import java.util.Iterator;
 import java.util.Map;
 
 import javax.el.MethodExpression;
-
 import javax.faces.component.NamingContainer;
 import javax.faces.component.StateHelper;
 import javax.faces.component.UIComponent;
@@ -39,6 +37,7 @@ import javax.faces.context.FacesContext;
 import javax.faces.event.PhaseId;
 import javax.faces.render.Renderer;
 
+import org.apache.myfaces.buildtools.maven2.plugin.builder.annotation.JSFComponent;
 import org.apache.myfaces.trinidad.bean.FacesBean;
 import org.apache.myfaces.trinidad.context.PartialPageContext;
 import org.apache.myfaces.trinidad.context.RenderingContext;
@@ -50,6 +49,7 @@ import org.apache.myfaces.trinidad.rende
 /**
  * Pure abstract base class for all UIX components.
  */
+@JSFComponent
 abstract public class UIXComponent extends UIComponent
 {
   /**

Modified: myfaces/trinidad/trunk/trinidad-api/src/main/java/org/apache/myfaces/trinidad/component/UIXComponentBase.java
URL: http://svn.apache.org/viewvc/myfaces/trinidad/trunk/trinidad-api/src/main/java/org/apache/myfaces/trinidad/component/UIXComponentBase.java?rev=1089748&r1=1089747&r2=1089748&view=diff
==============================================================================
--- myfaces/trinidad/trunk/trinidad-api/src/main/java/org/apache/myfaces/trinidad/component/UIXComponentBase.java (original)
+++ myfaces/trinidad/trunk/trinidad-api/src/main/java/org/apache/myfaces/trinidad/component/UIXComponentBase.java Thu Apr  7 06:00:00 2011
@@ -63,6 +63,7 @@ import javax.faces.event.SystemEventList
 import javax.faces.render.RenderKit;
 import javax.faces.render.Renderer;
 
+import org.apache.myfaces.buildtools.maven2.plugin.builder.annotation.JSFComponent;
 import org.apache.myfaces.trinidad.bean.AttachedObjects;
 import org.apache.myfaces.trinidad.bean.FacesBean;
 import org.apache.myfaces.trinidad.bean.FacesBeanFactory;
@@ -111,6 +112,7 @@ import org.apache.myfaces.trinidad.util.
  */
 // TODO Write Class Javadoc
 // TODO Thorough review against UIComponentBase
+@JSFComponent
 abstract public class UIXComponentBase extends UIXComponent
 {
   // Created up top to ensure it's present while we're processing

Modified: myfaces/trinidad/trunk/trinidad-api/src/main/java/org/apache/myfaces/trinidad/component/UIXHierarchy.java
URL: http://svn.apache.org/viewvc/myfaces/trinidad/trunk/trinidad-api/src/main/java/org/apache/myfaces/trinidad/component/UIXHierarchy.java?rev=1089748&r1=1089747&r2=1089748&view=diff
==============================================================================
--- myfaces/trinidad/trunk/trinidad-api/src/main/java/org/apache/myfaces/trinidad/component/UIXHierarchy.java (original)
+++ myfaces/trinidad/trunk/trinidad-api/src/main/java/org/apache/myfaces/trinidad/component/UIXHierarchy.java Thu Apr  7 06:00:00 2011
@@ -25,6 +25,8 @@ import javax.faces.component.UIComponent
 
 import javax.faces.component.visit.VisitCallback;
 import javax.faces.component.visit.VisitContext;
+
+import org.apache.myfaces.buildtools.maven2.plugin.builder.annotation.JSFComponent;
 import org.apache.myfaces.trinidad.model.CollectionModel;
 import org.apache.myfaces.trinidad.model.LocalRowKeyIndex;
 import org.apache.myfaces.trinidad.model.ModelUtils;
@@ -38,6 +40,7 @@ import org.apache.myfaces.trinidad.model
  *
  * @version $Name:  $ ($Revision: adfrt/faces/adf-faces-api/src/main/java/oracle/adf/view/faces/component/UIXHierarchy.java#0 $) $Date: 10-nov-2005.19:09:52 $
  */
+@JSFComponent
 public abstract class UIXHierarchy extends UIXCollection implements CollectionComponent, LocalRowKeyIndex, 
              TreeLocalRowKeyIndex
 {

Modified: myfaces/trinidad/trunk/trinidad-api/src/main/java/org/apache/myfaces/trinidad/component/UIXMenuHierarchy.java
URL: http://svn.apache.org/viewvc/myfaces/trinidad/trunk/trinidad-api/src/main/java/org/apache/myfaces/trinidad/component/UIXMenuHierarchy.java?rev=1089748&r1=1089747&r2=1089748&view=diff
==============================================================================
--- myfaces/trinidad/trunk/trinidad-api/src/main/java/org/apache/myfaces/trinidad/component/UIXMenuHierarchy.java (original)
+++ myfaces/trinidad/trunk/trinidad-api/src/main/java/org/apache/myfaces/trinidad/component/UIXMenuHierarchy.java Thu Apr  7 06:00:00 2011
@@ -18,6 +18,8 @@
  */
 package org.apache.myfaces.trinidad.component;
 
+import org.apache.myfaces.buildtools.maven2.plugin.builder.annotation.JSFComponent;
+
 /**
  * Base class for the Menu component.
  * <p>
@@ -26,6 +28,7 @@ package org.apache.myfaces.trinidad.comp
  *
  */
 // TODO these base classes need to be completely refactored
+@JSFComponent
 abstract public class UIXMenuHierarchy extends UIXHierarchy
 {
 

Modified: myfaces/trinidad/trunk/trinidad-api/src/main/java/org/apache/myfaces/trinidad/component/UIXNavigationHierarchy.java
URL: http://svn.apache.org/viewvc/myfaces/trinidad/trunk/trinidad-api/src/main/java/org/apache/myfaces/trinidad/component/UIXNavigationHierarchy.java?rev=1089748&r1=1089747&r2=1089748&view=diff
==============================================================================
--- myfaces/trinidad/trunk/trinidad-api/src/main/java/org/apache/myfaces/trinidad/component/UIXNavigationHierarchy.java (original)
+++ myfaces/trinidad/trunk/trinidad-api/src/main/java/org/apache/myfaces/trinidad/component/UIXNavigationHierarchy.java Thu Apr  7 06:00:00 2011
@@ -18,6 +18,7 @@
  */
 package org.apache.myfaces.trinidad.component;
 
+import org.apache.myfaces.buildtools.maven2.plugin.builder.annotation.JSFComponent;
 import org.apache.myfaces.trinidad.model.CollectionModel;
 import org.apache.myfaces.trinidad.model.MenuModel;
 import org.apache.myfaces.trinidad.model.ModelUtils;
@@ -30,6 +31,7 @@ import org.apache.myfaces.trinidad.model
  * will change in a future release.
  */
 // TODO these base classes need to be completely refactored
+@JSFComponent
 abstract public class UIXNavigationHierarchy extends UIXHierarchy
 {
 

Modified: myfaces/trinidad/trunk/trinidad-api/src/main/java/org/apache/myfaces/trinidad/convert/ColorConverter.java
URL: http://svn.apache.org/viewvc/myfaces/trinidad/trunk/trinidad-api/src/main/java/org/apache/myfaces/trinidad/convert/ColorConverter.java?rev=1089748&r1=1089747&r2=1089748&view=diff
==============================================================================
--- myfaces/trinidad/trunk/trinidad-api/src/main/java/org/apache/myfaces/trinidad/convert/ColorConverter.java (original)
+++ myfaces/trinidad/trunk/trinidad-api/src/main/java/org/apache/myfaces/trinidad/convert/ColorConverter.java Thu Apr  7 06:00:00 2011
@@ -32,6 +32,8 @@ import javax.faces.convert.Converter;
 import javax.faces.convert.ConverterException;
 import javax.faces.el.ValueBinding;
 
+import org.apache.myfaces.buildtools.maven2.plugin.builder.annotation.JSFConverter;
+import org.apache.myfaces.buildtools.maven2.plugin.builder.annotation.JSFProperty;
 import org.apache.myfaces.trinidad.bean.FacesBean;
 import org.apache.myfaces.trinidad.bean.PropertyKey;
 import org.apache.myfaces.trinidad.util.ComponentUtils;
@@ -114,6 +116,7 @@ import org.apache.myfaces.trinidad.loggi
  *
  * @version $Name:  $ ($Revision: adfrt/faces/adf-faces-api/src/main/java/oracle/adf/view/faces/convert/ColorConverter.java#0 $) $Date: 10-nov-2005.19:09:09 $
  */
+@JSFConverter(configExcluded=true)
 public class ColorConverter implements Converter, StateHolder
 {
 
@@ -332,6 +335,7 @@ public class ColorConverter implements C
    * <p>Retrun the patterns set for this converter.</p>
    * @return patterns
    */
+  @JSFProperty
   public String[] getPatterns()
   {
     return ComponentUtils.resolveStringArray(_facesBean.getProperty(_PATTERNS_KEY));
@@ -341,6 +345,7 @@ public class ColorConverter implements C
    * <p>Return if localized transparent text should be supported by this
    * converter.</p>
    */
+  @JSFProperty(defaultValue="false")
   public boolean isTransparentAllowed()
   {
     return ComponentUtils.resolveBoolean(_facesBean.getProperty(_TRANSPARENT_ALLOWED_KEY));
@@ -506,6 +511,7 @@ public class ColorConverter implements C
    * @return Custom error message.
    * @see #setMessageDetailConvert(String)
    */
+  @JSFProperty
   public String getMessageDetailConvert()
   {
     return ComponentUtils.resolveString(_facesBean.getProperty(_CONVERT_MESSAGE_DETAIL_KEY));
@@ -526,6 +532,7 @@ public class ColorConverter implements C
    * @return Custom hint message.
    * @see  #setHint(String)
    */
+  @JSFProperty(tagExcluded=true)
   public String getHint()
   {
     Object obj = _facesBean.getProperty(_HINT_FORMAT_KEY);

Modified: myfaces/trinidad/trunk/trinidad-api/src/main/java/org/apache/myfaces/trinidad/convert/DateTimeConverter.java
URL: http://svn.apache.org/viewvc/myfaces/trinidad/trunk/trinidad-api/src/main/java/org/apache/myfaces/trinidad/convert/DateTimeConverter.java?rev=1089748&r1=1089747&r2=1089748&view=diff
==============================================================================
--- myfaces/trinidad/trunk/trinidad-api/src/main/java/org/apache/myfaces/trinidad/convert/DateTimeConverter.java (original)
+++ myfaces/trinidad/trunk/trinidad-api/src/main/java/org/apache/myfaces/trinidad/convert/DateTimeConverter.java Thu Apr  7 06:00:00 2011
@@ -47,6 +47,8 @@ import javax.faces.convert.Converter;
 import javax.faces.convert.ConverterException;
 import javax.faces.el.ValueBinding;
 
+import org.apache.myfaces.buildtools.maven2.plugin.builder.annotation.JSFConverter;
+import org.apache.myfaces.buildtools.maven2.plugin.builder.annotation.JSFProperty;
 import org.apache.myfaces.trinidad.bean.FacesBean;
 import org.apache.myfaces.trinidad.bean.PropertyKey;
 import org.apache.myfaces.trinidad.context.RequestContext;
@@ -172,6 +174,7 @@ import org.apache.myfaces.trinidad.util.
  *
  * @version $Name:  $ ($Revision: adfrt/faces/adf-faces-api/src/main/java/oracle/adf/view/faces/convert/DateTimeConverter.java#0 $) $Date: 10-nov-2005.19:09:11 $
  */
+@JSFConverter(configExcluded=true)
 public class DateTimeConverter extends javax.faces.convert.DateTimeConverter
                                implements Converter, StateHolder
 
@@ -358,6 +361,7 @@ public class DateTimeConverter extends j
    * @return custom error message that was set.
    * @see #setMessageDetailConvertDate(String)
    */
+  @JSFProperty
   public String getMessageDetailConvertDate()
   {
     Object msg = _facesBean.getProperty(_CONVERT_DATE_MESSAGE_DETAIL_KEY);
@@ -383,6 +387,7 @@ public class DateTimeConverter extends j
    * @return custom error message that was set.</p>
    * @see #setMessageDetailConvertTime(java.lang.String)
    */
+  @JSFProperty
   public String getMessageDetailConvertTime()
   {
     Object msg =_facesBean.getProperty(_CONVERT_TIME_MESSAGE_DETAIL_KEY);
@@ -409,6 +414,7 @@ public class DateTimeConverter extends j
    * @return custom error message that was set.
    * @see #setMessageDetailConvertBoth(java.lang.String)
    */
+  @JSFProperty
   public String getMessageDetailConvertBoth()
   {
      Object msg = _facesBean.getProperty(_CONVERT_BOTH_MESSAGE_DETAIL_KEY);
@@ -799,6 +805,7 @@ public class DateTimeConverter extends j
   * request is used during call to <code>getAsObject</code> and
   * <code>getAsString</code>.</p>
   */
+  @JSFProperty
   @Override
   public Locale getLocale()
   {
@@ -825,6 +832,7 @@ public class DateTimeConverter extends j
    * <p>Return the format pattern to be used when formatting and
    * parsing dates and times.</p>
    */
+  @JSFProperty
   @Override
   public String getPattern()
   {
@@ -857,6 +865,7 @@ public class DateTimeConverter extends j
   * for the web-app is used. If time zone is not set for the web-app then
   * the default time zone of <code>GMT</code> is used.</p>
   */
+  @JSFProperty
   @Override
   public TimeZone getTimeZone()
   {
@@ -884,6 +893,7 @@ public class DateTimeConverter extends j
    * If not explicitly set, the default type, <code>date</code>
    * is returned.</p>
    */
+  @JSFProperty(defaultValue="date")
   @Override
   public String getType()
   {
@@ -913,6 +923,7 @@ public class DateTimeConverter extends j
    * @see #setDateStyle(java.lang.String)
    * @return date style
    */
+  @JSFProperty(defaultValue="shortish")
   @Override
   public String getDateStyle()
   {
@@ -939,6 +950,7 @@ public class DateTimeConverter extends j
    * <p>Return the style to be used to format or parse times.  If not set,
    * the default value, <code>short</code>, is returned.</p>
    */
+  @JSFProperty(defaultValue="short")
   @Override
   public String getTimeStyle()
   {
@@ -963,6 +975,7 @@ public class DateTimeConverter extends j
    * <p>Return the secondary pattern used to parse string when parsing by
    * pattern or style fails.</p>
    */
+  @JSFProperty
   public String getSecondaryPattern()
   {
     Object secPattern = _facesBean.getProperty(_SECONDARY_PATTERN_KEY);

Modified: myfaces/trinidad/trunk/trinidad-api/src/main/java/org/apache/myfaces/trinidad/convert/NumberConverter.java
URL: http://svn.apache.org/viewvc/myfaces/trinidad/trunk/trinidad-api/src/main/java/org/apache/myfaces/trinidad/convert/NumberConverter.java?rev=1089748&r1=1089747&r2=1089748&view=diff
==============================================================================
--- myfaces/trinidad/trunk/trinidad-api/src/main/java/org/apache/myfaces/trinidad/convert/NumberConverter.java (original)
+++ myfaces/trinidad/trunk/trinidad-api/src/main/java/org/apache/myfaces/trinidad/convert/NumberConverter.java Thu Apr  7 06:00:00 2011
@@ -38,6 +38,9 @@ import javax.faces.context.FacesContext;
 import javax.faces.convert.ConverterException;
 
 import javax.faces.el.ValueBinding;
+
+import org.apache.myfaces.buildtools.maven2.plugin.builder.annotation.JSFConverter;
+import org.apache.myfaces.buildtools.maven2.plugin.builder.annotation.JSFProperty;
 import org.apache.myfaces.trinidad.bean.FacesBean;
 import org.apache.myfaces.trinidad.bean.PropertyKey;
 import org.apache.myfaces.trinidad.context.RequestContext;
@@ -115,6 +118,7 @@ import org.apache.myfaces.trinidad.util.
  *
  * <p>
  */
+@JSFConverter(configExcluded=true)
 public class NumberConverter extends javax.faces.convert.NumberConverter
 {
 
@@ -491,6 +495,7 @@ public class NumberConverter extends jav
    * @see #setMessageDetailConvertPattern(String)
    *
    */
+  @JSFProperty
   public String getMessageDetailConvertPattern()
   {
     Object msg = _facesBean.getProperty(_CONVERT_PATTERN_MESSAGE_DETAIL_KEY);
@@ -517,6 +522,7 @@ public class NumberConverter extends jav
    * @return Custom error message.
    * @see #setMessageDetailConvertNumber(String)
    */
+  @JSFProperty
   public String getMessageDetailConvertNumber()
   {
     Object msg = _facesBean.getProperty(_CONVERT_NUMBER_MESSAGE_DETAIL_KEY);
@@ -544,6 +550,7 @@ public class NumberConverter extends jav
    * @return Custom error message.
    * @see #setMessageDetailConvertCurrency(String)
    */
+  @JSFProperty
   public String getMessageDetailConvertCurrency()
   {
     Object msg = _facesBean.getProperty(_CONVERT_CURRENCY_MESSAGE_DETAIL_KEY);
@@ -571,6 +578,7 @@ public class NumberConverter extends jav
    * @return Custom error message.
    * @see #setMessageDetailConvertPercent(String)
    */
+  @JSFProperty
   public String getMessageDetailConvertPercent()
   {
     Object msg = _facesBean.getProperty(_CONVERT_PERCENT_MESSAGE_DETAIL_KEY);
@@ -606,6 +614,7 @@ public class NumberConverter extends jav
     _facesBean.setProperty(_CURRENCY_CODE_KEY, currencyCode);
   }
 
+  @JSFProperty
   @Override
   public String getCurrencyCode()
   {
@@ -619,6 +628,7 @@ public class NumberConverter extends jav
     _facesBean.setProperty(_CURRENCY_SYMBOL_KEY, currencySymbol);
   }
 
+  @JSFProperty
   @Override
   public String getCurrencySymbol()
   {
@@ -633,6 +643,7 @@ public class NumberConverter extends jav
     _facesBean.setProperty(_GROUPING_USED_KEY, grpUsed);
   }
 
+  @JSFProperty(defaultValue="true")
   @Override
   public  boolean isGroupingUsed()
   {
@@ -646,6 +657,7 @@ public class NumberConverter extends jav
     _facesBean.setProperty(_INTEGER_ONLY_KEY, _getBooleanValue(integerOnly));
   }
 
+  @JSFProperty(defaultValue="false")
   @Override
   public boolean isIntegerOnly()
   {
@@ -674,6 +686,7 @@ public class NumberConverter extends jav
    * in the {@link javax.faces.component.UIViewRoot} for the current request
    * will be utilized during parsing.</p>
    */
+  @JSFProperty
   @Override
   public Locale getLocale()
   {
@@ -690,6 +703,7 @@ public class NumberConverter extends jav
     _facesBean.setProperty(_MAX_FRACTION_DIGITS_KEY, _getIntValue(maxFractionDigits));
   }
 
+  @JSFProperty
   @Override
   public int getMaxFractionDigits()
   {
@@ -703,6 +717,7 @@ public class NumberConverter extends jav
     _facesBean.setProperty(_MAX_INTEGER_DIGITS_KEY, _getIntValue(maxIntegerDigits));
   }
 
+  @JSFProperty
   @Override
   public int getMaxIntegerDigits()
   {
@@ -716,6 +731,7 @@ public class NumberConverter extends jav
     _facesBean.setProperty(_MIN_FRACTION_DIGITS_KEY, _getIntValue(minFractionDigits));
   }
 
+  @JSFProperty
   @Override
   public int getMinFractionDigits()
   {
@@ -729,6 +745,7 @@ public class NumberConverter extends jav
     _facesBean.setProperty(_MIN_INTEGER_DIGITS_KEY, _getIntValue(minIntegerDigits));
   }
 
+  @JSFProperty
   @Override
   public int getMinIntegerDigits()
   {
@@ -742,6 +759,7 @@ public class NumberConverter extends jav
     _facesBean.setProperty(_PATTERN_KEY, pattern);
   }
 
+  @JSFProperty
   @Override
   public String getPattern()
   {
@@ -808,6 +826,7 @@ public class NumberConverter extends jav
     _facesBean.setProperty(_TYPE_KEY, type);
   }
 
+  @JSFProperty(defaultValue="number")
   @Override
   public String getType()
   {

Modified: myfaces/trinidad/trunk/trinidad-api/src/main/java/org/apache/myfaces/trinidad/validator/ByteLengthValidator.java
URL: http://svn.apache.org/viewvc/myfaces/trinidad/trunk/trinidad-api/src/main/java/org/apache/myfaces/trinidad/validator/ByteLengthValidator.java?rev=1089748&r1=1089747&r2=1089748&view=diff
==============================================================================
--- myfaces/trinidad/trunk/trinidad-api/src/main/java/org/apache/myfaces/trinidad/validator/ByteLengthValidator.java (original)
+++ myfaces/trinidad/trunk/trinidad-api/src/main/java/org/apache/myfaces/trinidad/validator/ByteLengthValidator.java Thu Apr  7 06:00:00 2011
@@ -32,6 +32,8 @@ import javax.faces.el.ValueBinding;
 import javax.faces.validator.Validator;
 import javax.faces.validator.ValidatorException;
 
+import org.apache.myfaces.buildtools.maven2.plugin.builder.annotation.JSFProperty;
+import org.apache.myfaces.buildtools.maven2.plugin.builder.annotation.JSFValidator;
 import org.apache.myfaces.trinidad.bean.FacesBean;
 import org.apache.myfaces.trinidad.bean.PropertyKey;
 import org.apache.myfaces.trinidad.util.ComponentUtils;
@@ -75,6 +77,7 @@ import org.apache.myfaces.trinidad.loggi
  *
  * @version $Name:  $ ($Revision: adfrt/faces/adf-faces-api/src/main/java/oracle/adf/view/faces/validator/ByteLengthValidator.java#0 $) $Date: 10-nov-2005.19:08:32 $
  */
+@JSFValidator(configExcluded=true)
 public class ByteLengthValidator  implements StateHolder, Validator
 {
 
@@ -131,6 +134,7 @@ public class ByteLengthValidator  implem
    * <p>Return the character encoding set for this {@link Validator} or
    * <code>iso-8859-1</code> if it has not been set.</p>
    */
+  @JSFProperty(defaultValue="iso-8859-1")
   public String getEncoding()
   {
     Object encoding = _facesBean.getProperty(_ENCODING_KEY);
@@ -153,6 +157,7 @@ public class ByteLengthValidator  implem
    * Validator} or <code>zero</code> if it has not been
    * set.</p>
    */
+  @JSFProperty
   public int getMaximum()
   {
     return ComponentUtils.resolveInteger(_facesBean.getProperty(_MAXIMUM_KEY));
@@ -175,6 +180,7 @@ public class ByteLengthValidator  implem
    * @return Custom error message.
    * @see  #setMessageDetailMaximum(String)
    */
+  @JSFProperty
   public String getMessageDetailMaximum()
   {
     Object obj = _facesBean.getProperty(_MAXIMUM_MESSAGE_DETAIL_KEY);
@@ -196,6 +202,7 @@ public class ByteLengthValidator  implem
    * @return Custom hint message.
    * @see  #setHintMaximum(String)
    */
+  @JSFProperty(tagExcluded=true)
   public String getHintMaximum()
   {
     Object obj = _facesBean.getProperty(_HINT_MAXIMUM_KEY);
@@ -259,6 +266,7 @@ public class ByteLengthValidator  implem
     _facesBean.restoreState(context, state);
   }
 
+  @JSFProperty(istransient=true, tagExcluded=true)
   public boolean isTransient()
   {
     return (_isTransient);

Modified: myfaces/trinidad/trunk/trinidad-api/src/main/java/org/apache/myfaces/trinidad/validator/DateRestrictionValidator.java
URL: http://svn.apache.org/viewvc/myfaces/trinidad/trunk/trinidad-api/src/main/java/org/apache/myfaces/trinidad/validator/DateRestrictionValidator.java?rev=1089748&r1=1089747&r2=1089748&view=diff
==============================================================================
--- myfaces/trinidad/trunk/trinidad-api/src/main/java/org/apache/myfaces/trinidad/validator/DateRestrictionValidator.java (original)
+++ myfaces/trinidad/trunk/trinidad-api/src/main/java/org/apache/myfaces/trinidad/validator/DateRestrictionValidator.java Thu Apr  7 06:00:00 2011
@@ -40,6 +40,8 @@ import javax.faces.el.ValueBinding;
 import javax.faces.validator.Validator;
 import javax.faces.validator.ValidatorException;
 
+import org.apache.myfaces.buildtools.maven2.plugin.builder.annotation.JSFProperty;
+import org.apache.myfaces.buildtools.maven2.plugin.builder.annotation.JSFValidator;
 import org.apache.myfaces.trinidad.bean.FacesBean;
 import org.apache.myfaces.trinidad.bean.PropertyKey;
 import org.apache.myfaces.trinidad.context.RequestContext;
@@ -48,7 +50,7 @@ import org.apache.myfaces.trinidad.model
 import org.apache.myfaces.trinidad.util.ComponentUtils;
 import org.apache.myfaces.trinidad.util.MessageFactory;
 
-
+@JSFValidator(configExcluded=true)
 public class DateRestrictionValidator implements Validator, StateHolder {
 
 
@@ -96,6 +98,7 @@ public class DateRestrictionValidator im
     _initMaps();
   }
 
+  @JSFProperty
   public final String[] getInvalidMonths()
   {
     return (String[]) _facesBean.getProperty(_INVALID_MONTHS);
@@ -106,6 +109,7 @@ public class DateRestrictionValidator im
     _facesBean.setProperty(_INVALID_MONTHS, invalidMonths);
   }
   
+  @JSFProperty
   public final String[] getInvalidDaysOfWeek()
   {
     return (String[]) _facesBean.getProperty(_INVALID_DAYS_OF_WEEK);  }
@@ -115,6 +119,7 @@ public class DateRestrictionValidator im
     _facesBean.setProperty(_INVALID_DAYS_OF_WEEK, invalidDaysOfWeek);
   }
   
+  @JSFProperty
   public final DateListProvider getInvalidDays()
   {
     return (DateListProvider)_facesBean.getProperty(_INVALID_DAYS);
@@ -125,6 +130,7 @@ public class DateRestrictionValidator im
     _facesBean.setProperty(_INVALID_DAYS, invalidDays);
   }
   
+  @JSFProperty
   public final String getMessageDetailInvalidMonths()
   {
     Object messageDetailInvalidMonths = _facesBean.getProperty(_INVALID_MONTHS_MESSAGE_DETAIL_KEY);
@@ -136,6 +142,7 @@ public class DateRestrictionValidator im
     _facesBean.setProperty(_INVALID_MONTHS_MESSAGE_DETAIL_KEY, invalidMonths);
   }
   
+  @JSFProperty
   public final String getMessageDetailInvalidDaysOfWeek()
   {
     Object messageDetailInvalidDaysOfWeek = _facesBean.getProperty(_INVALID_DAYS_OF_WEEK_MESSAGE_DETAIL_KEY);
@@ -147,6 +154,7 @@ public class DateRestrictionValidator im
     _facesBean.setProperty(_INVALID_DAYS_OF_WEEK_MESSAGE_DETAIL_KEY, invalidDaysOfWeek);
   }
   
+  @JSFProperty
   public final String getMessageDetailInvalidDays()
   {
     Object messageDetailInvalidDays = _facesBean.getProperty(_INVALID_DAYS_MESSAGE_DETAIL_KEY);
@@ -173,6 +181,7 @@ public class DateRestrictionValidator im
    * @return Custom hint message.
    * @see  #setHintInvalidDaysOfWeek(String)
    */
+  @JSFProperty(tagExcluded=true)
   public String getHintInvalidDaysOfWeek()
   {
     Object obj = _facesBean.getProperty(_HINT_WEEK_KEY);
@@ -194,6 +203,7 @@ public class DateRestrictionValidator im
    * @return Custom hint message.
    * @see  #setHintInvalidMonths(String)
    */
+  @JSFProperty(tagExcluded=true)
   public String getHintInvalidMonths()
   {
     Object obj = _facesBean.getProperty(_HINT_MONTH_KEY);
@@ -269,6 +279,7 @@ public class DateRestrictionValidator im
     _facesBean.restoreState(context, state);
   }
 
+  @JSFProperty(istransient=true, tagExcluded=true)
   public boolean isTransient()
   {
     return (_transientValue);

Modified: myfaces/trinidad/trunk/trinidad-api/src/main/java/org/apache/myfaces/trinidad/validator/DateTimeRangeValidator.java
URL: http://svn.apache.org/viewvc/myfaces/trinidad/trunk/trinidad-api/src/main/java/org/apache/myfaces/trinidad/validator/DateTimeRangeValidator.java?rev=1089748&r1=1089747&r2=1089748&view=diff
==============================================================================
--- myfaces/trinidad/trunk/trinidad-api/src/main/java/org/apache/myfaces/trinidad/validator/DateTimeRangeValidator.java (original)
+++ myfaces/trinidad/trunk/trinidad-api/src/main/java/org/apache/myfaces/trinidad/validator/DateTimeRangeValidator.java Thu Apr  7 06:00:00 2011
@@ -33,6 +33,8 @@ import javax.faces.el.ValueBinding;
 import javax.faces.validator.Validator;
 import javax.faces.validator.ValidatorException;
 
+import org.apache.myfaces.buildtools.maven2.plugin.builder.annotation.JSFProperty;
+import org.apache.myfaces.buildtools.maven2.plugin.builder.annotation.JSFValidator;
 import org.apache.myfaces.trinidad.bean.FacesBean;
 import org.apache.myfaces.trinidad.bean.PropertyKey;
 import org.apache.myfaces.trinidad.util.ComponentUtils;
@@ -79,6 +81,7 @@ import org.apache.myfaces.trinidad.loggi
 // TODO The error message date/time reads
 // "Date cannot be before Mon Feb 16 16:11:13 PST 2004", but the
 // date should probably be in the format of the converter....
+@JSFValidator(configExcluded=true)
 public class DateTimeRangeValidator implements Validator, StateHolder {
 
 
@@ -160,6 +163,7 @@ public class DateTimeRangeValidator impl
    * Validator} or null if it has not been
    * set.
    */
+  @JSFProperty
   public Date getMaximum()
   {
     Object maxDate = _facesBean.getProperty(_MAXIMUM_KEY);
@@ -183,6 +187,7 @@ public class DateTimeRangeValidator impl
    * Validator}, or null if it has not been
    * set.
    */
+  @JSFProperty
   public Date getMinimum()
   {
     Object minDate = _facesBean.getProperty(_MINIMUM_KEY);
@@ -217,6 +222,7 @@ public class DateTimeRangeValidator impl
    * @return Custom error message.
    * @see #setMessageDetailMaximum(String)
    */
+  @JSFProperty
   public String getMessageDetailMaximum()
   {
     Object maxMsgDet = _facesBean.getProperty(_MAXIMUM_MESSAGE_DETAIL_KEY);
@@ -241,6 +247,7 @@ public class DateTimeRangeValidator impl
    * @return Custom error message.
    * @see #setMessageDetailMinimum(String)
    */
+  @JSFProperty
   public String getMessageDetailMinimum()
   {
     Object minMsgDet = _facesBean.getProperty(_MINIMUM_MESSAGE_DETAIL_KEY);
@@ -266,6 +273,7 @@ public class DateTimeRangeValidator impl
    * @return Custom error message.
    * @see #setMessageDetailNotInRange(String)
    */
+  @JSFProperty
   public String getMessageDetailNotInRange()
   {
     Object notInRngMsg = _facesBean.getProperty(_NOT_IN_RANGE_MESSAGE_DETAIL_KEY);
@@ -287,6 +295,7 @@ public class DateTimeRangeValidator impl
    * @return Custom hint message.
    * @see  #setHintMaximum(String)
    */
+  @JSFProperty(tagExcluded=true)
   public String getHintMaximum()
   {
     Object obj = _facesBean.getProperty(_HINT_MAXIMUM_KEY);
@@ -308,6 +317,7 @@ public class DateTimeRangeValidator impl
    * @return Custom hint message.
    * @see  #setHintMinimum(String)
    */
+  @JSFProperty(tagExcluded=true)
   public String getHintMinimum()
   {
     Object obj = _facesBean.getProperty(_HINT_MINIMUM_KEY);
@@ -329,6 +339,7 @@ public class DateTimeRangeValidator impl
    * @return Custom hint message.
    * @see  #setHintNotInRange(String)
    */
+  @JSFProperty(tagExcluded=true)
   public String getHintNotInRange()
   {
     Object obj = _facesBean.getProperty(_HINT_NOT_IN_RANGE);
@@ -521,6 +532,7 @@ public class DateTimeRangeValidator impl
     return result;
   }
 
+  @JSFProperty(istransient=true,tagExcluded=true)
   public boolean isTransient()
   {
     return (_transientValue);

Modified: myfaces/trinidad/trunk/trinidad-api/src/main/java/org/apache/myfaces/trinidad/validator/DoubleRangeValidator.java
URL: http://svn.apache.org/viewvc/myfaces/trinidad/trunk/trinidad-api/src/main/java/org/apache/myfaces/trinidad/validator/DoubleRangeValidator.java?rev=1089748&r1=1089747&r2=1089748&view=diff
==============================================================================
--- myfaces/trinidad/trunk/trinidad-api/src/main/java/org/apache/myfaces/trinidad/validator/DoubleRangeValidator.java (original)
+++ myfaces/trinidad/trunk/trinidad-api/src/main/java/org/apache/myfaces/trinidad/validator/DoubleRangeValidator.java Thu Apr  7 06:00:00 2011
@@ -27,6 +27,8 @@ import javax.faces.el.ValueBinding;
 import javax.faces.validator.Validator;
 import javax.faces.validator.ValidatorException;
 
+import org.apache.myfaces.buildtools.maven2.plugin.builder.annotation.JSFProperty;
+import org.apache.myfaces.buildtools.maven2.plugin.builder.annotation.JSFValidator;
 import org.apache.myfaces.trinidad.bean.FacesBean;
 import org.apache.myfaces.trinidad.bean.PropertyKey;
 import org.apache.myfaces.trinidad.util.ComponentUtils;
@@ -37,6 +39,7 @@ import org.apache.myfaces.trinidad.util.
  * <p>Implementation for <code>java.lang.Double</code> values.</p>
  *
  */
+@JSFValidator(configExcluded=true)
 public class DoubleRangeValidator extends javax.faces.validator.DoubleRangeValidator
 {
   
@@ -120,6 +123,7 @@ public class DoubleRangeValidator extend
    * Validator} or null if it has not been
    * set.
    */
+  @JSFProperty
   @Override
   public double getMaximum()
   {
@@ -147,6 +151,7 @@ public class DoubleRangeValidator extend
    * Validator}, or null if it has not been
    * set.
    */
+  @JSFProperty
   @Override
   public double getMinimum()
   {
@@ -185,6 +190,7 @@ public class DoubleRangeValidator extend
    * @return Custom error message.
    * @see #setMessageDetailMaximum(String)
    */
+  @JSFProperty
   public String getMessageDetailMaximum()
   {
     Object maxMsgDet = _facesBean.getProperty(_MAXIMUM_MESSAGE_DETAIL_KEY);
@@ -209,6 +215,7 @@ public class DoubleRangeValidator extend
    * @return Custom error message.
    * @see #setMessageDetailMinimum(String)
    */
+  @JSFProperty
   public String getMessageDetailMinimum()
   {
     Object minMsgDet = _facesBean.getProperty(_MINIMUM_MESSAGE_DETAIL_KEY);
@@ -234,6 +241,7 @@ public class DoubleRangeValidator extend
    * @return Custom error message.
    * @see #setMessageDetailNotInRange(String)
    */
+  @JSFProperty
   public String getMessageDetailNotInRange()
   {
     Object notInRngMsg = _facesBean.getProperty(_NOT_IN_RANGE_MESSAGE_DETAIL_KEY);
@@ -255,6 +263,7 @@ public class DoubleRangeValidator extend
    * @return Custom hint message.
    * @see  #setHintMaximum(String)
    */
+  @JSFProperty(tagExcluded=true)
   public String getHintMaximum()
   {
     Object obj = _facesBean.getProperty(_HINT_MAXIMUM_KEY);
@@ -266,6 +275,7 @@ public class DoubleRangeValidator extend
    * Overrides default hint message
    * @param hintMinimum Custom hint message.
    */
+  @JSFProperty(tagExcluded=true)
   public void setHintMinimum(String hintMinimum)
   {
     _facesBean.setProperty(_HINT_MINIMUM_KEY, hintMinimum);
@@ -297,6 +307,7 @@ public class DoubleRangeValidator extend
    * @return Custom hint message.
    * @see  #setHintNotInRange
    */
+  @JSFProperty(tagExcluded=true)
   public String getHintNotInRange()
   {
     Object obj = _facesBean.getProperty(_HINT_NOT_IN_RANGE);
@@ -448,6 +459,7 @@ public class DoubleRangeValidator extend
     return ValidatorUtils.getValueBinding(_facesBean, name);
   }
   
+  @JSFProperty(istransient=true, tagExcluded=true)
   @Override
   public boolean isTransient()
   {

Modified: myfaces/trinidad/trunk/trinidad-api/src/main/java/org/apache/myfaces/trinidad/validator/LengthValidator.java
URL: http://svn.apache.org/viewvc/myfaces/trinidad/trunk/trinidad-api/src/main/java/org/apache/myfaces/trinidad/validator/LengthValidator.java?rev=1089748&r1=1089747&r2=1089748&view=diff
==============================================================================
--- myfaces/trinidad/trunk/trinidad-api/src/main/java/org/apache/myfaces/trinidad/validator/LengthValidator.java (original)
+++ myfaces/trinidad/trunk/trinidad-api/src/main/java/org/apache/myfaces/trinidad/validator/LengthValidator.java Thu Apr  7 06:00:00 2011
@@ -28,6 +28,8 @@ import javax.faces.el.ValueBinding;
 import javax.faces.validator.Validator;
 import javax.faces.validator.ValidatorException;
 
+import org.apache.myfaces.buildtools.maven2.plugin.builder.annotation.JSFProperty;
+import org.apache.myfaces.buildtools.maven2.plugin.builder.annotation.JSFValidator;
 import org.apache.myfaces.trinidad.bean.FacesBean;
 import org.apache.myfaces.trinidad.bean.PropertyKey;
 import org.apache.myfaces.trinidad.util.ComponentUtils;
@@ -37,6 +39,7 @@ import org.apache.myfaces.trinidad.util.
  * <p>Implementation for length of <code>java.lang.String</code> values.</p>
  *
  */
+@JSFValidator(configExcluded=true)
 public class LengthValidator extends javax.faces.validator.LengthValidator
 {
   
@@ -127,6 +130,7 @@ public class LengthValidator extends jav
    * Validator} or null if it has not been
    * set.
    */
+  @JSFProperty
   @Override
   public int getMaximum()
   {
@@ -152,6 +156,7 @@ public class LengthValidator extends jav
    * Validator}, or null if it has not been
    * set.
    */
+  @JSFProperty
   @Override
   public int getMinimum()
   {
@@ -188,6 +193,7 @@ public class LengthValidator extends jav
    * @return Custom error message.
    * @see #setMessageDetailMaximum(String)
    */
+  @JSFProperty
   public String getMessageDetailMaximum()
   {
     Object maxMsgDet = _facesBean.getProperty(_MAXIMUM_MESSAGE_DETAIL_KEY);
@@ -212,6 +218,7 @@ public class LengthValidator extends jav
    * @return Custom error message.
    * @see #setMessageDetailMinimum(String)
    */
+  @JSFProperty
   public String getMessageDetailMinimum()
   {
     Object minMsgDet = _facesBean.getProperty(_MINIMUM_MESSAGE_DETAIL_KEY);
@@ -237,6 +244,7 @@ public class LengthValidator extends jav
    * @return Custom error message.
    * @see #setMessageDetailNotInRange(String)
    */
+  @JSFProperty
   public String getMessageDetailNotInRange()
   {
     Object notInRngMsg = _facesBean.getProperty(_NOT_IN_RANGE_MESSAGE_DETAIL_KEY);
@@ -264,6 +272,7 @@ public class LengthValidator extends jav
    * @return Custom error message.
    * @see #setMessageDetailExact(String)
    */
+  @JSFProperty
   public String getMessageDetailExact()
   {
     Object msg = _facesBean.getProperty(_EXACT_MESSAGE_DETAIL_KEY);
@@ -286,6 +295,7 @@ public class LengthValidator extends jav
    * @return Custom hint message.
    * @see  #setHintMaximum(String)
    */
+  @JSFProperty(tagExcluded=true)
   public String getHintMaximum()
   {
     Object obj = _facesBean.getProperty(_HINT_MAXIMUM_KEY);
@@ -307,6 +317,7 @@ public class LengthValidator extends jav
    * @return Custom hint message.
    * @see  #setHintMinimum(String)
    */
+  @JSFProperty(tagExcluded=true)
   public String getHintMinimum()
   {
     Object obj = _facesBean.getProperty(_HINT_MINIMUM_KEY);
@@ -328,6 +339,7 @@ public class LengthValidator extends jav
    * @return Custom hint message.
    * @see  #setHintNotInRange
    */
+  @JSFProperty(tagExcluded=true)
   public String getHintNotInRange()
   {
     Object obj = _facesBean.getProperty(_HINT_NOT_IN_RANGE);
@@ -350,6 +362,7 @@ public class LengthValidator extends jav
    * @return Custom hint message.
    * @see  #setHintExact
    */
+  @JSFProperty(tagExcluded=true)
   public String getHintExact()
   {
     Object obj = _facesBean.getProperty(_HINT_EXACT);
@@ -493,6 +506,7 @@ public class LengthValidator extends jav
     return ValidatorUtils.getValueBinding(_facesBean, name);
   }
   
+  @JSFProperty(istransient=true, tagExcluded=true)
   @Override
   public boolean isTransient()
   {

Modified: myfaces/trinidad/trunk/trinidad-api/src/main/java/org/apache/myfaces/trinidad/validator/LongRangeValidator.java
URL: http://svn.apache.org/viewvc/myfaces/trinidad/trunk/trinidad-api/src/main/java/org/apache/myfaces/trinidad/validator/LongRangeValidator.java?rev=1089748&r1=1089747&r2=1089748&view=diff
==============================================================================
--- myfaces/trinidad/trunk/trinidad-api/src/main/java/org/apache/myfaces/trinidad/validator/LongRangeValidator.java (original)
+++ myfaces/trinidad/trunk/trinidad-api/src/main/java/org/apache/myfaces/trinidad/validator/LongRangeValidator.java Thu Apr  7 06:00:00 2011
@@ -29,6 +29,8 @@ import javax.faces.el.ValueBinding;
 import javax.faces.validator.Validator;
 import javax.faces.validator.ValidatorException;
 
+import org.apache.myfaces.buildtools.maven2.plugin.builder.annotation.JSFProperty;
+import org.apache.myfaces.buildtools.maven2.plugin.builder.annotation.JSFValidator;
 import org.apache.myfaces.trinidad.bean.FacesBean;
 import org.apache.myfaces.trinidad.bean.PropertyKey;
 import org.apache.myfaces.trinidad.util.ComponentUtils;
@@ -39,6 +41,7 @@ import org.apache.myfaces.trinidad.util.
  * <p>Implementation for <code>java.lang.Long</code> values.</p>
  *
  */
+@JSFValidator(configExcluded=true)
 public class LongRangeValidator extends javax.faces.validator.LongRangeValidator
 {
   
@@ -123,6 +126,7 @@ public class LongRangeValidator extends 
    * Validator} or null if it has not been
    * set.
    */
+  @JSFProperty
   @Override
   public long getMaximum()
   {
@@ -150,6 +154,7 @@ public class LongRangeValidator extends 
    * Validator}, or null if it has not been
    * set.
    */
+  @JSFProperty
   @Override
   public long getMinimum()
   {
@@ -188,6 +193,7 @@ public class LongRangeValidator extends 
    * @return Custom error message.
    * @see #setMessageDetailMaximum(String)
    */
+  @JSFProperty
   public String getMessageDetailMaximum()
   {
     Object maxMsgDet = _facesBean.getProperty(_MAXIMUM_MESSAGE_DETAIL_KEY);
@@ -212,6 +218,7 @@ public class LongRangeValidator extends 
    * @return Custom error message.
    * @see #setMessageDetailMinimum(String)
    */
+  @JSFProperty
   public String getMessageDetailMinimum()
   {
     Object minMsgDet = _facesBean.getProperty(_MINIMUM_MESSAGE_DETAIL_KEY);
@@ -237,6 +244,7 @@ public class LongRangeValidator extends 
    * @return Custom error message.
    * @see #setMessageDetailNotInRange(String)
    */
+  @JSFProperty
   public String getMessageDetailNotInRange()
   {
     Object notInRngMsg = _facesBean.getProperty(_NOT_IN_RANGE_MESSAGE_DETAIL_KEY);
@@ -258,6 +266,7 @@ public class LongRangeValidator extends 
    * @return Custom hint message.
    * @see  #setHintMaximum(String)
    */
+  @JSFProperty(tagExcluded=true)
   public String getHintMaximum()
   {
     Object obj = _facesBean.getProperty(_HINT_MAXIMUM_KEY);
@@ -279,6 +288,7 @@ public class LongRangeValidator extends 
    * @return Custom hint message.
    * @see  #setHintMinimum(String)
    */
+  @JSFProperty(tagExcluded=true)
   public String getHintMinimum()
   {
     Object obj = _facesBean.getProperty(_HINT_MINIMUM_KEY);
@@ -451,6 +461,7 @@ public class LongRangeValidator extends 
     return ValidatorUtils.getValueBinding(_facesBean, name);
   }
   
+  @JSFProperty(istransient=true, tagExcluded=true)
   @Override
   public boolean isTransient()
   {

Modified: myfaces/trinidad/trunk/trinidad-api/src/main/java/org/apache/myfaces/trinidad/validator/RegExpValidator.java
URL: http://svn.apache.org/viewvc/myfaces/trinidad/trunk/trinidad-api/src/main/java/org/apache/myfaces/trinidad/validator/RegExpValidator.java?rev=1089748&r1=1089747&r2=1089748&view=diff
==============================================================================
--- myfaces/trinidad/trunk/trinidad-api/src/main/java/org/apache/myfaces/trinidad/validator/RegExpValidator.java (original)
+++ myfaces/trinidad/trunk/trinidad-api/src/main/java/org/apache/myfaces/trinidad/validator/RegExpValidator.java Thu Apr  7 06:00:00 2011
@@ -32,6 +32,8 @@ import javax.faces.el.ValueBinding;
 import javax.faces.validator.Validator;
 import javax.faces.validator.ValidatorException;
 
+import org.apache.myfaces.buildtools.maven2.plugin.builder.annotation.JSFProperty;
+import org.apache.myfaces.buildtools.maven2.plugin.builder.annotation.JSFValidator;
 import org.apache.myfaces.trinidad.bean.FacesBean;
 import org.apache.myfaces.trinidad.bean.PropertyKey;
 import org.apache.myfaces.trinidad.util.ComponentUtils;
@@ -62,6 +64,7 @@ import org.apache.myfaces.trinidad.loggi
  *
  * @version $Name:  $ ($Revision: adfrt/faces/adf-faces-api/src/main/java/oracle/adf/view/faces/validator/RegExpValidator.java#0 $) $Date: 10-nov-2005.19:08:34 $
  */
+@JSFValidator(configExcluded=true)
 public class RegExpValidator implements StateHolder, Validator
 {
   /**
@@ -151,6 +154,7 @@ public class RegExpValidator implements 
     }
   }
 
+  @JSFProperty(istransient=true, tagExcluded=true)
   public boolean isTransient()
   {
     return (_isTransient);
@@ -306,6 +310,7 @@ public class RegExpValidator implements 
    * @return Custom hint message.
    * @see  #setHint(String)
    */
+  @JSFProperty(tagExcluded=true)
   public String getHint()
   {
     Object obj = _facesBean.getProperty(_HINT_PATTERN_KEY);
@@ -333,6 +338,7 @@ public class RegExpValidator implements 
    * <p>Return the pattern value to be enforced by this {@link
    * Validator}
    */
+  @JSFProperty
   public String getPattern()
   {
     Object obj = _facesBean.getProperty(_PATTERN_KEY);
@@ -356,6 +362,7 @@ public class RegExpValidator implements 
    * @return Custom error message
    * @see #setMessageDetailNoMatch(String)
    */
+  @JSFProperty
   public String getMessageDetailNoMatch()
   {
     Object obj = _facesBean.getProperty(_NO_MATCH_MESSAGE_DETAIL_KEY);

Modified: myfaces/trinidad/trunk/trinidad-impl/pom.xml
URL: http://svn.apache.org/viewvc/myfaces/trinidad/trunk/trinidad-impl/pom.xml?rev=1089748&r1=1089747&r2=1089748&view=diff
==============================================================================
--- myfaces/trinidad/trunk/trinidad-impl/pom.xml (original)
+++ myfaces/trinidad/trunk/trinidad-impl/pom.xml Thu Apr  7 06:00:00 2011
@@ -73,6 +73,11 @@
     </dependency>
 
     <dependency>
+      <groupId>org.apache.myfaces.buildtools</groupId>
+      <artifactId>myfaces-builder-annotations</artifactId>
+    </dependency>
+      
+    <dependency>
       <groupId>org.apache.myfaces.trinidad</groupId>
       <artifactId>trinidad-build</artifactId>
     </dependency>
@@ -132,6 +137,41 @@
   <build>
     <plugins>
       <plugin>
+          <groupId>org.apache.myfaces.buildtools</groupId>
+          <artifactId>myfaces-builder-plugin</artifactId>
+          <executions>
+              <execution>
+                  <goals>
+                      <goal>build-metadata</goal>
+                  </goals>
+              </execution>
+              <!-- TODO: This execution uses myfaces-builder-plugin to generate
+              jsp tag classes. Note it only generates component tag classes, not
+              converter and validator ones (there are other goals on builder
+              plugin to do that). The generated stuff can be compared using a diff
+              tool against maven-faces-plugin generated files. For now the intention
+              is just test if myfaces-builder-plugin integration is working well and
+              it is possible to use it to generate custom components extending from
+              trinidad. See TRINIDAD-1409 for details. 
+              <execution>
+                <id>make_tags</id>
+                <configuration>
+                    <modelIds>
+                        <modelId>trinidad-api</modelId>
+                    </modelIds>
+                    <jsfVersion>20</jsfVersion>
+                    <templateTagName>trinidadTagClass20.vm</templateTagName>
+                    <packageContains>org.apache.myfaces.trinidadinternal</packageContains>
+                </configuration>
+                <goals>
+                    <goal>make-tags</goal>
+                </goals>
+              </execution>
+              -->
+          </executions>
+      </plugin>
+          
+      <plugin>
         <groupId>org.apache.myfaces.trinidadbuild</groupId>
         <artifactId>maven-jdev-plugin</artifactId>
         <configuration>

Modified: myfaces/trinidad/trunk/trinidad-impl/src/main/java/org/apache/myfaces/trinidadinternal/convert/ByteConverter.java
URL: http://svn.apache.org/viewvc/myfaces/trinidad/trunk/trinidad-impl/src/main/java/org/apache/myfaces/trinidadinternal/convert/ByteConverter.java?rev=1089748&r1=1089747&r2=1089748&view=diff
==============================================================================
--- myfaces/trinidad/trunk/trinidad-impl/src/main/java/org/apache/myfaces/trinidadinternal/convert/ByteConverter.java (original)
+++ myfaces/trinidad/trunk/trinidad-impl/src/main/java/org/apache/myfaces/trinidadinternal/convert/ByteConverter.java Thu Apr  7 06:00:00 2011
@@ -25,6 +25,7 @@ import javax.faces.component.UIComponent
 import javax.faces.context.FacesContext;
 import javax.faces.convert.ConverterException;
 
+import org.apache.myfaces.buildtools.maven2.plugin.builder.annotation.JSFConverter;
 import org.apache.myfaces.trinidad.convert.ClientConverter;
 
 /**
@@ -32,6 +33,7 @@ import org.apache.myfaces.trinidad.conve
  *
  *
  */
+@JSFConverter(id="javax.faces.Byte")
 public class ByteConverter extends javax.faces.convert.ByteConverter
                            implements ClientConverter
 {

Modified: myfaces/trinidad/trunk/trinidad-impl/src/main/java/org/apache/myfaces/trinidadinternal/convert/ColorConverter.java
URL: http://svn.apache.org/viewvc/myfaces/trinidad/trunk/trinidad-impl/src/main/java/org/apache/myfaces/trinidadinternal/convert/ColorConverter.java?rev=1089748&r1=1089747&r2=1089748&view=diff
==============================================================================
--- myfaces/trinidad/trunk/trinidad-impl/src/main/java/org/apache/myfaces/trinidadinternal/convert/ColorConverter.java (original)
+++ myfaces/trinidad/trunk/trinidad-impl/src/main/java/org/apache/myfaces/trinidadinternal/convert/ColorConverter.java Thu Apr  7 06:00:00 2011
@@ -27,6 +27,8 @@ import java.util.Map;
 import javax.faces.component.UIComponent;
 import javax.faces.context.FacesContext;
 
+import org.apache.myfaces.buildtools.maven2.plugin.builder.annotation.JSFConverter;
+import org.apache.myfaces.buildtools.maven2.plugin.builder.annotation.JSFJspProperty;
 import org.apache.myfaces.trinidad.convert.ClientConverter;
 import org.apache.myfaces.trinidad.logging.TrinidadLogger;
 import org.apache.myfaces.trinidadinternal.renderkit.core.xhtml.XhtmlUtils;
@@ -36,6 +38,11 @@ import org.apache.myfaces.trinidadintern
 
 /**
  */
+@JSFConverter(
+        name="tr:convertColor",
+        bodyContent="empty",
+        id="org.apache.myfaces.trinidad.Color",
+        tagClass="org.apache.myfaces.trinidadinternal.taglib.convert.ConvertColorTag")
 public class ColorConverter extends org.apache.myfaces.trinidad.convert.ColorConverter
                             implements ClientConverter
 {

Modified: myfaces/trinidad/trunk/trinidad-impl/src/main/java/org/apache/myfaces/trinidadinternal/convert/DateTimeConverter.java
URL: http://svn.apache.org/viewvc/myfaces/trinidad/trunk/trinidad-impl/src/main/java/org/apache/myfaces/trinidadinternal/convert/DateTimeConverter.java?rev=1089748&r1=1089747&r2=1089748&view=diff
==============================================================================
--- myfaces/trinidad/trunk/trinidad-impl/src/main/java/org/apache/myfaces/trinidadinternal/convert/DateTimeConverter.java (original)
+++ myfaces/trinidad/trunk/trinidad-impl/src/main/java/org/apache/myfaces/trinidadinternal/convert/DateTimeConverter.java Thu Apr  7 06:00:00 2011
@@ -40,6 +40,7 @@ import javax.faces.convert.Converter;
 import javax.faces.convert.ConverterException;
 import javax.el.ValueExpression;
 
+import org.apache.myfaces.buildtools.maven2.plugin.builder.annotation.JSFConverter;
 import org.apache.myfaces.trinidad.component.UIXEditableValue;
 import org.apache.myfaces.trinidad.context.RenderingContext;
 import org.apache.myfaces.trinidad.convert.ClientConverter;
@@ -61,6 +62,11 @@ import org.apache.myfaces.trinidadintern
  *          adfrt/faces/adf-faces-impl/src/main/java/oracle/adfinternal/view/faces/convert/DateTimeConverter.java#0 $)
  *          $Date: 10-nov-2005.19:06:22 $
  */
+@JSFConverter(
+        name="tr:convertDateTime",
+        bodyContent="empty",
+        id="org.apache.myfaces.trinidad.DateTime",
+        tagClass="org.apache.myfaces.trinidadinternal.taglib.convert.ConvertDateTimeTag")
 public class DateTimeConverter extends
     org.apache.myfaces.trinidad.convert.DateTimeConverter implements
     ClientConverter

Modified: myfaces/trinidad/trunk/trinidad-impl/src/main/java/org/apache/myfaces/trinidadinternal/convert/DoubleConverter.java
URL: http://svn.apache.org/viewvc/myfaces/trinidad/trunk/trinidad-impl/src/main/java/org/apache/myfaces/trinidadinternal/convert/DoubleConverter.java?rev=1089748&r1=1089747&r2=1089748&view=diff
==============================================================================
--- myfaces/trinidad/trunk/trinidad-impl/src/main/java/org/apache/myfaces/trinidadinternal/convert/DoubleConverter.java (original)
+++ myfaces/trinidad/trunk/trinidad-impl/src/main/java/org/apache/myfaces/trinidadinternal/convert/DoubleConverter.java Thu Apr  7 06:00:00 2011
@@ -25,12 +25,14 @@ import javax.faces.component.UIComponent
 import javax.faces.context.FacesContext;
 import javax.faces.convert.ConverterException;
 
+import org.apache.myfaces.buildtools.maven2.plugin.builder.annotation.JSFConverter;
 import org.apache.myfaces.trinidad.convert.ClientConverter;
 
 /**
  * <p>Implementation for <code>java.lang.Double</code> values.</p>
  *
  */
+@JSFConverter(id="javax.faces.Double")
 public class DoubleConverter extends javax.faces.convert.DoubleConverter
                              implements ClientConverter
 {

Modified: myfaces/trinidad/trunk/trinidad-impl/src/main/java/org/apache/myfaces/trinidadinternal/convert/FloatConverter.java
URL: http://svn.apache.org/viewvc/myfaces/trinidad/trunk/trinidad-impl/src/main/java/org/apache/myfaces/trinidadinternal/convert/FloatConverter.java?rev=1089748&r1=1089747&r2=1089748&view=diff
==============================================================================
--- myfaces/trinidad/trunk/trinidad-impl/src/main/java/org/apache/myfaces/trinidadinternal/convert/FloatConverter.java (original)
+++ myfaces/trinidad/trunk/trinidad-impl/src/main/java/org/apache/myfaces/trinidadinternal/convert/FloatConverter.java Thu Apr  7 06:00:00 2011
@@ -25,12 +25,14 @@ import javax.faces.component.UIComponent
 import javax.faces.context.FacesContext;
 import javax.faces.convert.ConverterException;
 
+import org.apache.myfaces.buildtools.maven2.plugin.builder.annotation.JSFConverter;
 import org.apache.myfaces.trinidad.convert.ClientConverter;
 
 /**
  * <p>Implementation for <code>java.lang.Float</code> values.</p>
  *
  */
+@JSFConverter(id="javax.faces.Float")
 public class FloatConverter extends javax.faces.convert.FloatConverter
                             implements ClientConverter
 {

Modified: myfaces/trinidad/trunk/trinidad-impl/src/main/java/org/apache/myfaces/trinidadinternal/convert/IntegerConverter.java
URL: http://svn.apache.org/viewvc/myfaces/trinidad/trunk/trinidad-impl/src/main/java/org/apache/myfaces/trinidadinternal/convert/IntegerConverter.java?rev=1089748&r1=1089747&r2=1089748&view=diff
==============================================================================
--- myfaces/trinidad/trunk/trinidad-impl/src/main/java/org/apache/myfaces/trinidadinternal/convert/IntegerConverter.java (original)
+++ myfaces/trinidad/trunk/trinidad-impl/src/main/java/org/apache/myfaces/trinidadinternal/convert/IntegerConverter.java Thu Apr  7 06:00:00 2011
@@ -25,6 +25,7 @@ import javax.faces.component.UIComponent
 import javax.faces.context.FacesContext;
 import javax.faces.convert.ConverterException;
 
+import org.apache.myfaces.buildtools.maven2.plugin.builder.annotation.JSFConverter;
 import org.apache.myfaces.trinidad.convert.ClientConverter;
 import org.apache.myfaces.trinidad.util.IntegerUtils;
 
@@ -33,6 +34,7 @@ import org.apache.myfaces.trinidad.util.
  *
  *
  */
+@JSFConverter(id="javax.faces.Integer")
 public class IntegerConverter extends javax.faces.convert.IntegerConverter
                               implements ClientConverter
 {

Modified: myfaces/trinidad/trunk/trinidad-impl/src/main/java/org/apache/myfaces/trinidadinternal/convert/LongConverter.java
URL: http://svn.apache.org/viewvc/myfaces/trinidad/trunk/trinidad-impl/src/main/java/org/apache/myfaces/trinidadinternal/convert/LongConverter.java?rev=1089748&r1=1089747&r2=1089748&view=diff
==============================================================================
--- myfaces/trinidad/trunk/trinidad-impl/src/main/java/org/apache/myfaces/trinidadinternal/convert/LongConverter.java (original)
+++ myfaces/trinidad/trunk/trinidad-impl/src/main/java/org/apache/myfaces/trinidadinternal/convert/LongConverter.java Thu Apr  7 06:00:00 2011
@@ -26,6 +26,7 @@ import javax.faces.context.FacesContext;
 
 import javax.faces.convert.ConverterException;
 
+import org.apache.myfaces.buildtools.maven2.plugin.builder.annotation.JSFConverter;
 import org.apache.myfaces.trinidad.convert.ClientConverter;
 import org.apache.myfaces.trinidad.util.IntegerUtils;
 
@@ -34,6 +35,7 @@ import org.apache.myfaces.trinidad.util.
  * <p>Implementation for <code>java.lang.Long</code> values.</p>
  *
  */
+@JSFConverter(id="javax.faces.Long")
 public class LongConverter extends javax.faces.convert.LongConverter
                            implements ClientConverter
 {

Modified: myfaces/trinidad/trunk/trinidad-impl/src/main/java/org/apache/myfaces/trinidadinternal/convert/NumberConverter.java
URL: http://svn.apache.org/viewvc/myfaces/trinidad/trunk/trinidad-impl/src/main/java/org/apache/myfaces/trinidadinternal/convert/NumberConverter.java?rev=1089748&r1=1089747&r2=1089748&view=diff
==============================================================================
--- myfaces/trinidad/trunk/trinidad-impl/src/main/java/org/apache/myfaces/trinidadinternal/convert/NumberConverter.java (original)
+++ myfaces/trinidad/trunk/trinidad-impl/src/main/java/org/apache/myfaces/trinidadinternal/convert/NumberConverter.java Thu Apr  7 06:00:00 2011
@@ -30,11 +30,17 @@ import javax.faces.context.FacesContext;
 import javax.faces.convert.ConverterException;
 
 import org.apache.myfaces.trinidad.context.RenderingContext;
+import org.apache.myfaces.buildtools.maven2.plugin.builder.annotation.JSFConverter;
 import org.apache.myfaces.trinidad.convert.ClientConverter;
 import org.apache.myfaces.trinidad.logging.TrinidadLogger;
 import org.apache.myfaces.trinidad.util.IntegerUtils;
 import org.apache.myfaces.trinidadinternal.util.JsonUtils;
 
+@JSFConverter(
+        name="tr:convertNumber",
+        bodyContent="empty",
+        id="org.apache.myfaces.trinidad.Number",
+        tagClass="org.apache.myfaces.trinidadinternal.taglib.convert.ConvertNumberTag")
 public class NumberConverter extends org.apache.myfaces.trinidad.convert.NumberConverter
                    implements ClientConverter
 {

Modified: myfaces/trinidad/trunk/trinidad-impl/src/main/java/org/apache/myfaces/trinidadinternal/convert/ShortConverter.java
URL: http://svn.apache.org/viewvc/myfaces/trinidad/trunk/trinidad-impl/src/main/java/org/apache/myfaces/trinidadinternal/convert/ShortConverter.java?rev=1089748&r1=1089747&r2=1089748&view=diff
==============================================================================
--- myfaces/trinidad/trunk/trinidad-impl/src/main/java/org/apache/myfaces/trinidadinternal/convert/ShortConverter.java (original)
+++ myfaces/trinidad/trunk/trinidad-impl/src/main/java/org/apache/myfaces/trinidadinternal/convert/ShortConverter.java Thu Apr  7 06:00:00 2011
@@ -25,6 +25,7 @@ import javax.faces.component.UIComponent
 import javax.faces.context.FacesContext;
 import javax.faces.convert.ConverterException;
 
+import org.apache.myfaces.buildtools.maven2.plugin.builder.annotation.JSFConverter;
 import org.apache.myfaces.trinidad.convert.ClientConverter;
 
 /**
@@ -32,6 +33,7 @@ import org.apache.myfaces.trinidad.conve
  *
  *
  */
+@JSFConverter(id="javax.faces.Short")
 public class ShortConverter extends javax.faces.convert.ShortConverter
                             implements ClientConverter
 {

Modified: myfaces/trinidad/trunk/trinidad-impl/src/main/java/org/apache/myfaces/trinidadinternal/validator/ByteLengthValidator.java
URL: http://svn.apache.org/viewvc/myfaces/trinidad/trunk/trinidad-impl/src/main/java/org/apache/myfaces/trinidadinternal/validator/ByteLengthValidator.java?rev=1089748&r1=1089747&r2=1089748&view=diff
==============================================================================
--- myfaces/trinidad/trunk/trinidad-impl/src/main/java/org/apache/myfaces/trinidadinternal/validator/ByteLengthValidator.java (original)
+++ myfaces/trinidad/trunk/trinidad-impl/src/main/java/org/apache/myfaces/trinidadinternal/validator/ByteLengthValidator.java Thu Apr  7 06:00:00 2011
@@ -31,6 +31,7 @@ import java.util.Set;
 import javax.faces.component.UIComponent;
 import javax.faces.context.FacesContext;
 
+import org.apache.myfaces.buildtools.maven2.plugin.builder.annotation.JSFValidator;
 import org.apache.myfaces.trinidad.logging.TrinidadLogger;
 import org.apache.myfaces.trinidad.validator.ClientValidator;
 import org.apache.myfaces.trinidadinternal.util.JsonUtils;
@@ -39,6 +40,11 @@ import org.apache.myfaces.trinidadintern
  * <p>Enables byte length validation at the client side. </p>
  *
  */
+@JSFValidator(
+        name="tr:validateByteLength",
+        bodyContent="empty",
+        id="org.apache.myfaces.trinidad.ByteLength",
+        tagClass="org.apache.myfaces.trinidadinternal.taglib.validator.ValidateByteLengthTag")
 public class ByteLengthValidator
               extends org.apache.myfaces.trinidad.validator.ByteLengthValidator
               implements ClientValidator

Modified: myfaces/trinidad/trunk/trinidad-impl/src/main/java/org/apache/myfaces/trinidadinternal/validator/DateRestrictionValidator.java
URL: http://svn.apache.org/viewvc/myfaces/trinidad/trunk/trinidad-impl/src/main/java/org/apache/myfaces/trinidadinternal/validator/DateRestrictionValidator.java?rev=1089748&r1=1089747&r2=1089748&view=diff
==============================================================================
--- myfaces/trinidad/trunk/trinidad-impl/src/main/java/org/apache/myfaces/trinidadinternal/validator/DateRestrictionValidator.java (original)
+++ myfaces/trinidad/trunk/trinidad-impl/src/main/java/org/apache/myfaces/trinidadinternal/validator/DateRestrictionValidator.java Thu Apr  7 06:00:00 2011
@@ -30,6 +30,7 @@ import javax.faces.component.UIComponent
 import javax.faces.context.FacesContext;
 import javax.faces.validator.ValidatorException;
 
+import org.apache.myfaces.buildtools.maven2.plugin.builder.annotation.JSFValidator;
 import org.apache.myfaces.trinidad.validator.ClientValidator;
 import org.apache.myfaces.trinidadinternal.convert.GenericConverterFactory;
 import org.apache.myfaces.trinidadinternal.util.JsonUtils;
@@ -37,6 +38,11 @@ import org.apache.myfaces.trinidadintern
 /**
  *
  */
+@JSFValidator(
+        name="tr:validateDateRestriction",
+        bodyContent="empty",
+        id="org.apache.myfaces.trinidad.DateRestriction",
+        tagClass="org.apache.myfaces.trinidadinternal.taglib.validator.ValidateDateRestrictionTag")
 public class DateRestrictionValidator extends org.apache.myfaces.trinidad.validator.DateRestrictionValidator
                                        implements ClientValidator
 {

Modified: myfaces/trinidad/trunk/trinidad-impl/src/main/java/org/apache/myfaces/trinidadinternal/validator/DateTimeRangeValidator.java
URL: http://svn.apache.org/viewvc/myfaces/trinidad/trunk/trinidad-impl/src/main/java/org/apache/myfaces/trinidadinternal/validator/DateTimeRangeValidator.java?rev=1089748&r1=1089747&r2=1089748&view=diff
==============================================================================
--- myfaces/trinidad/trunk/trinidad-impl/src/main/java/org/apache/myfaces/trinidadinternal/validator/DateTimeRangeValidator.java (original)
+++ myfaces/trinidad/trunk/trinidad-impl/src/main/java/org/apache/myfaces/trinidadinternal/validator/DateTimeRangeValidator.java Thu Apr  7 06:00:00 2011
@@ -19,30 +19,32 @@
 package org.apache.myfaces.trinidadinternal.validator;
 
 import java.io.IOException;
-
 import java.text.SimpleDateFormat;
-
 import java.util.Collection;
 import java.util.Collections;
 import java.util.Date;
 import java.util.HashMap;
 import java.util.Map;
-
 import java.util.TimeZone;
 
-import javax.faces.component.UIComponent;
 import javax.faces.component.EditableValueHolder;
+import javax.faces.component.UIComponent;
 import javax.faces.context.FacesContext;
 import javax.faces.convert.Converter;
 import javax.faces.validator.ValidatorException;
 
+import org.apache.myfaces.buildtools.maven2.plugin.builder.annotation.JSFValidator;
 import org.apache.myfaces.trinidad.context.RequestContext;
 import org.apache.myfaces.trinidad.logging.TrinidadLogger;
 import org.apache.myfaces.trinidad.validator.ClientValidator;
-import org.apache.myfaces.trinidadinternal.convert.DateTimeConverter;
 import org.apache.myfaces.trinidadinternal.convert.GenericConverterFactory;
 import org.apache.myfaces.trinidadinternal.util.JsonUtils;
 
+@JSFValidator(
+        name="tr:validateDateTimeRange",
+        bodyContent="empty",
+        id="org.apache.myfaces.trinidad.DateTimeRange",
+        tagClass="org.apache.myfaces.trinidadinternal.taglib.validator.ValidateDateTimeRangeTag")
 public class DateTimeRangeValidator extends org.apache.myfaces.trinidad.validator.DateTimeRangeValidator
                                        implements ClientValidator
 {

Modified: myfaces/trinidad/trunk/trinidad-impl/src/main/java/org/apache/myfaces/trinidadinternal/validator/DoubleRangeValidator.java
URL: http://svn.apache.org/viewvc/myfaces/trinidad/trunk/trinidad-impl/src/main/java/org/apache/myfaces/trinidadinternal/validator/DoubleRangeValidator.java?rev=1089748&r1=1089747&r2=1089748&view=diff
==============================================================================
--- myfaces/trinidad/trunk/trinidad-impl/src/main/java/org/apache/myfaces/trinidadinternal/validator/DoubleRangeValidator.java (original)
+++ myfaces/trinidad/trunk/trinidad-impl/src/main/java/org/apache/myfaces/trinidadinternal/validator/DoubleRangeValidator.java Thu Apr  7 06:00:00 2011
@@ -27,6 +27,7 @@ import java.util.Map;
 import javax.faces.component.UIComponent;
 import javax.faces.context.FacesContext;
 
+import org.apache.myfaces.buildtools.maven2.plugin.builder.annotation.JSFValidator;
 import org.apache.myfaces.trinidad.validator.ClientValidator;
 import org.apache.myfaces.trinidadinternal.util.JsonUtils;
 
@@ -34,6 +35,11 @@ import org.apache.myfaces.trinidadintern
  * <p>Implementation for <code>java.lang.Long</code> values.</p>
  *
  */
+@JSFValidator(
+        name="tr:validateDoubleRange",
+        bodyContent="empty",
+        id="org.apache.myfaces.trinidad.DoubleRange",
+        tagClass="org.apache.myfaces.trinidadinternal.taglib.validator.ValidateDoubleRangeTag")
 public class DoubleRangeValidator extends org.apache.myfaces.trinidad.validator.DoubleRangeValidator
                                 implements ClientValidator
 {

Modified: myfaces/trinidad/trunk/trinidad-impl/src/main/java/org/apache/myfaces/trinidadinternal/validator/LengthValidator.java
URL: http://svn.apache.org/viewvc/myfaces/trinidad/trunk/trinidad-impl/src/main/java/org/apache/myfaces/trinidadinternal/validator/LengthValidator.java?rev=1089748&r1=1089747&r2=1089748&view=diff
==============================================================================
--- myfaces/trinidad/trunk/trinidad-impl/src/main/java/org/apache/myfaces/trinidadinternal/validator/LengthValidator.java (original)
+++ myfaces/trinidad/trunk/trinidad-impl/src/main/java/org/apache/myfaces/trinidadinternal/validator/LengthValidator.java Thu Apr  7 06:00:00 2011
@@ -27,6 +27,7 @@ import java.util.Map;
 import javax.faces.component.UIComponent;
 import javax.faces.context.FacesContext;
 
+import org.apache.myfaces.buildtools.maven2.plugin.builder.annotation.JSFValidator;
 import org.apache.myfaces.trinidad.util.IntegerUtils;
 import org.apache.myfaces.trinidad.validator.ClientValidator;
 import org.apache.myfaces.trinidadinternal.util.JsonUtils;
@@ -35,6 +36,11 @@ import org.apache.myfaces.trinidadintern
  * <p>Implementation for length of <code>java.lang.String</code> values.</p>
  *
  */
+@JSFValidator(
+        name="tr:validateLength",
+        bodyContent="empty",
+        id="org.apache.myfaces.trinidad.Length",
+        tagClass="org.apache.myfaces.trinidadinternal.taglib.validator.ValidateLengthTag")
 public class LengthValidator extends org.apache.myfaces.trinidad.validator.LengthValidator
                                 implements ClientValidator
 {

Modified: myfaces/trinidad/trunk/trinidad-impl/src/main/java/org/apache/myfaces/trinidadinternal/validator/LongRangeValidator.java
URL: http://svn.apache.org/viewvc/myfaces/trinidad/trunk/trinidad-impl/src/main/java/org/apache/myfaces/trinidadinternal/validator/LongRangeValidator.java?rev=1089748&r1=1089747&r2=1089748&view=diff
==============================================================================
--- myfaces/trinidad/trunk/trinidad-impl/src/main/java/org/apache/myfaces/trinidadinternal/validator/LongRangeValidator.java (original)
+++ myfaces/trinidad/trunk/trinidad-impl/src/main/java/org/apache/myfaces/trinidadinternal/validator/LongRangeValidator.java Thu Apr  7 06:00:00 2011
@@ -27,6 +27,7 @@ import java.util.Map;
 import javax.faces.component.UIComponent;
 import javax.faces.context.FacesContext;
 
+import org.apache.myfaces.buildtools.maven2.plugin.builder.annotation.JSFValidator;
 import org.apache.myfaces.trinidad.util.IntegerUtils;
 import org.apache.myfaces.trinidad.validator.ClientValidator;
 import org.apache.myfaces.trinidadinternal.util.JsonUtils;
@@ -35,6 +36,11 @@ import org.apache.myfaces.trinidadintern
  * <p>Implementation for <code>java.lang.Long</code> values.</p>
  *
  */
+@JSFValidator(
+        name="tr:validateLongRange",
+        bodyContent="empty",
+        id="org.apache.myfaces.trinidad.LongRange",
+        tagClass="org.apache.myfaces.trinidadinternal.taglib.validator.ValidateLongRangeTag")
 public class LongRangeValidator extends org.apache.myfaces.trinidad.validator.LongRangeValidator
                                 implements ClientValidator
 {

Modified: myfaces/trinidad/trunk/trinidad-impl/src/main/java/org/apache/myfaces/trinidadinternal/validator/RegExpValidator.java
URL: http://svn.apache.org/viewvc/myfaces/trinidad/trunk/trinidad-impl/src/main/java/org/apache/myfaces/trinidadinternal/validator/RegExpValidator.java?rev=1089748&r1=1089747&r2=1089748&view=diff
==============================================================================
--- myfaces/trinidad/trunk/trinidad-impl/src/main/java/org/apache/myfaces/trinidadinternal/validator/RegExpValidator.java (original)
+++ myfaces/trinidad/trunk/trinidad-impl/src/main/java/org/apache/myfaces/trinidadinternal/validator/RegExpValidator.java Thu Apr  7 06:00:00 2011
@@ -27,10 +27,16 @@ import java.util.Map;
 import javax.faces.component.UIComponent;
 import javax.faces.context.FacesContext;
 
+import org.apache.myfaces.buildtools.maven2.plugin.builder.annotation.JSFValidator;
 import org.apache.myfaces.trinidad.validator.ClientValidator;
 import org.apache.myfaces.trinidadinternal.renderkit.core.xhtml.XhtmlUtils;
 import org.apache.myfaces.trinidadinternal.util.JsonUtils;
 
+@JSFValidator(
+        name="tr:validateRegExp",
+        bodyContent="empty",
+        id="org.apache.myfaces.trinidad.RegExp",
+        tagClass="org.apache.myfaces.trinidadinternal.taglib.validator.ValidateRegExpTag")
 public class RegExpValidator
                        extends org.apache.myfaces.trinidad.validator.RegExpValidator
                          implements ClientValidator

Added: myfaces/trinidad/trunk/trinidad-impl/src/main/resources/META-INF/trinidadTagClass20.vm
URL: http://svn.apache.org/viewvc/myfaces/trinidad/trunk/trinidad-impl/src/main/resources/META-INF/trinidadTagClass20.vm?rev=1089748&view=auto
==============================================================================
--- myfaces/trinidad/trunk/trinidad-impl/src/main/resources/META-INF/trinidadTagClass20.vm (added)
+++ myfaces/trinidad/trunk/trinidad-impl/src/main/resources/META-INF/trinidadTagClass20.vm Thu Apr  7 06:00:00 2011
@@ -0,0 +1,243 @@
+// WARNING: This file was automatically generated. Do not edit it directly,
+//          or you will lose your changes.
+
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+*/
+package ${component.tagPackage};
+
+import javax.el.ValueExpression;
+import org.apache.myfaces.trinidad.bean.FacesBean;
+##$utils.importTagClasses12($component)
+#set ($addMeMb = false)
+#set ($addMe = false)
+#set ($propertyList = ${component.propertyTagList})
+#foreach( $property in $propertyList )
+#if ($property.isMethodExpression())
+#set ($addMe = true)
+#end
+#if ($property.isMethodBinding())
+#set ($addMeMb = true)
+#set ($addMb = true)
+#set ($addMe = true)
+#end
+#if ($property.name == "converter")
+import javax.faces.convert.Converter;
+#end
+#if ($property.name == "textAndAccessKey" || $property.name == "labelAndAccessKey" || $property.name == "valueAndAccessKey")
+import org.apache.myfaces.trinidadinternal.taglib.util.VirtualAttributeUtils;
+#end
+#end
+#if ($addMb)
+import javax.faces.el.MethodBinding;
+#end
+#if ($addMe)
+import javax.el.MethodExpression;
+#end
+#if ($addMeMb)
+import org.apache.myfaces.trinidadinternal.taglib.util.MethodExpressionMethodBinding;
+#end
+import ${component.className};
+#if (${component.tagSuperclass})
+import ${component.tagSuperclass};
+#end
+
+// Generated from class ${component.sourceClassName}.
+//
+// WARNING: This file was automatically generated. Do not edit it directly,
+//          or you will lose your changes.
+public class $utils.getClassFromFullClass($component.tagClass)
+#if (${component.tagSuperclass})
+    extends $utils.getClassFromFullClass(${component.tagSuperclass})
+#else
+    extends javax.faces.webapp.UIComponentTag
+#end
+{
+
+  /**
+   * Construct an instance of the $utils.getClassFromFullClass($component.tagClass).
+   */
+  public $utils.getClassFromFullClass($component.tagClass)()
+  {
+  }
+
+  public String getComponentType()
+  {
+#if ($component.type)
+    return "$component.type";
+#else
+    return null;
+#end
+  }
+
+  public String getRendererType()
+  {
+#if ($component.rendererType && !($component.rendererType == ""))
+    return "$component.rendererType";
+#else
+    return null;
+#end
+  }
+
+#foreach( $property in $propertyList )
+#set ($field = $property.fieldName)
+#set ($type = $utils.getJspPropertyType12($property))
+##if ($property.isLiteralOnly() && $property.className == "boolean")
+##set ($type = "String")
+##end
+#if ($property.isMethodBinding())
+  private MethodExpression $field;
+#set ($var = $utils.getVariableFromName($property.name))
+  final public void $utils.getPrefixedPropertyName("set", $property.jspName)(MethodExpression $var)
+  {
+    $field = $var;
+  }
+
+#else
+  private $type $field;
+#set ($var = $utils.getVariableFromName($property.name))
+  final public void $utils.getPrefixedPropertyName("set", $property.jspName)($type $var)
+  {
+    $field = $var;
+  }
+
+#end
+#end
+  @Override
+  protected void setProperties(
+    FacesBean bean)
+  {
+    super.setProperties(bean);
+#foreach( $property in $propertyList )
+#set ($field = $property.fieldName)
+#set ($type = $utils.getClassFromFullClass($property.className))
+#set ($key = $utils.getConstantNameFromProperty($property.name , "_KEY"))
+#if ($property.name == "textAndAccessKey")
+    if (_textAndAccessKey != null)
+    {
+      if (!_textAndAccessKey.isLiteralText())
+      {
+        VirtualAttributeUtils.setAccessKeyAttribute(
+          bean,
+          _textAndAccessKey,
+          ${utils.getClassFromFullClass($component.className)}.TEXT_KEY,
+          ${utils.getClassFromFullClass($component.className)}.ACCESS_KEY_KEY);
+      }
+      else
+      {
+        String s = _textAndAccessKey.getExpressionString();
+        if (s != null)
+          VirtualAttributeUtils.setAccessKeyAttribute(
+            bean,
+            s,
+            ${utils.getClassFromFullClass($component.className)}.TEXT_KEY,
+            ${utils.getClassFromFullClass($component.className)}.ACCESS_KEY_KEY);
+      }
+    }
+#elseif ($property.name == "labelAndAccessKey")
+    if (_labelAndAccessKey != null)
+    {
+      if (!_labelAndAccessKey.isLiteralText())
+      {
+        VirtualAttributeUtils.setAccessKeyAttribute(
+          bean,
+          _labelAndAccessKey,
+          ${utils.getClassFromFullClass($component.className)}.LABEL_KEY,
+          ${utils.getClassFromFullClass($component.className)}.ACCESS_KEY_KEY);
+      }
+      else
+      {
+        String s = _labelAndAccessKey.getExpressionString();
+        if (s != null)
+          VirtualAttributeUtils.setAccessKeyAttribute(
+            bean,
+            s,
+            ${utils.getClassFromFullClass($component.className)}.LABEL_KEY,
+            ${utils.getClassFromFullClass($component.className)}.ACCESS_KEY_KEY);
+      }
+    }
+#elseif ($property.name == "valueAndAccessKey")
+    if (_valueAndAccessKey != null)
+    {
+      if (!_valueAndAccessKey.isLiteralText())
+      {
+        VirtualAttributeUtils.setAccessKeyAttribute(
+          bean,
+          _valueAndAccessKey,
+          ${utils.getClassFromFullClass($component.className)}.VALUE_KEY,
+          ${utils.getClassFromFullClass($component.className)}.ACCESS_KEY_KEY);
+      }
+      else
+      {
+        String s = _valueAndAccessKey.getExpressionString();
+        if (s != null)
+          VirtualAttributeUtils.setAccessKeyAttribute(
+            bean,
+            s,
+            ${utils.getClassFromFullClass($component.className)}.VALUE_KEY,
+            ${utils.getClassFromFullClass($component.className)}.ACCESS_KEY_KEY);
+      }
+    }
+#elseif ($utils.isConverter($property.className))##                   2
+    if ($field != null)
+    {
+      if (!${field}.isLiteralText())
+      {
+        bean.setValueExpression($utils.getClassFromFullClass(${component.className}).${key}, $field);
+      }
+      else
+      {
+        String s = ${field}.getExpressionString();
+        if (s != null)
+        {
+          Converter converter = getFacesContext().getApplication().
+            createConverter(s);
+          bean.setProperty($utils.getClassFromFullClass(${component.className}).${key}, converter);
+        }
+      }
+    }
+#elseif ($property.isMethodExpression())
+    bean.setProperty($utils.getClassFromFullClass(${component.className}).${key}, $field);
+#elseif ($property.isMethodBinding())
+    if ($field != null)
+      bean.setProperty($utils.getClassFromFullClass(${component.className}).${key}, new MethodExpressionMethodBinding($field));
+#elseif ($property.isLiteralOnly())
+    bean.setProperty($utils.getClassFromFullClass(${component.className}).${key}, $field);
+#elseif ($type == "String[]")
+    setStringArrayProperty(bean, $utils.getClassFromFullClass(${component.className}).${key}, $field);
+#else
+    setProperty(bean, $utils.getClassFromFullClass(${component.className}).${key}, $field);
+#end
+#end
+  }
+
+  @Override
+  public void release()
+  {
+    super.release();
+#foreach( $property in $propertyList )
+#set ($field = $property.fieldName)
+#set ($empty = "null")
+#if ($property.isLiteralOnly() && $property.className == "boolean")
+    $field = false;
+#else
+    $field = $empty;
+#end
+#end
+  }
+}