001 // SECTION-START[License Header] 002 // <editor-fold defaultstate="collapsed" desc=" Generated License "> 003 /* 004 * Copyright (c) 2010 The JOMC Project 005 * Copyright (c) 2005 Christian Schulte <schulte2005@users.sourceforge.net> 006 * All rights reserved. 007 * 008 * Redistribution and use in source and binary forms, with or without 009 * modification, are permitted provided that the following conditions 010 * are met: 011 * 012 * o Redistributions of source code must retain the above copyright 013 * notice, this list of conditions and the following disclaimer. 014 * 015 * o Redistributions in binary form must reproduce the above copyright 016 * notice, this list of conditions and the following disclaimer in 017 * the documentation and/or other materials provided with the 018 * distribution. 019 * 020 * THIS SOFTWARE IS PROVIDED BY THE JOMC PROJECT AND CONTRIBUTORS "AS IS" 021 * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, 022 * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR 023 * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE JOMC PROJECT OR 024 * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, 025 * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, 026 * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; 027 * OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, 028 * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR 029 * OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF 030 * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 031 * 032 * $Id: SequenceLimitException.java 2244 2010-06-29 07:58:09Z schulte2005 $ 033 * 034 */ 035 // </editor-fold> 036 // SECTION-END 037 package org.jomc.sequences; 038 039 // SECTION-START[Documentation] 040 // <editor-fold defaultstate="collapsed" desc=" Generated Documentation "> 041 /** 042 * Gets thrown whenever the next value of a sequence is requested although its maximum value has already been reached. 043 * <p><b>Dependencies</b><ul> 044 * <li>"{@link #getLocale Locale}"<blockquote> 045 * Dependency on {@code 'java.util.Locale'} {@code (java.util.Locale)} at specification level 1.1 bound to an instance.</blockquote></li> 046 * </ul></p> 047 * <p><b>Messages</b><ul> 048 * <li>"{@link #getSequenceLimitMessage sequenceLimitMessage}"<table> 049 * <tr><td valign="top">English:</td><td valign="top"><pre>The maximum sequence value {0,number} has been reached. No more sequence values available.</pre></td></tr> 050 * <tr><td valign="top">Deutsch:</td><td valign="top"><pre>Der Maximalwert {0,number} der Sequenz wurde erreicht. Keine weiteren Sequenz-Werte verfügbar.</pre></td></tr> 051 * </table> 052 * </ul></p> 053 * 054 * @author <a href="mailto:schulte2005@users.sourceforge.net">Christian Schulte</a> 1.0 055 * @version $Id: SequenceLimitException.java 2244 2010-06-29 07:58:09Z schulte2005 $ 056 */ 057 // </editor-fold> 058 // SECTION-END 059 // SECTION-START[Annotations] 060 // <editor-fold defaultstate="collapsed" desc=" Generated Annotations "> 061 @javax.annotation.Generated( value = "org.jomc.tools.SourceFileProcessor 1.0", comments = "See http://jomc.sourceforge.net/jomc/1.0/jomc-tools" ) 062 // </editor-fold> 063 // SECTION-END 064 public class SequenceLimitException extends SequencesException 065 { 066 // SECTION-START[SequenceLimitException] 067 068 /** Serial version UID for backwards compatibility with 1.0.x classes. */ 069 private static final long serialVersionUID = 4150038054934683080L; 070 071 /** 072 * Current value of the sequence. 073 * @serial 074 */ 075 private final long currentValue; 076 077 /** 078 * Creates a new {@code SequenceLimitException} taking the current value of the sequence. 079 * 080 * @param currentValue The current value of the sequence reaching its limit. 081 */ 082 public SequenceLimitException( final long currentValue ) 083 { 084 super(); 085 this.currentValue = currentValue; 086 } 087 088 /** 089 * Gets the current value of the sequence reaching its limit. 090 * 091 * @return The current value of the sequence reaching its limit. 092 */ 093 public long getCurrentValue() 094 { 095 return this.currentValue; 096 } 097 098 /** 099 * Gets the message of the exception. 100 * 101 * @return The message of the exception. 102 */ 103 @Override 104 public String getMessage() 105 { 106 return this.getSequenceLimitMessage( this.getLocale(), Long.valueOf( this.getCurrentValue() ) ); 107 } 108 109 // SECTION-END 110 // SECTION-START[Dependencies] 111 // <editor-fold defaultstate="collapsed" desc=" Generated Dependencies "> 112 113 /** 114 * Gets the {@code Locale} dependency. 115 * <p>This method returns the {@code 'default'} object of the {@code 'java.util.Locale'} {@code (java.util.Locale)} specification at specification level 1.1.</p> 116 * <p>That specification does not apply to any scope. A new object is returned whenever requested and bound to this instance.</p> 117 * @return The {@code Locale} dependency. 118 * @throws org.jomc.ObjectManagementException if getting the dependency instance fails. 119 */ 120 @javax.annotation.Generated( value = "org.jomc.tools.SourceFileProcessor 1.0", comments = "See http://jomc.sourceforge.net/jomc/1.0/jomc-tools" ) 121 private java.util.Locale getLocale() 122 { 123 final java.util.Locale _d = (java.util.Locale) org.jomc.ObjectManagerFactory.getObjectManager( this.getClass().getClassLoader() ).getDependency( this, "Locale" ); 124 assert _d != null : "'Locale' dependency not found."; 125 return _d; 126 } 127 // </editor-fold> 128 // SECTION-END 129 // SECTION-START[Properties] 130 // SECTION-END 131 // SECTION-START[Messages] 132 // <editor-fold defaultstate="collapsed" desc=" Generated Messages "> 133 134 /** 135 * Gets the text of the {@code sequenceLimitMessage} message. 136 * <p><b>Templates</b><br/><table> 137 * <tr><td valign="top">English:</td><td valign="top"><pre>The maximum sequence value {0,number} has been reached. No more sequence values available.</pre></td></tr> 138 * <tr><td valign="top">Deutsch:</td><td valign="top"><pre>Der Maximalwert {0,number} der Sequenz wurde erreicht. Keine weiteren Sequenz-Werte verfügbar.</pre></td></tr> 139 * </table></p> 140 * @param locale The locale of the message to return. 141 * @param sequenceLimit Format argument. 142 * @return The text of the {@code sequenceLimitMessage} message. 143 * 144 * @throws org.jomc.ObjectManagementException if getting the message instance fails. 145 */ 146 @javax.annotation.Generated( value = "org.jomc.tools.SourceFileProcessor 1.0", comments = "See http://jomc.sourceforge.net/jomc/1.0/jomc-tools" ) 147 private String getSequenceLimitMessage( final java.util.Locale locale, final java.lang.Number sequenceLimit ) 148 { 149 final String _m = org.jomc.ObjectManagerFactory.getObjectManager( this.getClass().getClassLoader() ).getMessage( this, "sequenceLimitMessage", locale, sequenceLimit ); 150 assert _m != null : "'sequenceLimitMessage' message not found."; 151 return _m; 152 } 153 // </editor-fold> 154 // SECTION-END 155 }