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

com.github.dcsolutions.kalinka.util.LangUtil Maven / Gradle / Ivy

package com.github.dcsolutions.kalinka.util;

import java.util.Arrays;
import java.util.List;

import com.google.common.base.Splitter;
import com.google.common.collect.Lists;

public class LangUtil {

	public static  Class createClass(final String className, final Class superClass) {

		try {
			final Class clazz = Class.forName(className);
			final Class subClass = clazz.asSubclass(superClass);
			return subClass;
		} catch (final ClassNotFoundException e) {
			throw new RuntimeException("Cannot create class=" + className, e);
		}
	}

	public static  T createObject(final String className, final Class superClass) {

		try {
			return createClass(className, superClass).newInstance();

		} catch (final Throwable t) {
			throw new RuntimeException("Could not create object of type=" + className);
		}
	}

	@SafeVarargs
	public static  List combine(final List... lists) {

		if (lists == null || lists.length == 0) {
			throw new RuntimeException("Cannot combine null|empty lists");
		}
		return Arrays.asList(lists).stream().reduce(Lists.newArrayList(), (l1, l2) -> {
			l1.addAll(l2);
			return l1;
		});
	}

	@SafeVarargs
	public static  List toList(final T... args) {

		return Lists.newArrayList(args);
	}

	public static List splitCsStrings(final String cs) {

		return Splitter.on(',').omitEmptyStrings().trimResults().splitToList(cs);
	}


}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy