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: ConcurrentModificationException.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 a sequence is edited or removed using outdated data. 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 #getConcurrentlyModifiedMessage concurrentlyModifiedMessage}"<table> 049 * <tr><td valign="top">English:</td><td valign="top"><pre>The sequence got concurrently modified.</pre></td></tr> 050 * <tr><td valign="top">Deutsch:</td><td valign="top"><pre>Die Sequenz wurde zwischenzeitlich geändert.</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: ConcurrentModificationException.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 ConcurrentModificationException extends SequencesException 065 { 066 // SECTION-START[ConcurrentModificationException] 067 068 /** Serial version UID for backwards compatibility with 1.0.x classes. */ 069 private static final long serialVersionUID = -3756736032000979967L; 070 071 /** 072 * Most recent revision of the correspondent reported. 073 * @serial 074 */ 075 private final Sequence mostRecentRevision; 076 077 /** 078 * Creates a new {@code ConcurrentModificationException} instance taking the most recent revision of the sequence to 079 * report. 080 * 081 * @param sequence The most recent revision of the sequence to report. 082 */ 083 public ConcurrentModificationException( final Sequence sequence ) 084 { 085 super(); 086 this.mostRecentRevision = sequence; 087 } 088 089 /** 090 * Gets the most recent revision of the sequence. 091 * 092 * @return The most recent revision of the sequence. 093 */ 094 public Sequence getMostRecentRevision() 095 { 096 return this.mostRecentRevision; 097 } 098 099 /** 100 * Gets the message of the exception. 101 * 102 * @return The message of the exception. 103 */ 104 @Override 105 public String getMessage() 106 { 107 return this.getConcurrentlyModifiedMessage( this.getLocale() ); 108 } 109 110 // SECTION-END 111 // SECTION-START[Dependencies] 112 // <editor-fold defaultstate="collapsed" desc=" Generated Dependencies "> 113 114 /** 115 * Gets the {@code Locale} dependency. 116 * <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> 117 * <p>That specification does not apply to any scope. A new object is returned whenever requested and bound to this instance.</p> 118 * @return The {@code Locale} dependency. 119 * @throws org.jomc.ObjectManagementException if getting the dependency instance fails. 120 */ 121 @javax.annotation.Generated( value = "org.jomc.tools.SourceFileProcessor 1.0", comments = "See http://jomc.sourceforge.net/jomc/1.0/jomc-tools" ) 122 private java.util.Locale getLocale() 123 { 124 final java.util.Locale _d = (java.util.Locale) org.jomc.ObjectManagerFactory.getObjectManager( this.getClass().getClassLoader() ).getDependency( this, "Locale" ); 125 assert _d != null : "'Locale' dependency not found."; 126 return _d; 127 } 128 // </editor-fold> 129 // SECTION-END 130 // SECTION-START[Properties] 131 // SECTION-END 132 // SECTION-START[Messages] 133 // <editor-fold defaultstate="collapsed" desc=" Generated Messages "> 134 135 /** 136 * Gets the text of the {@code concurrentlyModifiedMessage} message. 137 * <p><b>Templates</b><br/><table> 138 * <tr><td valign="top">English:</td><td valign="top"><pre>The sequence got concurrently modified.</pre></td></tr> 139 * <tr><td valign="top">Deutsch:</td><td valign="top"><pre>Die Sequenz wurde zwischenzeitlich geändert.</pre></td></tr> 140 * </table></p> 141 * @param locale The locale of the message to return. 142 * @return The text of the {@code concurrentlyModifiedMessage} 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 getConcurrentlyModifiedMessage( final java.util.Locale locale ) 148 { 149 final String _m = org.jomc.ObjectManagerFactory.getObjectManager( this.getClass().getClassLoader() ).getMessage( this, "concurrentlyModifiedMessage", locale ); 150 assert _m != null : "'concurrentlyModifiedMessage' message not found."; 151 return _m; 152 } 153 // </editor-fold> 154 // SECTION-END 155 }