Start line:  
End line:  

Snippet Preview

Snippet HTML Code

Stack Overflow Questions
  * Copyright (c) 2014, Francis Galiegue (
  * This software is dual-licensed under:
  * - the Lesser General Public License (LGPL) version 3.0 or, at your option, any
  *   later version;
  * - the Apache Software License (ASL) version 2.0.
 * The text of this file and of both licenses is available at the root of this
 * project or, if you have the jar distribution, in directory META-INF/, under
 * the names LGPL-3.0.txt and ASL-2.0.txt respectively.
 * Direct link to the sources:
 * - LGPL 3.0:
 * - ASL 2.0:
package com.github.fge.jsonschema.format.helpers;
Abstract class for date/time related format attributes

Joda Time is used for date and time parsing: it can handle all defined formats, and catches more errors than the standard JDK's java.text.SimpleDateFormat does.

Furthermore (and more importantly), unlike java.text.SimpleDateFormat, Joda Time's org.joda.time.format.DateTimeFormatter is thread-safe!

public abstract class AbstractDateFormatAttribute
    extends AbstractFormatAttribute
    private final String format;
    protected AbstractDateFormatAttribute(final String fmtfinal String format)
        this. = format;
    protected abstract DateTimeFormatter getFormatter();
    public final void validate(final ProcessingReport report,
        final MessageBundle bundlefinal FullData data)
        throws ProcessingException
        final DateTimeFormatter formatter = getFormatter();
        final String value = data.getInstance().getNode().textValue();
        try {
        } catch (IllegalArgumentException ignored) {
New to GrepCode? Check out our FAQ X