List of usage examples for org.apache.commons.lang3 ClassUtils getClass
public static Class<?> getClass(final String className) throws ClassNotFoundException
From source file:org.lenskit.data.entities.EntityDefaults.java
/** * Create an entity defaults object from a bean. * @param type The entity type./* w w w. j a va2 s . c om*/ * @param bean The bean. * @return The entity defaults. */ private static EntityDefaults fromBean(EntityType type, DefaultsBean bean) { Map<String, TypedName<?>> attrs = new HashMap<>(); for (Map.Entry<String, String> ab : bean.getAttributes().entrySet()) { attrs.put(ab.getKey(), TypedName.create(ab.getKey(), ab.getValue())); } List<TypedName<?>> cols = new ArrayList<>(); for (String col : bean.getColumns()) { cols.add(attrs.get(col)); } List<EntityDerivation> derivs = new ArrayList<>(); for (Map.Entry<String, String> d : bean.getDerivations().entrySet()) { EntityType et = EntityType.forName(d.getKey()); TypedName<?> attr = attrs.get(d.getValue()); if (!attr.getType().equals(Long.class)) { throw new RuntimeException("derived entity derives from non-Long column"); } derivs.add(EntityDerivation.create(et, type, (TypedName<Long>) attr)); } Class<?> builder; String builderName = bean.getBuilder(); if (builderName != null) { try { builder = ClassUtils.getClass(bean.getBuilder()); } catch (ClassNotFoundException ex) { throw new RuntimeException("could not find builder class", ex); } } else { builder = BasicEntityBuilder.class; } return new EntityDefaults(type, attrs.values(), cols, builder.asSubclass(EntityBuilder.class), derivs); }
From source file:org.lenskit.data.entities.TypedName.java
/** * Create an typed name from a name and type name. * @param name The name./*from w w w . j a v a 2 s .com*/ * @param typeName The type name. * @return The attribute. * @throws IllegalArgumentException if `typeName` is not a valid type name. */ public static TypedName<?> create(String name, String typeName) { Class<?> type; switch (typeName) { case "string": case "String": type = String.class; break; case "int": case "Integer": type = Integer.class; break; case "long": case "Long": type = Long.class; break; case "double": case "real": case "Double": type = Double.class; break; default: try { type = ClassUtils.getClass(typeName); } catch (ClassNotFoundException e) { throw new IllegalArgumentException("Cannot load type name ", e); } } return create(name, type); }
From source file:org.lenskit.util.TypeUtils.java
/** * Resolve a type name into a type. This is like class lookup with a few additions: * * - Aliases for common types (`string`, `int`, `long`, `double`) * - Lists are handled with an array syntax (`string[]` becomes {@code List<String>}) * * @param type The type name to resolve. * @return The type./*from w w w. j ava2 s .c o m*/ */ public static TypeToken<?> resolveTypeName(String type) { Preconditions.checkArgument(type.length() > 0, "type name is empty"); if (type.endsWith("[]")) { String nt = type.substring(0, type.length() - 2); TypeToken<?> inner = resolveTypeName(nt); return makeListType(inner); } switch (type) { case "string": case "String": return TypeToken.of(String.class); case "int": case "Integer": return TypeToken.of(Integer.class); case "long": case "Long": return TypeToken.of(Long.class); case "double": case "real": case "Double": return TypeToken.of(Double.class); case "text": case "Text": return TypeToken.of(Text.class); default: try { return TypeToken.of(ClassUtils.getClass(type)); } catch (ClassNotFoundException e) { throw new IllegalArgumentException("Cannot load type name ", e); } } }
From source file:org.talend.daikon.properties.property.EnumProperty.java
@SuppressWarnings("unchecked") @Override/*from www .j av a2 s .c o m*/ public T getValue() { Object value = storedValue; if (propertyValueEvaluator != null) { value = propertyValueEvaluator.evaluate(this, storedValue); } // else not evaluator so return the storedValue // try to convert the String to the enum if (value instanceof String) { try { Class<T> enumClass = (Class<T>) ClassUtils.getClass(getType()); return Enum.valueOf(enumClass, (String) value); } catch (ClassNotFoundException e) { TalendRuntimeException.unexpectedException(e); } } return (T) value; }
From source file:therian.buildweaver.StandardOperatorsProcessor.java
@Override public boolean process(Set<? extends TypeElement> annotations, RoundEnvironment roundEnv) { try {/*from ww w. j a va2 s . c o m*/ final FileObject resource = processingEnv.getFiler().getResource(StandardLocation.CLASS_OUTPUT, StringUtils.substringBeforeLast(TARGET_CLASSNAME, ".").replace('.', '/'), StringUtils.substringAfterLast(TARGET_CLASSNAME, ".") + ".class"); if (resource.getLastModified() > 0L) { processingEnv.getMessager().printMessage(Kind.NOTE, String.format("%s already generated", TARGET_CLASSNAME)); return false; } } catch (IOException e1) { // expected, swallow } try { ClassUtils.getClass(TARGET_CLASSNAME); processingEnv.getMessager().printMessage(Kind.ERROR, String.format("%s exists on classpath", TARGET_CLASSNAME)); return false; } catch (ClassNotFoundException e) { // expected, swallow } if (roundEnv.processingOver()) { write(); return true; } for (TypeElement ann : annotations) { final Set<? extends Element> standardOperatorElements = roundEnv.getElementsAnnotatedWith(ann); originatingElements.addAll(standardOperatorElements); for (Element element : standardOperatorElements) { Validate.validState(isValidStandardOperator(element), "%s is not a valid @StandardOperator", appendTo(new StringBuilder(), element).toString()); if (element.getKind() == ElementKind.CLASS) { operators.add(appendTo(new StringBuilder("new "), element).append("()").toString()); } if (element.getKind() == ElementKind.METHOD) { operators.add(appendTo(new StringBuilder(), element).append("()").toString()); } if (element.getKind() == ElementKind.FIELD) { operators.add(appendTo(new StringBuilder(), element).toString()); } } } return true; }
From source file:yoyo.framework.standard.shared.commons.lang.ClassUtilsTest.java
@Test public void test() throws ClassNotFoundException, SecurityException, NoSuchMethodException { List<Class<?>> classes = new ArrayList<Class<?>>() { {// ww w . ja va 2s. c o m add(Integer.class); add(Long.class); } }; assertThat(ClassUtils.convertClassesToClassNames(classes).toArray(), is(new Object[] { "java.lang.Integer", "java.lang.Long" })); List<String> classNames = new ArrayList<String>() { { add("java.lang.Integer"); add("java.lang.Long"); } }; assertThat(ClassUtils.convertClassNamesToClasses(classNames).toArray(), is(classes.toArray())); assertThat(ClassUtils.getAllInterfaces(String.class).toArray(), is(new Object[] { java.io.Serializable.class, java.lang.Comparable.class, java.lang.CharSequence.class })); assertThat(ClassUtils.getAllSuperclasses(HashMap.class).toArray(), is(new Object[] { java.util.AbstractMap.class, java.lang.Object.class })); assertThat(ClassUtils.getClass("java.lang.String").toString(), is("class java.lang.String")); assertThat(ClassUtils.getPackageCanonicalName(String.class), is("java.lang")); assertThat(ClassUtils.getPackageName(String.class), is("java.lang")); assertThat(ClassUtils.getPublicMethod(String.class, "length", new Class[] {}), is(not(nullValue()))); assertThat(ClassUtils.getShortCanonicalName(String.class), is("String")); assertThat(ClassUtils.getShortClassName(String.class), is("String")); assertThat(ClassUtils.getSimpleName(String.class), is("String")); assertThat(ClassUtils.isAssignable(String.class, Object.class), is(true)); assertThat(ClassUtils.isInnerClass(Foo.class), is(true)); assertThat(ClassUtils.isInnerClass(String.class), is(false)); assertThat(ClassUtils.isPrimitiveOrWrapper(Integer.class), is(true)); assertThat(ClassUtils.isPrimitiveOrWrapper(String.class), is(false)); assertThat(ClassUtils.isPrimitiveWrapper(Integer.class), is(true)); assertThat(ClassUtils.isPrimitiveWrapper(String.class), is(false)); assertThat(ClassUtils.primitivesToWrappers(new Class[] { Integer.class, Long.class }), is(not(nullValue()))); assertThat(ClassUtils.primitiveToWrapper(Integer.class), is(not(nullValue()))); assertThat(ClassUtils.toClass(1L, 2L), is(not(nullValue()))); assertThat(ClassUtils.wrappersToPrimitives(new Class[] { Integer.class, Long.class }), is(not(nullValue()))); assertThat(ClassUtils.wrapperToPrimitive(Integer.class), is(not(nullValue()))); }