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

org.apache.commons.lang.enums.EnumUtils Maven / Gradle / Ivy

The newest version!
/*
 * Licensed to the Apache Software Foundation (ASF) under one or more
 * contributor license agreements.  See the NOTICE file distributed with
 * this work for additional information regarding copyright ownership.
 * The ASF licenses this file to You 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
 * 
 *      http://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 org.apache.commons.lang.enums;

import java.util.Iterator;
import java.util.List;
import java.util.Map;

/**
 * 

Utility class for accessing and manipulating {@link Enum}s.

* * @see Enum * @see ValuedEnum * @author Apache Software Foundation * @author Gary Gregory * @since 2.1 (class existed in enum package from v1.0) * @version $Id: EnumUtils.java 905636 2010-02-02 14:03:32Z niallp $ */ public class EnumUtils { /** * Public constructor. This class should not normally be instantiated. * @since 2.0 */ public EnumUtils() { super(); } /** *

Gets an Enum object by class and name.

* * @param enumClass the class of the Enum to get * @param name the name of the Enum to get, may be null * @return the enum object * @throws IllegalArgumentException if the enum class is null */ public static Enum getEnum(Class enumClass, String name) { return Enum.getEnum(enumClass, name); } /** *

Gets a ValuedEnum object by class and value.

* * @param enumClass the class of the Enum to get * @param value the value of the Enum to get * @return the enum object, or null if the enum does not exist * @throws IllegalArgumentException if the enum class is null */ public static ValuedEnum getEnum(Class enumClass, int value) { return (ValuedEnum) ValuedEnum.getEnum(enumClass, value); } /** *

Gets the Map of Enum objects by * name using the Enum class.

* *

If the requested class has no enum objects an empty * Map is returned. The Map is unmodifiable.

* * @param enumClass the class of the Enum to get * @return the enum object Map * @throws IllegalArgumentException if the enum class is null * @throws IllegalArgumentException if the enum class is not a subclass * of Enum */ public static Map getEnumMap(Class enumClass) { return Enum.getEnumMap(enumClass); } /** *

Gets the List of Enum objects using * the Enum class.

* *

The list is in the order that the objects were created * (source code order).

* *

If the requested class has no enum objects an empty * List is returned. The List is unmodifiable.

* * @param enumClass the class of the Enum to get * @return the enum object Map * @throws IllegalArgumentException if the enum class is null * @throws IllegalArgumentException if the enum class is not a subclass * of Enum */ public static List getEnumList(Class enumClass) { return Enum.getEnumList(enumClass); } /** *

Gets an Iterator over the Enum objects * in an Enum class.

* *

The iterator is in the order that the objects were created * (source code order).

* *

If the requested class has no enum objects an empty * Iterator is returned. The Iterator * is unmodifiable.

* * @param enumClass the class of the Enum to get * @return an Iterator of the Enum objects * @throws IllegalArgumentException if the enum class is null * @throws IllegalArgumentException if the enum class is not a subclass of Enum */ public static Iterator iterator(Class enumClass) { return Enum.getEnumList(enumClass).iterator(); } }




© 2015 - 2024 Weber Informatics LLC | Privacy Policy