Start line:  
End line:  

Snippet Preview

Snippet HTML Code

Stack Overflow Questions
  // Copyright 2005 The Apache Software Foundation
  //
  // Licensed 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 org.apache.tapestry.form.translator;
 
 import  org.apache.hivemind.util.PropertyUtils;
 
A java.text.SimpleDateFormat-based Translator implementation.

Author(s):
Paul Ferraro
Since:
4.0
 
 public class DateTranslator extends FormatTranslator
 {
     private boolean _lenient=true;
 
     protected SimpleDateFormat _rfc339Format = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss");
     
     public DateTranslator()
     {
     }
     
     // Needed until HIVEMIND-134 fix is available
     public DateTranslator(String initializer)
     {
         PropertyUtils.configureProperties(thisinitializer);
     }
    
    

See also:
org.apache.tapestry.form.translator.FormatTranslator.defaultPattern()
 
     protected String defaultPattern()
     {
         return "MM/dd/yyyy";
     }
    
    

See also:
org.apache.tapestry.form.translator.FormatTranslator.getFormat(java.util.Locale)
 
     protected Format getFormat(Locale locale)
     {
         return getDateFormat(locale);
     }

    
Get the RFC339 equivalent for the given object.

Parameters:
input The object to be formatted.
Returns:
A string value compliant with rfc339 internet time.
 
     public String formatRfc3339(Object input)
     {
         return .format(input);
     }
 
     public SimpleDateFormat getDateFormat(Locale locale)
     {
         SimpleDateFormat ret = new SimpleDateFormat(getPattern(), new DateFormatSymbols(locale));
         ret.setLenient();
         
         return ret;
     }
    
    

See also:
org.apache.tapestry.form.translator.FormatTranslator.getMessageKey()
 
     protected String getMessageKey()
     {
         return .;
     }
    
    

See also:
org.apache.tapestry.form.translator.AbstractTranslator.getMessageParameters(java.util.Locale, java.lang.String)
    protected Object[] getMessageParameters(Locale localeString label)
    {
        String pattern = getDateFormat(locale).toLocalizedPattern().toUpperCase(locale);
        
        return new Object[] { labelpattern };
    }
    
    
    public void renderContribution(IMarkupWriter writerIRequestCycle cycle,
            FormComponentContributorContext contextIFormComponent field)
    {
        super.renderContribution(writercyclecontextfield);
        
        String message = buildMessage(contextfieldgetMessageKey());
        
        JSONObject profile = context.getProfile();
        if (!profile.has(.)) {
            profile.put(.new JSONObject());
        }
        
        JSONObject cons = profile.getJSONObject(.);
        
        context.addInitializationScript(field"dojo.require(\"tapestry.form.datetime\");");
        
        accumulateProperty(consfield.getClientId(), 
                new JSONLiteral("[tapestry.form.datetime.isValidDate,{"
                        + "datePattern:" 
                        + JSONObject.quote(getPattern())
                        + (isLenient() ? "" : ",strict:true")
                        + "}]"));
        
        accumulateProfileProperty(fieldprofile.message);
    }
    
    

See also:
org.apache.tapestry.form.translator.FormatTranslator.getConstraint()
    {
        return .;
    }
    
    public void setLenient(boolean value)
    {
         = value;
    }
    
    public boolean isLenient()
    {
        return ;
    }
New to GrepCode? Check out our FAQ X