001/*
002 * ============================================================================
003 * Copyright © 2002-2021 by Thomas Thrien.
004 * All Rights Reserved.
005 * ============================================================================
006 *
007 * Licensed to the public under the agreements of the GNU Lesser General Public
008 * License, version 3.0 (the "License"). You may obtain a copy of the License at
009 *
010 *      http://www.gnu.org/licenses/lgpl.html
011 *
012 * Unless required by applicable law or agreed to in writing, software
013 * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
014 * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
015 * License for the specific language governing permissions and limitations
016 * under the License.
017 */
018
019package org.tquadrat.foundation.i18n;
020
021import static org.apiguardian.api.API.Status.STABLE;
022
023import org.apiguardian.api.API;
024import org.tquadrat.foundation.annotation.ClassVersion;
025
026/**
027 *  The uses for a text. It is used to compose the resource bundle key for
028 *  text.
029 *
030 *  @see org.tquadrat.foundation.i18n.I18nUtil#composeTextKey(Class,TextUse,String)
031 *
032 *  @extauthor Thomas Thrien - thomas.thrien@tquadrat.org
033 *  @version $Id: TextUse.java 1123 2024-03-19 10:06:45Z tquadrat $
034 *  @since 0.1.0
035 *
036 *  @UMLGraph.link
037 */
038@ClassVersion( sourceVersion = "$Id: TextUse.java 1123 2024-03-19 10:06:45Z tquadrat $" )
039@API( status = STABLE, since = "0.1.0" )
040public enum TextUse
041{
042        /*------------------*\
043    ====** Enum Declaration **=================================================
044        \*------------------*/
045    /**
046     *  The text for a button.
047     */
048    BUTTON,
049
050    /**
051     *  A caption for a GUI form.
052     */
053    CAPTION,
054
055    /**
056     *  The localised name of a file.
057     */
058    @API( status = STABLE, since = "0.4.6" )
059    FILE,
060
061    /**
062     *  The localised name of a folder/directory.
063     */
064    @API( status = STABLE, since = "0.4.6" )
065    FOLDER,
066
067    /**
068     *  A help text.
069     */
070    HELP,
071
072    /**
073     *  A column header or alike.
074     *
075     *  @since 0.4.5
076     */
077    @API( status = STABLE, since = "0.4.5" )
078    HEADER,
079
080    /**
081     *  A localised link or part of a link.
082     */
083    @API( status = STABLE, since = "0.4.6" )
084    LINK,
085
086    /**
087     *  The localised name of a property.
088     */
089    NAME,
090
091    /**
092     *  The name of a menu entry.
093     */
094    MENU,
095
096    /**
097     *  A message, although these are usually <i>messages</i>, defined with
098     *  {@link Message &#64;Message},
099     *  and not <i>texts</i> that will be defined with
100     *  {@link Text &#64;Text}.
101     */
102    MESSAGE,
103
104    /**
105     *  A prompt text.
106     */
107    PROMPT,
108
109    /**
110     *  A section header or alike.
111     *
112     *  @since 0.4.5
113     */
114    @API( status = STABLE, since = "0.4.5" )
115    SECTION,
116
117    /**
118     *  The String representation for an {@code enum} value.
119     */
120    STRING,
121
122    /**
123     *  A title text (a window title, or a program title, or alike).
124     */
125    TITLE,
126
127    /**
128     *  A tooltip text.
129     */
130    TOOLTIP,
131
132    /**
133     *  A general purpose text.
134     */
135    TXT,
136
137    /**
138     *  The text is a usage message for an argument or an option on the command
139     *  line.
140     */
141    USAGE,
142
143    /**
144     *  The default; should not be used.
145     */
146    TEXTUSE_DEFAULT
147}
148//  enum TextUse
149
150/*
151 *  End of File
152 */