1 /* 2 * jDTAUS Banking Messages 3 * Copyright (C) 2005 Christian Schulte 4 * <cs@schulte.it> 5 * 6 * This library is free software; you can redistribute it and/or 7 * modify it under the terms of the GNU Lesser General Public 8 * License as published by the Free Software Foundation; either 9 * version 2.1 of the License, or any later version. 10 * 11 * This library is distributed in the hope that it will be useful, 12 * but WITHOUT ANY WARRANTY; without even the implied warranty of 13 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 14 * Lesser General Public License for more details. 15 * 16 * You should have received a copy of the GNU Lesser General Public 17 * License along with this library; if not, write to the Free Software 18 * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA 19 * 20 */ 21 package org.jdtaus.banking.messages; 22 23 import java.util.Date; 24 import java.util.Locale; 25 import org.jdtaus.core.container.ContainerFactory; 26 import org.jdtaus.core.text.Message; 27 28 /** 29 * Message stating that a currency is invalid at a given date. 30 * 31 * @author <a href="mailto:cs@schulte.it">Christian Schulte</a> 32 * @version $JDTAUS: IllegalCurrencyMessage.java 8865 2014-01-10 17:13:42Z schulte $ 33 */ 34 public final class IllegalCurrencyMessage extends Message 35 { 36 37 /** Serial version UID for backwards compatibility with 1.0.x classes. */ 38 private static final long serialVersionUID = -2259517733162759316L; 39 40 /** 41 * The ISO currency code of the illegal currency. 42 * @serial 43 */ 44 private final String currencyCode; 45 46 /** 47 * The date at which {@code currenycCode} is illegal. 48 * @serial 49 */ 50 private final Date date; 51 52 /** 53 * Creates a new {@code IllegalCurrencyMessage} instance taking the ISO currency code of the illegal currency at a 54 * given date. 55 * 56 * @param currencyCode The ISO currency code of the illegal currency. 57 * @param date The date at which {@code currencyCode} is illegal. 58 * 59 * @throws NullPointerException if either {@code currencyCode} or {@code date} is {@code null}. 60 */ 61 public IllegalCurrencyMessage( final String currencyCode, final Date date ) 62 { 63 super(); 64 65 if ( currencyCode == null ) 66 { 67 throw new NullPointerException( "currencyCode" ); 68 } 69 if ( date == null ) 70 { 71 throw new NullPointerException( "date" ); 72 } 73 74 this.currencyCode = currencyCode; 75 this.date = (Date) date.clone(); 76 } 77 78 /** 79 * {@inheritDoc} 80 * 81 * @return The ISO currency code of the illegal currency with corresponding date. 82 * <ul> 83 * <li>[0]: ISO currency code.</li> 84 * <li>[1]: date.</li> 85 * </ul> 86 */ 87 public Object[] getFormatArguments( final Locale locale ) 88 { 89 return new Object[] 90 { 91 this.currencyCode, this.date 92 }; 93 } 94 95 /** 96 * {@inheritDoc} 97 * 98 * @return The corresponding text from the message's {@code ResourceBundle} 99 * <blockquote><pre> 100 * The currency {0} is illegal at {1,date,long}. 101 * </pre></blockquote> 102 */ 103 public String getText( final Locale locale ) 104 { 105 return this.getIllegalCurrencyMessage( locale, this.currencyCode, this.date ); 106 } 107 108 //--Messages---------------------------------------------------------------- 109 110 // <editor-fold defaultstate="collapsed" desc=" Generated Code ">//GEN-BEGIN:jdtausMessages 111 // This section is managed by jdtaus-container-mojo. 112 113 /** 114 * Gets the text of message <code>illegalCurrency</code>. 115 * <blockquote><pre>Die {0} Währung ist am {1,date,long} ungültig.</pre></blockquote> 116 * <blockquote><pre>The currency {0} is illegal at {1,date,long}.</pre></blockquote> 117 * 118 * @param locale The locale of the message instance to return. 119 * @param cur format parameter. 120 * @param dat format parameter. 121 * 122 * @return the text of message <code>illegalCurrency</code>. 123 */ 124 private String getIllegalCurrencyMessage( final Locale locale, 125 final java.lang.String cur, 126 final java.util.Date dat ) 127 { 128 return ContainerFactory.getContainer(). 129 getMessage( this, "illegalCurrency", locale, 130 new Object[] 131 { 132 cur, 133 dat 134 }); 135 136 } 137 138 // </editor-fold>//GEN-END:jdtausMessages 139 140 //----------------------------------------------------------------Messages-- 141 }