Main.java Source code

Java tutorial

Introduction

Here is the source code for Main.java

Source

//package com.java2s;
/*******************************************************************************
 * Breakout Cave Survey Visualizer
 *
 * Copyright (C) 2014 James Edwards
 *
 * jedwards8 at fastmail dot fm
 *
 * This program is free software; you can redistribute it and/or modify
 * it under the terms of the GNU General Public License as published by
 * the Free Software Foundation; either version 2 of the License, or
 * (at your option) any later version.
 *
 * This program is distributed in the hope that it will be useful,
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 * GNU General Public License for more details.
 *
 * You should have received a copy of the GNU General Public License along
 * with this program; if not, write to the Free Software Foundation, Inc.,
 * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
 *******************************************************************************/

import java.util.List;

public class Main {
    /**
     * Gets the index of the first element in the given list of the given type.
     * 
     * @param list
     *            the list to search through.
     * @param type
     *            the type to find.
     * @return the first element in {@code list} that is an instance of {@code type}, or {@code null} if no such element
     *         is in {@code list}.
     */
    @SuppressWarnings("unchecked")
    public static <T, S extends T> S findInstance(List<T> list, Class<S> type) {
        int index = indexOfInstance(list, type);
        return index < 0 ? null : (S) list.get(index);
    }

    /**
     * Finds the index of the first element in the given list of the given type.
     * 
     * @param list
     *            the list to search through.
     * @param type
     *            the type to find.
     * @return the index of the first element in {@code list} that is an instance of {@code type}, or -1 if no such
     *         element is in {@code list}.
     */
    public static <T> int indexOfInstance(List<T> list, Class<? extends T> type) {
        int k = 0;
        for (T t : list) {
            if (type.isInstance(t)) {
                return k;
            }
            k++;
        }
        return -1;
    }
}