All Downloads are FREE. Search and download functionalities are using the official Maven repository.

com.landawn.abacus.util.Clazz Maven / Gradle / Ivy

Go to download

A general programming library in Java/Android. It's easy to learn and simple to use with concise and powerful APIs.

The newest version!
/*
 * Copyright (C) 2018 HaiYang Li
 *
 * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except
 * in compliance with the License. You may obtain a copy of the License at
 *
 * https://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software distributed under the License
 * is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express
 * or implied. See the License for the specific language governing permissions and limitations under
 * the License.
 */

package com.landawn.abacus.util;

import java.util.ArrayDeque;
import java.util.Collection;
import java.util.Deque;
import java.util.LinkedHashMap;
import java.util.LinkedHashSet;
import java.util.LinkedList;
import java.util.List;
import java.util.Map;
import java.util.NavigableMap;
import java.util.NavigableSet;
import java.util.PriorityQueue;
import java.util.Queue;
import java.util.Set;
import java.util.SortedMap;
import java.util.SortedSet;
import java.util.TreeMap;
import java.util.TreeSet;
import java.util.concurrent.BlockingQueue;
import java.util.concurrent.ConcurrentHashMap;
import java.util.concurrent.ConcurrentLinkedQueue;
import java.util.concurrent.ConcurrentMap;
import java.util.concurrent.LinkedBlockingQueue;

