001/* 002 * ============================================================================ 003 * Copyright © 2002-2026 by Thomas Thrien. 004 * All Rights Reserved. 005 * ============================================================================ 006 * Licensed to the public under the agreements of the GNU Lesser General Public 007 * License, version 3.0 (the "License"). You may obtain a copy of the License at 008 * 009 * http://www.gnu.org/licenses/lgpl.html 010 * 011 * Unless required by applicable law or agreed to in writing, software 012 * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT 013 * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the 014 * License for the specific language governing permissions and limitations 015 * under the License. 016 */ 017 018package org.tquadrat.foundation.annotation; 019 020import static java.lang.annotation.ElementType.ANNOTATION_TYPE; 021import static java.lang.annotation.ElementType.CONSTRUCTOR; 022import static java.lang.annotation.ElementType.FIELD; 023import static java.lang.annotation.ElementType.LOCAL_VARIABLE; 024import static java.lang.annotation.ElementType.METHOD; 025import static java.lang.annotation.ElementType.MODULE; 026import static java.lang.annotation.ElementType.PACKAGE; 027import static java.lang.annotation.ElementType.PARAMETER; 028import static java.lang.annotation.ElementType.RECORD_COMPONENT; 029import static java.lang.annotation.ElementType.TYPE; 030import static java.lang.annotation.ElementType.TYPE_PARAMETER; 031import static java.lang.annotation.ElementType.TYPE_USE; 032import static java.lang.annotation.RetentionPolicy.RUNTIME; 033import static org.apiguardian.api.API.Status.DEPRECATED; 034 035import java.lang.annotation.Documented; 036import java.lang.annotation.Repeatable; 037import java.lang.annotation.Retention; 038import java.lang.annotation.Target; 039 040import org.apiguardian.api.API; 041 042/** 043 * This annotation allows to add information about applied fixes to a program 044 * element. 045 * 046 * @extauthor Thomas Thrien - thomas.thrien@tquadrat.org 047 * @version $Id: BUG.java 1294 2026-10-17 15:40:42Z tquadrat $ 048 * @since 0.1.0 049 * 050 * @UMLGraph.link 051 * 052 * @deprecated Replaced by 053 * {@link CR}. 054 */ 055@SuppressWarnings( "NewClassNamingConvention" ) 056@ClassVersion( sourceVersion = "$Id: BUG.java 1294 2026-10-17 15:40:42Z tquadrat $" ) 057@API( status = DEPRECATED, since = "0.1.0" ) 058@Deprecated( since = "0.25.14", forRemoval = true ) 059@Documented 060@Retention( RUNTIME ) 061@Target( {ANNOTATION_TYPE, CONSTRUCTOR, FIELD, LOCAL_VARIABLE, METHOD, MODULE, PACKAGE, PARAMETER, RECORD_COMPONENT, TYPE, TYPE_PARAMETER, TYPE_USE} ) 062@Repeatable( FixList.class ) 063public @interface BUG 064{ 065 /*------------*\ 066 ====** Attributes **======================================================= 067 \*------------*/ 068 /** 069 * An optional comment regarding the bug fix. 070 * 071 * @return The comment. 072 */ 073 String comment() default ""; 074 075 /** 076 * The BUG id as provided by the bug tracking system. 077 * 078 * @return The BUG id. 079 */ 080 @SuppressWarnings( "NewMethodNamingConvention" ) 081 String id(); 082} 083// @interface BUG 084 085/* 086 * End of File 087 */