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.javacomposer;
020
021import static org.apiguardian.api.API.Status.STABLE;
022import static org.tquadrat.foundation.javacomposer.TypeName.from;
023
024import org.apiguardian.api.API;
025import org.tquadrat.foundation.annotation.ClassVersion;
026import org.tquadrat.foundation.annotation.UtilityClass;
027import org.tquadrat.foundation.exception.PrivateConstructorForStaticClassCalledError;
028
029/**
030 *  The constants for the primitives.
031 *
032 *  @see TypeName
033 *
034 *  @extauthor Thomas Thrien - thomas.thrien@tquadrat.org
035 *  @version $Id: Primitives.java 943 2021-12-21 01:34:32Z tquadrat $
036 *  @since 0.0.5
037 *
038 *  @UMLGraph.link
039 */
040@UtilityClass
041@ClassVersion( sourceVersion = "$Id: Primitives.java 943 2021-12-21 01:34:32Z tquadrat $" )
042@API( status = STABLE, since = "0.0.5" )
043public final class Primitives
044{
045        /*------------------------*\
046    ====** Static Initialisations **===========================================
047        \*------------------------*/
048    /**
049     *  The type name for {@code boolean}.
050     */
051    @API( status = STABLE, since = "0.0.5" )
052    public static final TypeName BOOLEAN = from( boolean.class );
053
054    /**
055     *  The type name for {@code byte}.
056     */
057    @API( status = STABLE, since = "0.0.5" )
058    public static final TypeName BYTE = from( byte.class );
059
060    /**
061     *  The type name for {@code char}.
062     */
063    @API( status = STABLE, since = "0.0.5" )
064    public static final TypeName CHAR = from( char.class );
065
066    /**
067     *  The type name for {@code double}.
068     */
069    @API( status = STABLE, since = "0.0.5" )
070    public static final TypeName DOUBLE = from( double.class );
071
072    /**
073     *  The type name for {@code float}.
074     */
075    @API( status = STABLE, since = "0.0.5" )
076    public static final TypeName FLOAT = from( float.class );
077
078    /**
079     *  The type name for {@code int}.
080     */
081    @API( status = STABLE, since = "0.0.5" )
082    public static final TypeName INT = from( int.class );
083
084    /**
085     *  The type name for {@code long}.
086     */
087    @API( status = STABLE, since = "0.0.5" )
088    public static final TypeName LONG = from( long.class );
089
090    /**
091     *  The type name for {@code short}.
092     */
093    @API( status = STABLE, since = "0.0.5" )
094    public static final TypeName SHORT = from( short.class );
095
096    /**
097     *  The type name for {@code void}.
098     */
099    @API( status = STABLE, since = "0.0.5" )
100    public static final TypeName VOID = from( void.class );
101
102        /*--------------*\
103    ====** Constructors **=====================================================
104        \*--------------*/
105    /**
106     *  No instance allowed for this class.
107     */
108    private Primitives() { throw new PrivateConstructorForStaticClassCalledError( Primitives.class ); }
109}
110//  class Primitives
111
112/*
113 *  End of File
114 */