/**
 * It's designed to provide a convenient way to parameterize the generic type (e.g., {@code List.class}).
 * 
* But the returned Class by all the methods doesn't have the actual parameterized type information. For example: *
 * 
 * {@code Class> clazz = Clazz.ofList(String.class);}
 * // clazz doesn't have the actual type parameters information.
 * // you won't be able to get type parameter {@code String} by: cls.getTypeParameters();
 * // To save the real type parameters: you need to either:
 * {@code Type> type = Type.of("List"); // or Type.ofList(String.class)}
 *
 * // Or
 * Type<List<String>> type = new TypeReference<List<String>>() {}.type();
 *
 * 
 * 
* * @see com.landawn.abacus.type.Type * @see TypeReference * @see TypeReference.TypeToken */ @SuppressWarnings("java:S1172") public final class Clazz { @SuppressWarnings("rawtypes") public static final Class> PROPS_MAP = (Class) LinkedHashMap.class; @SuppressWarnings("rawtypes") public static final Class> MAP = (Class) Map.class; @SuppressWarnings("rawtypes") public static final Class> LINKED_HASH_MAP = (Class) LinkedHashMap.class; @SuppressWarnings("rawtypes") public static final Class> STRING_LIST = (Class) List.class; @SuppressWarnings("rawtypes") public static final Class> INTEGER_LIST = (Class) List.class; @SuppressWarnings("rawtypes") public static final Class> LONG_LIST = (Class) List.class; @SuppressWarnings("rawtypes") public static final Class> DOUBLE_LIST = (Class) List.class; @SuppressWarnings("rawtypes") public static final Class> OBJECT_LIST = (Class) List.class; @SuppressWarnings("rawtypes") public static final Class> STRING_SET = (Class) Set.class; @SuppressWarnings("rawtypes") public static final Class> INTEGER_SET = (Class) Set.class; @SuppressWarnings("rawtypes") public static final Class> LONG_SET = (Class) Set.class; @SuppressWarnings("rawtypes") public static final Class> DOUBLE_SET = (Class) Set.class; @SuppressWarnings("rawtypes") public static final Class> OBJECT_SET = (Class) Set.class; private Clazz() { // singleton. } /** * Returns the class of the specified type. Warning: the returned class doesn't have the actual type parameters information. * * @param * @param cls * @return * @see TypeReference#type() * @see com.landawn.abacus.type.Type#of(String) * @see com.landawn.abacus.type.Type#of(Class) */ @SuppressWarnings("rawtypes") public static Class of(final Class cls) { return (Class) cls; } /** * Returns the class of {@code List} type. Warning: the returned class doesn't have the actual type parameters information. * * @param * @return * @see TypeReference#type() * @see com.landawn.abacus.type.Type#of(String) * @see com.landawn.abacus.type.Type#of(Class) */ @SuppressWarnings("rawtypes") public static Class> ofList() { return (Class) List.class; } /** * Returns the class of {@code List} type. Warning: the returned class doesn't have the actual type parameters information. * * @param * @param eleCls * @return * @see TypeReference#type() * @see com.landawn.abacus.type.Type#of(String) * @see com.landawn.abacus.type.Type#of(Class) */ @SuppressWarnings("rawtypes") public static Class> ofList(@SuppressWarnings("unused") final Class eleCls) { return (Class) List.class; } /** * Returns the class of {@code LinkedList} type. Warning: the returned class doesn't have the actual type parameters information. * * @param * @return * @see TypeReference#type() * @see com.landawn.abacus.type.Type#of(String) * @see com.landawn.abacus.type.Type#of(Class) */ @SuppressWarnings("rawtypes") public static Class> ofLinkedList() { return (Class) LinkedList.class; } /** * Returns the class of {@code LinkedList} type. Warning: the returned class doesn't have the actual type parameters information. * * @param * @param eleCls * @return * @see TypeReference#type() * @see com.landawn.abacus.type.Type#of(String) * @see com.landawn.abacus.type.Type#of(Class) */ @SuppressWarnings("rawtypes") public static Class> ofLinkedList(@SuppressWarnings("unused") final Class eleCls) { return (Class) LinkedList.class; } /** * Returns the class of {@code List} type. Warning: the returned class doesn't have the actual type parameters information. * * @param the key type * @param the value type * @param keyCls * @param valueCls * @return * @see TypeReference#type() * @see com.landawn.abacus.type.Type#of(String) * @see com.landawn.abacus.type.Type#of(Class) */ @SuppressWarnings("rawtypes") public static Class>> ofListOfMap(@SuppressWarnings("unused") final Class keyCls, @SuppressWarnings("unused") final Class valueCls) { return (Class) List.class; } /** * Returns the class of {@code Set} type. Warning: the returned class doesn't have the actual type parameters information. * * @param the key type * @param the value type * @param keyCls * @param valueCls * @return * @see TypeReference#type() * @see com.landawn.abacus.type.Type#of(String) * @see com.landawn.abacus.type.Type#of(Class) */ @SuppressWarnings("rawtypes") public static Class>> ofSetOfMap(@SuppressWarnings("unused") final Class keyCls, @SuppressWarnings("unused") final Class valueCls) { return (Class) Set.class; } /** * Returns the class of {@code Set} type. Warning: the returned class doesn't have the actual type parameters information. * * @param * @return * @see TypeReference#type() * @see com.landawn.abacus.type.Type#of(String) * @see com.landawn.abacus.type.Type#of(Class) */ @SuppressWarnings("rawtypes") public static Class> ofSet() { return (Class) Set.class; } /** * Returns the class of {@code Set} type. Warning: the returned class doesn't have the actual type parameters information. * * @param * @param eleCls * @return * @see TypeReference#type() * @see com.landawn.abacus.type.Type#of(String) * @see com.landawn.abacus.type.Type#of(Class) */ @SuppressWarnings("rawtypes") public static Class> ofSet(@SuppressWarnings("unused") final Class eleCls) { return (Class) Set.class; } /** * Returns the class of {@code LinkedHashSet} type. Warning: the returned class doesn't have the actual type parameters information. * * @param * @return * @see TypeReference#type() * @see com.landawn.abacus.type.Type#of(String) * @see com.landawn.abacus.type.Type#of(Class) */ @SuppressWarnings("rawtypes") public static Class> ofLinkedHashSet() { return (Class) LinkedHashSet.class; } /** * Returns the class of {@code LinkedHashSet} type. Warning: the returned class doesn't have the actual type parameters information. * * @param * @param eleCls * @return * @see TypeReference#type() * @see com.landawn.abacus.type.Type#of(String) * @see com.landawn.abacus.type.Type#of(Class) */ @SuppressWarnings("rawtypes") public static Class> ofLinkedHashSet(@SuppressWarnings("unused") final Class eleCls) { return (Class) LinkedHashSet.class; } /** * Returns the class of {@code SortedSet} type. Warning: the returned class doesn't have the actual type parameters information. * * @param * @return * @see TypeReference#type() * @see com.landawn.abacus.type.Type#of(String) * @see com.landawn.abacus.type.Type#of(Class) */ @SuppressWarnings("rawtypes") public static Class> ofSortedSet() { return (Class) SortedSet.class; } /** * Returns the class of {@code SortedSet} type. Warning: the returned class doesn't have the actual type parameters information. * * @param * @param eleCls * @return * @see TypeReference#type() * @see com.landawn.abacus.type.Type#of(String) * @see com.landawn.abacus.type.Type#of(Class) */ @SuppressWarnings("rawtypes") public static Class> ofSortedSet(@SuppressWarnings("unused") final Class eleCls) { return (Class) SortedSet.class; } /** * Returns the class of {@code NavigableSet} type. Warning: the returned class doesn't have the actual type parameters information. * * @param * @return * @see TypeReference#type() * @see com.landawn.abacus.type.Type#of(String) * @see com.landawn.abacus.type.Type#of(Class) */ @SuppressWarnings("rawtypes") public static Class> ofNavigableSet() { return (Class) NavigableSet.class; } /** * Returns the class of {@code NavigableSet} type. Warning: the returned class doesn't have the actual type parameters information. * * @param * @param eleCls * @return * @see TypeReference#type() * @see com.landawn.abacus.type.Type#of(String) * @see com.landawn.abacus.type.Type#of(Class) */ @SuppressWarnings("rawtypes") public static Class> ofNavigableSet(@SuppressWarnings("unused") final Class eleCls) { return (Class) NavigableSet.class; } /** * Returns the class of {@code TreeSet} type. Warning: the returned class doesn't have the actual type parameters information. * * @param * @return * @see TypeReference#type() * @see com.landawn.abacus.type.Type#of(String) * @see com.landawn.abacus.type.Type#of(Class) */ @SuppressWarnings("rawtypes") public static Class> ofTreeSet() { return (Class) TreeSet.class; } /** * Returns the class of {@code TreeSet} type. Warning: the returned class doesn't have the actual type parameters information. * * @param * @param eleCls * @return * @see TypeReference#type() * @see com.landawn.abacus.type.Type#of(String) * @see com.landawn.abacus.type.Type#of(Class) */ @SuppressWarnings("rawtypes") public static Class> ofTreeSet(@SuppressWarnings("unused") final Class eleCls) { return (Class) TreeSet.class; } /** * Returns the class of {@code Queue} type. Warning: the returned class doesn't have the actual type parameters information. * * @param * @return * @see TypeReference#type() * @see com.landawn.abacus.type.Type#of(String) * @see com.landawn.abacus.type.Type#of(Class) */ @SuppressWarnings("rawtypes") public static Class> ofQueue() { return (Class) Queue.class; } /** * Returns the class of {@code Queue} type. Warning: the returned class doesn't have the actual type parameters information. * * @param * @param eleCls * @return * @see TypeReference#type() * @see com.landawn.abacus.type.Type#of(String) * @see com.landawn.abacus.type.Type#of(Class) */ @SuppressWarnings("rawtypes") public static Class> ofQueue(@SuppressWarnings("unused") final Class eleCls) { return (Class) Queue.class; } /** * Returns the class of {@code Deque} type. Warning: the returned class doesn't have the actual type parameters information. * * @param * @return * @see TypeReference#type() * @see com.landawn.abacus.type.Type#of(String) * @see com.landawn.abacus.type.Type#of(Class) */ @SuppressWarnings("rawtypes") public static Class> ofDeque() { return (Class) Deque.class; } /** * Returns the class of {@code Deque} type. Warning: the returned class doesn't have the actual type parameters information. * * @param * @param eleCls * @return * @see TypeReference#type() * @see com.landawn.abacus.type.Type#of(String) * @see com.landawn.abacus.type.Type#of(Class) */ @SuppressWarnings("rawtypes") public static Class> ofDeque(@SuppressWarnings("unused") final Class eleCls) { return (Class) Deque.class; } /** * Returns the class of {@code ArrayDeque} type. Warning: the returned class doesn't have the actual type parameters information. * * @param * @return * @see TypeReference#type() * @see com.landawn.abacus.type.Type#of(String) * @see com.landawn.abacus.type.Type#of(Class) */ @SuppressWarnings("rawtypes") public static Class> ofArrayDeque() { return (Class) ArrayDeque.class; } /** * Returns the class of {@code ArrayDeque} type. Warning: the returned class doesn't have the actual type parameters information. * * @param * @param eleCls * @return * @see TypeReference#type() * @see com.landawn.abacus.type.Type#of(String) * @see com.landawn.abacus.type.Type#of(Class) */ @SuppressWarnings("rawtypes") public static Class> ofArrayDeque(@SuppressWarnings("unused") final Class eleCls) { return (Class) ArrayDeque.class; } /** * Returns the class of {@code ConcurrentLinkedQueue} type. Warning: the returned class doesn't have the actual type parameters information. * * @param * @return * @see TypeReference#type() * @see com.landawn.abacus.type.Type#of(String) * @see com.landawn.abacus.type.Type#of(Class) */ @SuppressWarnings("rawtypes") public static Class> ofConcurrentLinkedQueue() { return (Class) ConcurrentLinkedQueue.class; } /** * Returns the class of {@code ConcurrentLinkedQueue} type. Warning: the returned class doesn't have the actual type parameters information. * * @param * @param eleCls * @return * @see TypeReference#type() * @see com.landawn.abacus.type.Type#of(String) * @see com.landawn.abacus.type.Type#of(Class) */ @SuppressWarnings("rawtypes") public static Class> ofConcurrentLinkedQueue(@SuppressWarnings("unused") final Class eleCls) { return (Class) ConcurrentLinkedQueue.class; } /** * Returns the class of {@code PriorityQueue} type. Warning: the returned class doesn't have the actual type parameters information. * * @param * @return * @see TypeReference#type() * @see com.landawn.abacus.type.Type#of(String) * @see com.landawn.abacus.type.Type#of(Class) */ @SuppressWarnings("rawtypes") public static Class> ofPriorityQueue() { return (Class) PriorityQueue.class; } /** * Returns the class of {@code PriorityQueue} type. Warning: the returned class doesn't have the actual type parameters information. * * @param * @param eleCls * @return * @see TypeReference#type() * @see com.landawn.abacus.type.Type#of(String) * @see com.landawn.abacus.type.Type#of(Class) */ @SuppressWarnings("rawtypes") public static Class> ofPriorityQueue(@SuppressWarnings("unused") final Class eleCls) { return (Class) PriorityQueue.class; } /** * Returns the class of {@code LinkedBlockingQueue} type. Warning: the returned class doesn't have the actual type parameters information. * * @param * @return * @see TypeReference#type() * @see com.landawn.abacus.type.Type#of(String) * @see com.landawn.abacus.type.Type#of(Class) */ @SuppressWarnings("rawtypes") public static Class> ofLinkedBlockingQueue() { return (Class) LinkedBlockingQueue.class; } /** * Returns the class of {@code LinkedBlockingQueue} type. Warning: the returned class doesn't have the actual type parameters information. * * @param * @param eleCls * @return * @see TypeReference#type() * @see com.landawn.abacus.type.Type#of(String) * @see com.landawn.abacus.type.Type#of(Class) */ @SuppressWarnings("rawtypes") public static Class> ofLinkedBlockingQueue(@SuppressWarnings("unused") final Class eleCls) { return (Class) LinkedBlockingQueue.class; } /** * Returns the class of {@code Collection} type. Warning: the returned class doesn't have the actual type parameters information. * * @param * @return * @see TypeReference#type() * @see com.landawn.abacus.type.Type#of(String) * @see com.landawn.abacus.type.Type#of(Class) */ @SuppressWarnings("rawtypes") public static Class> ofCollection() { return (Class) Collection.class; } /** * Returns the class of {@code Collection} type. Warning: the returned class doesn't have the actual type parameters information. * * @param * @param eleCls * @return * @see TypeReference#type() * @see com.landawn.abacus.type.Type#of(String) * @see com.landawn.abacus.type.Type#of(Class) */ @SuppressWarnings("rawtypes") public static Class> ofCollection(@SuppressWarnings("unused") final Class eleCls) { return (Class) Collection.class; } /** * Returns the class of {@code Map} type. Warning: the returned class doesn't have the actual type parameters information. * * @param the key type * @param the value type * @return * @see TypeReference#type() * @see com.landawn.abacus.type.Type#of(String) * @see com.landawn.abacus.type.Type#of(Class) */ @SuppressWarnings("rawtypes") public static Class> ofMap() { return (Class) Map.class; } /** * Returns the class of {@code Map} type. Warning: the returned class doesn't have the actual type parameters information. * * @param the key type * @param the value type * @param keyCls * @param valueCls * @return * @see TypeReference#type() * @see com.landawn.abacus.type.Type#of(String) * @see com.landawn.abacus.type.Type#of(Class) */ @SuppressWarnings("rawtypes") public static Class> ofMap(@SuppressWarnings("unused") final Class keyCls, @SuppressWarnings("unused") final Class valueCls) { return (Class) Map.class; } /** * Returns the class of {@code LinkedHashMap} type. Warning: the returned class doesn't have the actual type parameters information. * * @param the key type * @param the value type * @return * @see TypeReference#type() * @see com.landawn.abacus.type.Type#of(String) * @see com.landawn.abacus.type.Type#of(Class) */ @SuppressWarnings("rawtypes") public static Class> ofLinkedHashMap() { return (Class) LinkedHashMap.class; } /** * Returns the class of {@code LinkedHashMap} type. Warning: the returned class doesn't have the actual type parameters information. * * @param the key type * @param the value type * @param keyCls * @param valueCls * @return * @see TypeReference#type() * @see com.landawn.abacus.type.Type#of(String) * @see com.landawn.abacus.type.Type#of(Class) */ @SuppressWarnings("rawtypes") public static Class> ofLinkedHashMap(@SuppressWarnings("unused") final Class keyCls, @SuppressWarnings("unused") final Class valueCls) { return (Class) LinkedHashMap.class; } /** * Returns the class of {@code SortedMap} type. Warning: the returned class doesn't have the actual type parameters information. * * @param the key type * @param the value type * @return * @see TypeReference#type() * @see com.landawn.abacus.type.Type#of(String) * @see com.landawn.abacus.type.Type#of(Class) */ @SuppressWarnings("rawtypes") public static Class> ofSortedMap() { return (Class) SortedMap.class; } /** * Returns the class of {@code SortedMap} type. Warning: the returned class doesn't have the actual type parameters information. * * @param the key type * @param the value type * @param keyCls * @param valueCls * @return * @see TypeReference#type() * @see com.landawn.abacus.type.Type#of(String) * @see com.landawn.abacus.type.Type#of(Class) */ @SuppressWarnings("rawtypes") public static Class> ofSortedMap(@SuppressWarnings("unused") final Class keyCls, @SuppressWarnings("unused") final Class valueCls) { return (Class) SortedMap.class; } /** * Returns the class of {@code NavigableMap} type. Warning: the returned class doesn't have the actual type parameters information. * * @param the key type * @param the value type * @return * @see TypeReference#type() * @see com.landawn.abacus.type.Type#of(String) * @see com.landawn.abacus.type.Type#of(Class) */ @SuppressWarnings("rawtypes") public static Class> ofNavigableMap() { return (Class) NavigableMap.class; } /** * Returns the class of {@code NavigableMap} type. Warning: the returned class doesn't have the actual type parameters information. * * @param the key type * @param the value type * @param keyCls * @param valueCls * @return * @see TypeReference#type() * @see com.landawn.abacus.type.Type#of(String) * @see com.landawn.abacus.type.Type#of(Class) */ @SuppressWarnings("rawtypes") public static Class> ofNavigableMap(@SuppressWarnings("unused") final Class keyCls, @SuppressWarnings("unused") final Class valueCls) { return (Class) NavigableMap.class; } /** * Returns the class of {@code TreeMap} type. Warning: the returned class doesn't have the actual type parameters information. * * @param the key type * @param the value type * @return * @see TypeReference#type() * @see com.landawn.abacus.type.Type#of(String) * @see com.landawn.abacus.type.Type#of(Class) */ @SuppressWarnings("rawtypes") public static Class> ofTreeMap() { return (Class) TreeMap.class; } /** * Returns the class of {@code TreeMap} type. Warning: the returned class doesn't have the actual type parameters information. * * @param the key type * @param the value type * @param keyCls * @param valueCls * @return * @see TypeReference#type() * @see com.landawn.abacus.type.Type#of(String) * @see com.landawn.abacus.type.Type#of(Class) */ @SuppressWarnings("rawtypes") public static Class> ofTreeMap(@SuppressWarnings("unused") final Class keyCls, @SuppressWarnings("unused") final Class valueCls) { return (Class) TreeMap.class; } /** * Returns the class of {@code ConcurrentMap} type. Warning: the returned class doesn't have the actual type parameters information. * * @param the key type * @param the value type * @return * @see TypeReference#type() * @see com.landawn.abacus.type.Type#of(String) * @see com.landawn.abacus.type.Type#of(Class) */ @SuppressWarnings("rawtypes") public static Class> ofConcurrentMap() { return (Class) ConcurrentMap.class; } /** * Returns the class of {@code ConcurrentMap} type. Warning: the returned class doesn't have the actual type parameters information. * * @param the key type * @param the value type * @param keyCls * @param valueCls * @return * @see TypeReference#type() * @see com.landawn.abacus.type.Type#of(String) * @see com.landawn.abacus.type.Type#of(Class) */ @SuppressWarnings("rawtypes") public static Class> ofConcurrentMap(@SuppressWarnings("unused") final Class keyCls, @SuppressWarnings("unused") final Class valueCls) { return (Class) ConcurrentMap.class; } /** * Returns the class of {@code ConcurrentHashMap} type. Warning: the returned class doesn't have the actual type parameters information. * * @param the key type * @param the value type * @return * @see TypeReference#type() * @see com.landawn.abacus.type.Type#of(String) * @see com.landawn.abacus.type.Type#of(Class) */ @SuppressWarnings("rawtypes") public static Class> ofConcurrentHashMap() { return (Class) ConcurrentHashMap.class; } /** * Returns the class of {@code ConcurrentHashMap} type. Warning: the returned class doesn't have the actual type parameters information. * * @param the key type * @param the value type * @param keyCls * @param valueCls * @return * @see TypeReference#type() * @see com.landawn.abacus.type.Type#of(String) * @see com.landawn.abacus.type.Type#of(Class) */ @SuppressWarnings("rawtypes") public static Class> ofConcurrentHashMap(@SuppressWarnings("unused") final Class keyCls, @SuppressWarnings("unused") final Class valueCls) { return (Class) ConcurrentHashMap.class; } /** * Returns the class of {@code BiMap} type. Warning: the returned class doesn't have the actual type parameters information. * * @param the key type * @param the value type * @return * @see TypeReference#type() * @see com.landawn.abacus.type.Type#of(String) * @see com.landawn.abacus.type.Type#of(Class) */ @SuppressWarnings("rawtypes") public static Class> ofBiMap() { return (Class) BiMap.class; } /** * Returns the class of {@code BiMap} type. Warning: the returned class doesn't have the actual type parameters information. * * @param the key type * @param the value type * @param keyCls * @param valueCls * @return * @see TypeReference#type() * @see com.landawn.abacus.type.Type#of(String) * @see com.landawn.abacus.type.Type#of(Class) */ @SuppressWarnings("rawtypes") public static Class> ofBiMap(@SuppressWarnings("unused") final Class keyCls, @SuppressWarnings("unused") final Class valueCls) { return (Class) BiMap.class; } /** * Returns the class of {@code Multimap} type. Warning: the returned class doesn't have the actual type parameters information. * * @param * @return * @see TypeReference#type() * @see com.landawn.abacus.type.Type#of(String) * @see com.landawn.abacus.type.Type#of(Class) */ @SuppressWarnings("rawtypes") public static Class> ofMultiset() { return (Class) Multiset.class; } /** * Returns the class of {@code Multimap} type. Warning: the returned class doesn't have the actual type parameters information. * * @param * @param eleCls * @return * @see TypeReference#type() * @see com.landawn.abacus.type.Type#of(String) * @see com.landawn.abacus.type.Type#of(Class) */ @SuppressWarnings("rawtypes") public static Class> ofMultiset(@SuppressWarnings("unused") final Class eleCls) { return (Class) Multiset.class; } /** * Returns the class of {@code ListMultimap} type. Warning: the returned class doesn't have the actual type parameters information. * * @param the key type * @param * @return * @see TypeReference#type() * @see com.landawn.abacus.type.Type#of(String) * @see com.landawn.abacus.type.Type#of(Class) */ @SuppressWarnings("rawtypes") public static Class> ofListMultimap() { return (Class) ListMultimap.class; } /** * Returns the class of {@code ListMultimap} type. Warning: the returned class doesn't have the actual type parameters information. * * @param the key type * @param * @param keyCls * @param valueEleCls * @return * @see TypeReference#type() * @see com.landawn.abacus.type.Type#of(String) * @see com.landawn.abacus.type.Type#of(Class) */ @SuppressWarnings("rawtypes") public static Class> ofListMultimap(@SuppressWarnings("unused") final Class keyCls, @SuppressWarnings("unused") final Class valueEleCls) { return (Class) ListMultimap.class; } /** * Returns the class of {@code SetMultimap} type. Warning: the returned class doesn't have the actual type parameters information. * * @param the key type * @param * @return * @see TypeReference#type() * @see com.landawn.abacus.type.Type#of(String) * @see com.landawn.abacus.type.Type#of(Class) */ @SuppressWarnings("rawtypes") public static Class> ofSetMultimap() { return (Class) SetMultimap.class; } /** * Returns the class of {@code SetMultimap} type. Warning: the returned class doesn't have the actual type parameters information. * * @param the key type * @param * @param keyCls * @param valueEleCls * @return * @see TypeReference#type() * @see com.landawn.abacus.type.Type#of(String) * @see com.landawn.abacus.type.Type#of(Class) */ @SuppressWarnings("rawtypes") public static Class> ofSetMultimap(@SuppressWarnings("unused") final Class keyCls, @SuppressWarnings("unused") final Class valueEleCls) { return (Class) SetMultimap.class; } }




© 2015 - 2025 Weber Informatics LLC | Privacy Policy