Start line:  
End line:  

Snippet Preview

Snippet HTML Code

Stack Overflow Questions
  /*
   * Copyright (C) 2014 the original author or authors.
   *
   * 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 ro.pippo.velocity;
 
 
 import java.util.Date;
 import java.util.Map;
Pippo helper for accessing localized messages in a template and formatting relative locale-aware dates. This helper can be used as a generic solution when we don't have a possibility to add custom methods/extensions/handlers in a specific template engine.

Author(s):
James Moger
 
 public class PippoHelper {
 
     public final static Logger logger = LoggerFactory.getLogger(PippoHelper.class);
 
     final Messages messages;
     final String language;
     final Locale locale;
     final Router router;
     final PrettyTime prettyTime;
 
     public PippoHelper(Messages messagesString languageLocale localeRouter router) {
         this. = messages;
         this. = language;
         this. = locale;
         this. = router;
         this. = new PrettyTime(locale);
         this. = new AtomicReference<>();
         this. = new AtomicReference<>();
     }
 
     public String webjarsAt(String path) {
         return classpathResourceAt(pathWebjarsResourceHandler.class);
     }
 
     public String publicAt(String path) {
         return classpathResourceAt(pathPublicResourceHandler.class);
     }
 
     private String classpathResourceAt(String pathAtomicReference<StringpatternRef,
                                        Class<? extends ClasspathResourceHandlerresourceHandlerClass) {
         if (patternRef.get() == null) {
             String pattern = .uriPatternFor(resourceHandlerClass);
             if (pattern == null) {
                 throw new PippoRuntimeException("You must register a route for {}",
                     resourceHandlerClass.getSimpleName());
             }
 
             patternRef.set(pattern);
         }
 
         Map<StringObjectparameters = new HashMap<>();
         parameters.put(.path);
 
         return .uriFor(patternRef.get(), parameters);
     }
 
     public String i18n(String messageKey) {
         return .get(messageKey);
     }
 
     public String i18n(String messageKeyObject... args) {
         return .get(messageKeyargs);
     }
    public String formatTime(Object inputString styleOrPattern) {
        int type = parseStyle(styleOrPattern);
        DateFormat dateFormat;
        if (type == -1) {
            dateFormat = new SimpleDateFormat(styleOrPattern);
        } else {
            dateFormat = DateFormat.getDateTimeInstance(typetype);
        }
        return dateFormat.format(getDateObject(input));
    }
    public String prettyTime(Object input) {
        return .format(getDateObject(input));
    }
    private Date getDateObject(Object value) {
        if (value instanceof Date) {
            return (Datevalue;
        } else if (value instanceof Calendar) {
            return ((Calendarvalue).getTime();
        } else if (value instanceof Long) {
            return new Date((Longvalue);
        } else {
            throw new PippoRuntimeException("Failed to get a date object from {}!"value);
        }
    }
    protected Integer parseStyle(String style) {
        if ("full".equals(style)) {
            return .;
        } else if ("long".equals(style)) {
            return .;
        } else if ("short".equals(style)) {
            return .;
        } else if ("medium".equals(style)) {
            return .;
        } else {
            return -1;
        }
    }
New to GrepCode? Check out our FAQ X