Class Clazz

java.lang.Object
com.landawn.abacus.util.Clazz

public final class Clazz extends Object
It's designed to provide a convenient way to parameterized the generic type (e.g. List.<String>class).
But the returned Class by all the methods doesn't have the actual parameterized type informations. For example:
 
 Listinvalid input: '&ltString'invalid input: '&gt' clazz = Clazz.ofList(String.class);
 // clazz doesn't have the actual type parameters information.
 // you won't be able to get type parameter String by: cls.getTypeParameters();
 // To save the real type parameters: you need to either:
 Typeinvalid input: '&ltList'invalid input: '&ltString'invalid input: '&gt'invalid input: '&gt' type = Type.of("Listinvalid input: '&ltString'invalid input: '&gt'"); // or Type.ofList(String.class)

 // Or
 Typeinvalid input: '&ltList'invalid input: '&ltString'invalid input: '&gt'invalid input: '&gt' type = new TypeReferenceinvalid input: '&ltList'invalid input: '&ltString'invalid input: '&gt'invalid input: '&gt'() {}.type();

 
 
Since:
1.2
Author:
Haiyang Li
  • Field Details

  • Method Details

    • of

      public static <T> Class<T> of(Class<? super T> cls)
      Type Parameters:
      T -
      Parameters:
      cls -
      Returns:
    • ofList

      public static <T> Class<List<T>> ofList()
      Type Parameters:
      T -
      Returns:
    • ofList

      public static <T> Class<List<T>> ofList(Class<T> eleCls)
      Type Parameters:
      T -
      Parameters:
      eleCls -
      Returns:
    • ofLinkedList

      public static <T> Class<List<T>> ofLinkedList()
      Of linked list.
      Type Parameters:
      T -
      Returns:
    • ofLinkedList

      public static <T> Class<List<T>> ofLinkedList(Class<T> eleCls)
      Of linked list.
      Type Parameters:
      T -
      Parameters:
      eleCls -
      Returns:
    • ofListOfMap

      public static <K, V> Class<List<Map<K,V>>> ofListOfMap(Class<K> keyCls, Class<V> valueCls)
      Of list of map.
      Type Parameters:
      K - the key type
      V - the value type
      Parameters:
      keyCls -
      valueCls -
      Returns:
    • ofSetOfMap

      public static <K, V> Class<Set<Map<K,V>>> ofSetOfMap(Class<K> keyCls, Class<V> valueCls)
      Of set of map.
      Type Parameters:
      K - the key type
      V - the value type
      Parameters:
      keyCls -
      valueCls -
      Returns:
    • ofSet

      public static <T> Class<Set<T>> ofSet()
      Type Parameters:
      T -
      Returns:
    • ofSet

      public static <T> Class<Set<T>> ofSet(Class<T> eleCls)
      Type Parameters:
      T -
      Parameters:
      eleCls -
      Returns:
    • ofLinkedHashSet

      public static <T> Class<Set<T>> ofLinkedHashSet()
      Of linked hash set.
      Type Parameters:
      T -
      Returns:
    • ofLinkedHashSet

      public static <T> Class<Set<T>> ofLinkedHashSet(Class<T> eleCls)
      Of linked hash set.
      Type Parameters:
      T -
      Parameters:
      eleCls -
      Returns:
    • ofSortedSet

      public static <T> Class<SortedSet<T>> ofSortedSet()
      Of sorted set.
      Type Parameters:
      T -
      Returns:
    • ofSortedSet

      public static <T> Class<SortedSet<T>> ofSortedSet(Class<T> eleCls)
      Of sorted set.
      Type Parameters:
      T -
      Parameters:
      eleCls -
      Returns:
    • ofNavigableSet

      public static <T> Class<NavigableSet<T>> ofNavigableSet()
      Of navigable set.
      Type Parameters:
      T -
      Returns:
    • ofNavigableSet

      public static <T> Class<NavigableSet<T>> ofNavigableSet(Class<T> eleCls)
      Of navigable set.
      Type Parameters:
      T -
      Parameters:
      eleCls -
      Returns:
    • ofTreeSet

      public static <T> Class<NavigableSet<T>> ofTreeSet()
      Of tree set.
      Type Parameters:
      T -
      Returns:
    • ofTreeSet

      public static <T> Class<NavigableSet<T>> ofTreeSet(Class<T> eleCls)
      Of tree set.
      Type Parameters:
      T -
      Parameters:
      eleCls -
      Returns:
    • ofQueue

      public static <T> Class<Queue<T>> ofQueue()
      Type Parameters:
      T -
      Returns:
    • ofQueue

      public static <T> Class<Queue<T>> ofQueue(Class<T> eleCls)
      Type Parameters:
      T -
      Parameters:
      eleCls -
      Returns:
    • ofDeque

      public static <T> Class<Deque<T>> ofDeque()
      Type Parameters:
      T -
      Returns:
    • ofDeque

      public static <T> Class<Deque<T>> ofDeque(Class<T> eleCls)
      Type Parameters:
      T -
      Parameters:
      eleCls -
      Returns:
    • ofArrayDeque

      public static <T> Class<Deque<T>> ofArrayDeque()
      Of array deque.
      Type Parameters:
      T -
      Returns:
    • ofArrayDeque

      public static <T> Class<Deque<T>> ofArrayDeque(Class<T> eleCls)
      Of array deque.
      Type Parameters:
      T -
      Parameters:
      eleCls -
      Returns:
    • ofConcurrentLinkedQueue

      public static <T> Class<Queue<T>> ofConcurrentLinkedQueue()
      Of concurrent linked queue.
      Type Parameters:
      T -
      Returns:
    • ofConcurrentLinkedQueue

      public static <T> Class<Queue<T>> ofConcurrentLinkedQueue(Class<T> eleCls)
      Of concurrent linked queue.
      Type Parameters:
      T -
      Parameters:
      eleCls -
      Returns:
    • ofPriorityQueue

      public static <T> Class<Queue<T>> ofPriorityQueue()
      Of priority queue.
      Type Parameters:
      T -
      Returns:
    • ofPriorityQueue

      public static <T> Class<Queue<T>> ofPriorityQueue(Class<T> eleCls)
      Of priority queue.
      Type Parameters:
      T -
      Parameters:
      eleCls -
      Returns:
    • ofLinkedBlockingQueue

      public static <T> Class<BlockingQueue<T>> ofLinkedBlockingQueue()
      Of linked blocking queue.
      Type Parameters:
      T -
      Returns:
    • ofLinkedBlockingQueue

      public static <T> Class<BlockingQueue<T>> ofLinkedBlockingQueue(Class<T> eleCls)
      Of linked blocking queue.
      Type Parameters:
      T -
      Parameters:
      eleCls -
      Returns:
    • ofCollection

      public static <T> Class<Collection<T>> ofCollection()
      Type Parameters:
      T -
      Returns:
    • ofCollection

      public static <T> Class<Collection<T>> ofCollection(Class<T> eleCls)
      Type Parameters:
      T -
      Parameters:
      eleCls -
      Returns:
    • ofMap

      public static <K, V> Class<Map<K,V>> ofMap()
      Type Parameters:
      K - the key type
      V - the value type
      Returns:
    • ofMap

      public static <K, V> Class<Map<K,V>> ofMap(Class<K> keyCls, Class<V> valueCls)
      Type Parameters:
      K - the key type
      V - the value type
      Parameters:
      keyCls -
      valueCls -
      Returns:
    • ofLinkedHashMap

      public static <K, V> Class<Map<K,V>> ofLinkedHashMap()
      Of linked hash map.
      Type Parameters:
      K - the key type
      V - the value type
      Returns:
    • ofLinkedHashMap

      public static <K, V> Class<Map<K,V>> ofLinkedHashMap(Class<K> keyCls, Class<V> valueCls)
      Of linked hash map.
      Type Parameters:
      K - the key type
      V - the value type
      Parameters:
      keyCls -
      valueCls -
      Returns:
    • ofSortedMap

      public static <K, V> Class<SortedMap<K,V>> ofSortedMap()
      Of sorted map.
      Type Parameters:
      K - the key type
      V - the value type
      Returns:
    • ofSortedMap

      public static <K, V> Class<SortedMap<K,V>> ofSortedMap(Class<K> keyCls, Class<V> valueCls)
      Of sorted map.
      Type Parameters:
      K - the key type
      V - the value type
      Parameters:
      keyCls -
      valueCls -
      Returns:
    • ofNavigableMap

      public static <K, V> Class<NavigableMap<K,V>> ofNavigableMap()
      Of navigable map.
      Type Parameters:
      K - the key type
      V - the value type
      Returns:
    • ofNavigableMap

      public static <K, V> Class<NavigableMap<K,V>> ofNavigableMap(Class<K> keyCls, Class<V> valueCls)
      Of navigable map.
      Type Parameters:
      K - the key type
      V - the value type
      Parameters:
      keyCls -
      valueCls -
      Returns:
    • ofTreeMap

      public static <K, V> Class<NavigableMap<K,V>> ofTreeMap()
      Of tree map.
      Type Parameters:
      K - the key type
      V - the value type
      Returns:
    • ofTreeMap

      public static <K, V> Class<NavigableMap<K,V>> ofTreeMap(Class<K> keyCls, Class<V> valueCls)
      Of tree map.
      Type Parameters:
      K - the key type
      V - the value type
      Parameters:
      keyCls -
      valueCls -
      Returns:
    • ofConcurrentMap

      public static <K, V> Class<ConcurrentMap<K,V>> ofConcurrentMap()
      Of concurrent map.
      Type Parameters:
      K - the key type
      V - the value type
      Returns:
    • ofConcurrentMap

      public static <K, V> Class<ConcurrentMap<K,V>> ofConcurrentMap(Class<K> keyCls, Class<V> valueCls)
      Of concurrent map.
      Type Parameters:
      K - the key type
      V - the value type
      Parameters:
      keyCls -
      valueCls -
      Returns:
    • ofConcurrentHashMap

      public static <K, V> Class<ConcurrentMap<K,V>> ofConcurrentHashMap()
      Of concurrent hash map.
      Type Parameters:
      K - the key type
      V - the value type
      Returns:
    • ofConcurrentHashMap

      public static <K, V> Class<ConcurrentMap<K,V>> ofConcurrentHashMap(Class<K> keyCls, Class<V> valueCls)
      Of concurrent hash map.
      Type Parameters:
      K - the key type
      V - the value type
      Parameters:
      keyCls -
      valueCls -
      Returns:
    • ofBiMap

      public static <K, V> Class<BiMap<K,V>> ofBiMap()
      Of bi map.
      Type Parameters:
      K - the key type
      V - the value type
      Returns:
    • ofBiMap

      public static <K, V> Class<BiMap<K,V>> ofBiMap(Class<K> keyCls, Class<V> valueCls)
      Of bi map.
      Type Parameters:
      K - the key type
      V - the value type
      Parameters:
      keyCls -
      valueCls -
      Returns:
    • ofMultiset

      public static <T> Class<Multiset<T>> ofMultiset()
      Type Parameters:
      T -
      Returns:
    • ofMultiset

      public static <T> Class<Multiset<T>> ofMultiset(Class<T> eleCls)
      Type Parameters:
      T -
      Parameters:
      eleCls -
      Returns:
    • ofLongMultiset

      public static <T> Class<LongMultiset<T>> ofLongMultiset()
      Of long multiset.
      Type Parameters:
      T -
      Returns:
    • ofLongMultiset

      public static <T> Class<LongMultiset<T>> ofLongMultiset(Class<T> eleCls)
      Of long multiset.
      Type Parameters:
      T -
      Parameters:
      eleCls -
      Returns:
    • ofListMultimap

      public static <K, E> Class<ListMultimap<K,E>> ofListMultimap()
      Of list multimap.
      Type Parameters:
      K - the key type
      E -
      Returns:
    • ofListMultimap

      public static <K, E> Class<ListMultimap<K,E>> ofListMultimap(Class<K> keyCls, Class<E> valueEleCls)
      Of list multimap.
      Type Parameters:
      K - the key type
      E -
      Parameters:
      keyCls -
      valueEleCls -
      Returns:
    • ofSetMultimap

      public static <K, E> Class<SetMultimap<K,E>> ofSetMultimap()
      Of set multimap.
      Type Parameters:
      K - the key type
      E -
      Returns:
    • ofSetMultimap

      public static <K, E> Class<SetMultimap<K,E>> ofSetMultimap(Class<K> keyCls, Class<E> valueEleCls)
      Of set multimap.
      Type Parameters:
      K - the key type
      E -
      Parameters:
      keyCls -
      valueEleCls -
      Returns: