Class TypeNames


  • public class TypeNames
    extends Object
    This class maps a type to names. Associations may be marked with a capacity. Calling the get() method with a type and actual size n will return the associated name with smallest capacity >= n, if available and an unmarked default type otherwise. Eg, setting
            names.put(type,        "TEXT" );
            names.put(type,   255, "VARCHAR($l)" );
            names.put(type, 65534, "LONGVARCHAR($l)" );
     
    will give you back the following:
      names.get(type)         // --> "TEXT" (default)
      names.get(type,    100) // --> "VARCHAR(100)" (100 is in [0:255])
      names.get(type,   1000) // --> "LONGVARCHAR(1000)" (1000 is in [256:65534])
      names.get(type, 100000) // --> "TEXT" (default)
     
    On the other hand, simply putting
            names.put(type, "VARCHAR($l)" );
     
    would result in
      names.get(type)        // --> "VARCHAR($l)" (will cause trouble)
      names.get(type, 100)   // --> "VARCHAR(100)"
      names.get(type, 10000) // --> "VARCHAR(10000)"
     
    Class copied from patched hibernate 3.2.6
    Since:
    6.0
    • Constructor Detail

      • TypeNames

        public TypeNames()
    • Method Detail

      • get

        public String get​(int typecode,
                          int size,
                          int precision,
                          int scale)
                   throws IllegalArgumentException
        get type name for specified type and size
        Parameters:
        typecode - the type key
        size - the SQL length
        scale - the SQL scale
        precision - the SQL precision
        Returns:
        the associated name with smallest capacity >= size, if available and the default type name otherwise
        Throws:
        IllegalArgumentException
      • put

        public void put​(int typecode,
                        int capacity,
                        String value)
        set a type name for specified type key and capacity
        Parameters:
        typecode - the type key
      • put

        public void put​(int typecode,
                        String value)
        set a default type name for specified type key
        Parameters:
        typecode - the type key