
com.landawn.abacus.util.Clazz Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of abacus-common Show documentation
Show all versions of abacus-common Show documentation
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
© 2015 - 2025 Weber Informatics LLC | Privacy Policy