Class NativeTypes


  • public class NativeTypes
    extends java.lang.Object
    Provides functionality around the Java primitive data types and their wrapper types. They are considered native.
    • Field Detail

      • WRAPPER_TO_PRIMITIVE_TYPES

        private static final java.util.Map<java.lang.Class<?>,​java.lang.Class<?>> WRAPPER_TO_PRIMITIVE_TYPES
      • PRIMITIVE_TO_WRAPPER_TYPES

        private static final java.util.Map<java.lang.Class<?>,​java.lang.Class<?>> PRIMITIVE_TO_WRAPPER_TYPES
      • NUMBER_TYPES

        private static final java.util.Set<java.lang.Class<?>> NUMBER_TYPES
      • TYPE_KIND_NAME

        private static final java.util.Map<javax.lang.model.type.TypeKind,​java.lang.String> TYPE_KIND_NAME
      • NARROWING_LUT

        private static final java.util.Map<java.lang.String,​java.lang.Integer> NARROWING_LUT
      • PTRN_HEX

        private static final java.util.regex.Pattern PTRN_HEX
      • PTRN_OCT

        private static final java.util.regex.Pattern PTRN_OCT
      • PTRN_BIN

        private static final java.util.regex.Pattern PTRN_BIN
      • PTRN_FLOAT_DEC_ZERO

        private static final java.util.regex.Pattern PTRN_FLOAT_DEC_ZERO
      • PTRN_FLOAT_HEX_ZERO

        private static final java.util.regex.Pattern PTRN_FLOAT_HEX_ZERO
      • PTRN_SIGN

        private static final java.util.regex.Pattern PTRN_SIGN
      • PTRN_LONG

        private static final java.util.regex.Pattern PTRN_LONG
      • PTRN_FLOAT

        private static final java.util.regex.Pattern PTRN_FLOAT
      • PTRN_DOUBLE

        private static final java.util.regex.Pattern PTRN_DOUBLE
      • PTRN_FAULTY_UNDERSCORE_INT

        private static final java.util.regex.Pattern PTRN_FAULTY_UNDERSCORE_INT
      • PTRN_FAULTY_UNDERSCORE_FLOAT

        private static final java.util.regex.Pattern PTRN_FAULTY_UNDERSCORE_FLOAT
      • PTRN_FAULTY_DEC_UNDERSCORE_FLOAT

        private static final java.util.regex.Pattern PTRN_FAULTY_DEC_UNDERSCORE_FLOAT
      • PTRN_FAULTY_HEX_UNDERSCORE_FLOAT

        private static final java.util.regex.Pattern PTRN_FAULTY_HEX_UNDERSCORE_FLOAT
    • Constructor Detail

      • NativeTypes

        private NativeTypes()
    • Method Detail

      • getWrapperType

        public static java.lang.Class<?> getWrapperType​(java.lang.Class<?> clazz)
      • getPrimitiveType

        public static java.lang.Class<?> getPrimitiveType​(java.lang.Class<?> clazz)
      • isNative

        public static boolean isNative​(java.lang.String fullyQualifiedName)
      • isNumber

        public static boolean isNumber​(java.lang.Class<?> clazz)
      • getLiteral

        public static java.lang.Class<?> getLiteral​(java.lang.String className,
                                                    java.lang.String literal)
        Parameters:
        className - FQN of the literal native class
        literal - literal to verify
        Returns:
        literal class when the literal is a proper literal for the provided kind.
        Throws:
        java.lang.IllegalArgumentException - when the literal does not match to the provided native type className
      • getName

        public static java.lang.String getName​(javax.lang.model.type.TypeKind typeKind)
        The name that should be used for the typeKind. Should be used in order to get the name of a primitive type
        Parameters:
        typeKind - the type kind
        Returns:
        the name that should be used for the typeKind
      • isNarrowing

        public static boolean isNarrowing​(java.lang.String sourceFQN,
                                          java.lang.String targetFQN)