001/* Copyright (C) 2014 konik.io 002 * 003 * This file is part of the Konik library. 004 * 005 * The Konik library is free software: you can redistribute it and/or modify 006 * it under the terms of the GNU Affero General Public License as 007 * published by the Free Software Foundation, either version 3 of the 008 * License, or (at your option) any later version. 009 * 010 * The Konik library is distributed in the hope that it will be useful, 011 * but WITHOUT ANY WARRANTY; without even the implied warranty of 012 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 013 * GNU Affero General Public License for more details. 014 * 015 * You should have received a copy of the GNU Affero General Public License 016 * along with the Konik library. If not, see <http://www.gnu.org/licenses/>. 017 */ 018package io.konik.zugferd.unqualified; 019 020/** 021 * A factory for creating ZfDate instanced based on format code. 022 */ 023public class ZfDateFactory { 024 025 private ZfDateFactory() { 026 } 027 028 /** 029 * Creates a new ZfDate object from the given date time format code. 030 * 031 * @param formatCode the format code 032 * @return the zf date 033 */ 034 public static ZfDate create(String formatCode) { 035 if (ZfDateDay.CODE.equals(formatCode)) { return new ZfDateDay(); } 036 if (ZfDateMonth.CODE.equals(formatCode)) { return new ZfDateMonth(); } 037 if (ZfDateWeek.CODE.equals(formatCode)) { return new ZfDateWeek(); } 038 throw new IllegalArgumentException("Can not create a ZfDate for the given code" + formatCode); 039 } 040}