Java Queue Usage setQueueValue(final Queue queue, final Object obj, final Class clazz, final boolean removeNull)

Here you can find the source of setQueueValue(final Queue queue, final Object obj, final Class clazz, final boolean removeNull)

Description

Set the queue value.

License

Apache License

Parameter

Parameter Description
queue the queue
obj the object
clazz the class
removeNull If null has to be removed
T The type of the element

Declaration

private static <T> void setQueueValue(final Queue<T> queue, final Object obj, final Class<T> clazz,
        final boolean removeNull) 

Method Source Code

//package com.java2s;
/*/*from   www .j  a  va 2  s. c om*/
 * #%L
 * utils-commons
 * %%
 * Copyright (C) 2016 - 2018 Gilles Landel
 * %%
 * 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
 * 
 *      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.
 * #L%
 */

import java.util.Queue;

public class Main {
    /**
     * Set the queue value.
     * 
     * @param queue
     *            the queue
     * @param obj
     *            the object
     * @param clazz
     *            the class
     * @param removeNull
     *            If null has to be removed
     * @param <T>
     *            The type of the element
     */
    private static <T> void setQueueValue(final Queue<T> queue, final Object obj, final Class<T> clazz,
            final boolean removeNull) {
        if (obj != null && clazz.isAssignableFrom(obj.getClass())) {
            queue.add(clazz.cast(obj));
        } else if (obj == null && !removeNull) {
            queue.add(null);
        }
    }

    /**
     * Get the class of the object ({@code null} safe).
     * 
     * @param object
     *            The object (required)
     * @param <T>
     *            The object type
     * @return The class of the object or null
     */
    @SuppressWarnings("unchecked")
    public static <T> Class<T> getClass(final T object) {
        if (object != null) {
            return (Class<T>) object.getClass();
        }
        return null;
    }

    /**
     * Auto cast an object.
     * 
     * @param object
     *            The object (required)
     * @param <T>
     *            The object type
     * @return The casted object
     * @throws ClassCastException
     *             on cast failure
     */
    @SuppressWarnings("unchecked")
    public static <T> T cast(final Object object) {
        return (T) object;
    }

    /**
     * Cast an object into the specified class (null safe).
     * 
     * @param o
     *            The input object (required)
     * @param clazz
     *            The output class (required)
     * @return The casted object or {@code null}
     * @param <T>
     *            The type of the output
     */
    public static <T> T cast(final Object o, final Class<T> clazz) {
        if (o != null && clazz != null && clazz.isAssignableFrom(o.getClass())) {
            return clazz.cast(o);
        }
        return null;
    }
}

Related

  1. parsePathToStack(String path)
  2. pollWhileNotEmpty(Queue queue)
  3. queue(final Queue queue, final Object o, final Class clazz, final boolean removeNull)
  4. randomizeIndex(char[] array)
  5. scramble(Object object)
  6. toArrayTest(Queue q)
  7. transferAllElementsFromListToQueue(final List elements, Queue queue)

  8. HOME | Copyright © www.java2s.com 2016