Java 类org.apache.commons.lang3.ClassUtils 实例源码

项目:cas-5.1.0    文件:Beans.java   
/**
 * Gets credential selection predicate.
 *
 * @param selectionCriteria the selection criteria
 * @return the credential selection predicate
 */
public static Predicate<org.apereo.cas.authentication.Credential> newCredentialSelectionPredicate(final String selectionCriteria) {
    try {
        if (StringUtils.isBlank(selectionCriteria)) {
            return credential -> true;
        }

        if (selectionCriteria.endsWith(".groovy")) {
            final ResourceLoader loader = new DefaultResourceLoader();
            final Resource resource = loader.getResource(selectionCriteria);
            if (resource != null) {
                final String script = IOUtils.toString(resource.getInputStream(), StandardCharsets.UTF_8);
                final GroovyClassLoader classLoader = new GroovyClassLoader(Beans.class.getClassLoader(),
                        new CompilerConfiguration(), true);
                final Class<Predicate> clz = classLoader.parseClass(script);
                return clz.newInstance();
            }
        }

        final Class predicateClazz = ClassUtils.getClass(selectionCriteria);
        return (Predicate<org.apereo.cas.authentication.Credential>) predicateClazz.newInstance();
    } catch (final Exception e) {
        final Predicate<String> predicate = Pattern.compile(selectionCriteria).asPredicate();
        return credential -> predicate.test(credential.getId());
    }
}
项目:spring-data-jdbc    文件:JdbcAnnotatedRepositoryQueryCreator.java   
private JdbcAnnotatedRepositoryQuery.Strategy chooseStrategy(JdbcQueryMethod method) {
    Class<?> returnType = method.getReturnedObjectType();
    if (returnType.isPrimitive()) {
        returnType = ClassUtils.primitiveToWrapper(returnType);
    }
    // TODO think a better way of handling this by the method name
    if (Number.class.isAssignableFrom(returnType)) {
        return JdbcAnnotatedRepositoryQuery.Strategy.COUNT;
    }
    if (Boolean.class.isAssignableFrom(returnType)) {
        return JdbcAnnotatedRepositoryQuery.Strategy.EXISTS_QUERY;
    }
    if (method.isCollectionQuery()) {
        return JdbcAnnotatedRepositoryQuery.Strategy.COLLECTION_QUERY;
    }
    if (method.isQueryForEntity()) {
        return JdbcAnnotatedRepositoryQuery.Strategy.SINGLE_QUERY;
    }
    if (method.isPageQuery()) {
        return JdbcAnnotatedRepositoryQuery.Strategy.PAGE_QUERY;
    }
    if (void.class.isAssignableFrom(returnType)) {
        return JdbcAnnotatedRepositoryQuery.Strategy.UPDATE_QUERY;
    }
    throw new IllegalArgumentException("Don't know what strategy to follow!!");
}
项目:cas-5.1.0    文件:JasigRegisteredServiceDeserializationProblemHandler.java   
@Override
public JavaType handleUnknownTypeId(final DeserializationContext ctxt, final JavaType baseType,
                                    final String subTypeId, final TypeIdResolver idResolver,
                                    final String failureMsg) throws IOException {

    try {
        if (subTypeId.contains("org.jasig.")) {
            final String newTypeName = subTypeId.replaceAll("jasig", "apereo");
            LOGGER.warn("Found legacy CAS JSON definition type identified as [{}]. "
                            + "While CAS will attempt to convert the legacy definition to [{}] for the time being, "
                            + "the definition SHOULD manually be upgraded to the new supported syntax",
                    subTypeId, newTypeName);
            final Class newType = ClassUtils.getClass(newTypeName);
            return SimpleType.construct(newType);
        }
        return null;
    } catch (final Exception e) {
        throw Throwables.propagate(e);
    }
}
项目:json-log-domain    文件:MarkerGenerator.java   
private static MethodSpec getMethod(ClassName name, Key key) {
    Class<?> type = parseTypeFormat(key.getType(), key.getFormat());
    if(type.isPrimitive()) {
        type = ClassUtils.primitiveToWrapper(type);
    }

    ParameterSpec parameter = ParameterSpec.builder(type, key.getId()).build();

    return MethodSpec.methodBuilder(key.getId())
            .addModifiers(Modifier.PUBLIC, Modifier.FINAL)
            .addParameter(parameter)
            .addStatement("this.$N = $N", key.getId(), parameter)
            .addJavadoc(key.getDescription())
            .returns(name)
            .addStatement("return this")
            .build();
}
项目:bluez-dbus    文件:AbstractBluetoothObject.java   
protected byte[] byteVectorToByteArray(Vector<?> _vector) {
    if (_vector == null) {
        return null;
    }
    if (_vector.isEmpty()) {
        return new byte[] {};
    }

    if (!ClassUtils.isAssignable(byte.class, _vector.get(0).getClass())) {
        return null;
    }

    byte[] result = new byte[_vector.size()];
    for (int i = 0; i < _vector.size(); i++) {
        Object x = _vector.get(i);
        result[i] = (byte) x;
    }

    return result;
}
项目:sponge    文件:NashornKnowledgeBaseInterpreter.java   
@SuppressWarnings("rawtypes")
@Override
public void scanToAutoEnable() {
    List<Object> autoEnabled = new ArrayList<>();
    getScriptEngine().getBindings(ScriptContext.ENGINE_SCOPE).forEach((key, value) -> {
        Object evalResult = value != null ? eval(key + ".class") : null;

        if (evalResult != null && evalResult instanceof Class) {
            Class cls = (Class) evalResult;

            if (PROCESSOR_CLASSES.values().stream()
                    .filter(processorClass -> !cls.equals(processorClass) && ClassUtils.isAssignable(cls, processorClass)).findFirst()
                    .isPresent()) {
                if (!isProcessorAbstract(key)) {
                    autoEnabled.add(key);
                    ((NashornKnowledgeBaseEngineOperations) getEngineOperations()).enable(value);
                }
            }
        }
    });

    if (logger.isDebugEnabled() && !autoEnabled.isEmpty()) {
        logger.debug("Auto-enabling: {}", autoEnabled);
    }
}
项目:sponge    文件:GroovyKnowledgeBaseInterpreter.java   
@Override
public void scanToAutoEnable() {
    List<String> autoEnabled = new ArrayList<>();
    Stream.of(shell.getClassLoader().getLoadedClasses()).forEachOrdered(cls -> {
        if (PROCESSOR_CLASSES.values().stream().filter(processorClass -> ClassUtils.isAssignable(cls, processorClass)).findFirst()
                .isPresent()) {
            String name = cls.getName();
            if (!isProcessorAbstract(name)) {
                autoEnabled.add(name);
                ((GroovyKnowledgeBaseEngineOperations) getEngineOperations()).enable(cls);
            }
        }
    });

    if (logger.isDebugEnabled() && !autoEnabled.isEmpty()) {
        logger.debug("Auto-enabling: {}", autoEnabled);
    }
}
项目:sponge    文件:KKnowledgeBase.java   
@Override
public void scanToAutoEnable() {
    List<String> autoEnabled = new ArrayList<>();
    JvmClassMappingKt.getKotlinClass(getClass()).getNestedClasses().stream().filter(kclass -> !kclass.isAbstract())
            .forEachOrdered(kclass -> {
                if (KotlinConstants.PROCESSOR_CLASSES.values().stream()
                        .filter(processorClass -> ClassUtils.isAssignable(JvmClassMappingKt.getJavaClass(kclass), processorClass))
                        .findFirst().isPresent()) {
                    autoEnabled.add(KotlinUtils.createProcessorName(kclass));
                    getEngineOperations().enable(kclass);
                }
            });

    if (logger.isDebugEnabled() && !autoEnabled.isEmpty()) {
        logger.debug("Auto-enabling: {}", autoEnabled);
    }
}
项目:sponge    文件:JKnowledgeBase.java   
@SuppressWarnings({ "unchecked", "rawtypes" })
@Override
public void scanToAutoEnable() {
    List<String> autoEnabled = new ArrayList<>();
    Arrays.stream(getClass().getDeclaredClasses()).filter(cls -> !SpongeUtils.isAbstract(cls)).forEachOrdered(cls -> {
        if (JavaConstants.PROCESSOR_CLASSES.values().stream().filter(processorClass -> ClassUtils.isAssignable(cls, processorClass))
                .findFirst().isPresent()) {
            autoEnabled.add(cls.getName());
            getEngineOperations().enableJava((Class<? extends Processor>) cls);
        }
    });

    if (logger.isDebugEnabled() && !autoEnabled.isEmpty()) {
        logger.debug("Auto-enabling: {}", autoEnabled);
    }
}
项目:sponge    文件:GatewayServerPy4JPlugin.java   
@SuppressWarnings("unchecked")
@Override
public void onStartup() {
    if (server == null) {
        logger.info("Creating and starting the Py4J Server.");

        GatewayServerBuilder builder = new GatewayServerBuilder().javaPort(getJavaPort()).entryPoint(getEngine().getOperations());
        if (getSecurity() != null) {
            SSLContext sslContext = createSslContext();
            builder.serverSocketFactory(sslContext.getServerSocketFactory());
        }
        server = build(builder);

        server.start();
    } else {
        logger.info("Using the manually created Py4J Server. Note that the server should have already been started.");
    }

    if (getFacadeInterfaceName() != null) {
        try {
            setFacade((T) server.getPythonServerEntryPoint(new Class[] { ClassUtils.getClass(getFacadeInterfaceName()) }));
        } catch (Exception e) {
            throw SpongeUtils.wrapException(e);
        }
    }
}
项目:faster-than-reflection    文件:ClassAccessFactory.java   
private void checkCast(Castable castable) {
    String internalNameOfCast = castable.getInternalName();
    if (castable.getType().isPrimitive()) {
        Class<?> wrapperType = ClassUtils.primitiveToWrapper(castable.getType());
        internalNameOfCast = Type.getInternalName(wrapperType);
    }
    mv.visitTypeInsn(CHECKCAST, internalNameOfCast);

    if (castable.getType().isPrimitive()) {
        mv.visitMethodInsn(
                INVOKEVIRTUAL,
                internalNameOfCast,
                castable.getType().getName() + "Value",
                "()" + castable.getDescriptor(),
                false);
    }
}
项目:ctsms    文件:IndexResource.java   
private static JsonElement createVOInputTypeNode(Class inputType, Type genericType) throws Exception {
    // no input maps:
    if (isTerminalType(inputType)) {
        return new JsonPrimitive(ClassUtils.getSimpleName(inputType));
    } else {
        boolean isCollection = Collection.class.isAssignableFrom(inputType);
        if (isCollection) {
            try {
                inputType = (Class) ((ParameterizedType) genericType).getActualTypeArguments()[0];
            } catch (Exception e) {
                inputType = Object.class;
            }
        }
        Collection<Method> fields = AssociationPath.listMethods(inputType, VO_METHOD_TRANSFILTER);
        if (isTerminalType(inputType) || fields.size() == 0) {
            return markMapCollection(new JsonPrimitive(ClassUtils.getSimpleName(inputType)), null, false, isCollection);
        } else {
            return markMapCollection(createVONode(fields, true), null, false, isCollection);
        }
    }
}
项目:ctsms    文件:IndexResource.java   
private static JsonObject createVONode(Collection<Method> fields, boolean recursive) throws Exception {
    JsonObject voNode = new JsonObject();
    if (fields != null) {
        Iterator<Method> it = fields.iterator();
        while (it.hasNext()) {
            Method field = it.next();
            String fieldName = VO_METHOD_TRANSFILTER.transform(field.getName());
            if (recursive) {
                voNode.add(fieldName, createVOReturnTypeNode(field.getReturnType(), field.getGenericReturnType()));
            } else {
                voNode.addProperty(fieldName, ClassUtils.getSimpleName(field.getReturnType()));
            }
        }
    }
    return voNode;
}
项目:util    文件:ExceptionUtil.java   
/**
 * 拼装 短异常类名: 异常信息 <-- RootCause的短异常类名: 异常信息
 */
public static String toStringWithRootCause(@Nullable Throwable t) {
    if (t == null) {
        return StringUtils.EMPTY;
    }

    final String clsName = ClassUtils.getShortClassName(t, null);
    final String message = StringUtils.defaultString(t.getMessage());
    Throwable cause = getRootCause(t);

    StringBuilder sb = new StringBuilder(128).append(clsName).append(": ").append(message);
    if (cause != t) {
        sb.append("; <---").append(toStringWithShortName(cause));
    }

    return sb.toString();
}
项目:util    文件:ClassUtil.java   
/**
 * 找出所有标注了该annotation的公共方法(含父类的公共函数),循环其接口.
 * 
 * 暂未支持Spring风格Annotation继承Annotation
 * 
 * 另,如果子类重载父类的公共函数,父类函数上的annotation不会继承,只有接口上的annotation会被继承.
 */
public static <T extends Annotation> Set<Method> getAnnotatedPublicMethods(Class<?> clazz, Class<T> annotation) {
    // 已递归到Objebt.class, 停止递归
    if (Object.class.equals(clazz)) {
        return Collections.emptySet();
    }

    List<Class<?>> ifcs = ClassUtils.getAllInterfaces(clazz);
    Set<Method> annotatedMethods = new HashSet<Method>();

    // 遍历当前类的所有公共方法
    Method[] methods = clazz.getMethods();

    for (Method method : methods) {
        // 如果当前方法有标注,或定义了该方法的所有接口有标注
        if (method.getAnnotation(annotation) != null || searchOnInterfaces(method, annotation, ifcs)) {
            annotatedMethods.add(method);
        }
    }

    return annotatedMethods;
}
项目:ansible-inventory-java    文件:AnsibleVariable.java   
public String objToString(Object value) {
    final StringBuilder buf = new StringBuilder();

    for (Field f : value.getClass().getDeclaredFields()) {
        f.setAccessible(true);

        try {
            buf.append("\"" + f.getName() + "\": ");
            if (ClassUtils.isPrimitiveOrWrapper(value.getClass()) || value instanceof String) {
                buf.append("\"" + value + "\"");
            } else {
                buf.append(valueToString(f.get(value)));
            }
            buf.append(", ");
        } catch (IllegalArgumentException | IllegalAccessException e) {
            // Silently ignore errors
            e.printStackTrace();
        }
    }
    buf.replace(buf.length() - 2, buf.length(), "");

    return buf.toString();
}
项目:ansible-inventory-java    文件:AnsibleVariable.java   
public String listToString(Collection<?> list) {
    final StringBuilder buf = new StringBuilder();
    buf.append("'[");

    if (!list.isEmpty()) {
        for (Object o : list) {
            if (ClassUtils.isPrimitiveOrWrapper(o.getClass()) || o instanceof String) {
                buf.append("\"" + o + "\"");
            } else {
                buf.append(valueToString(o));
            }
            buf.append(", ");
        }
        buf.replace(buf.length() - 2, buf.length(), "");
    }

    buf.append("]'");

    return buf.toString();
}
项目:ansible-inventory-java    文件:AnsibleVariable.java   
public String mapToString(Map<?, ?> map) {
    final StringBuilder buf = new StringBuilder();
    buf.append("{");

    if (!map.isEmpty()) {
        for (Entry<?, ?> o : map.entrySet()) {
            final Object v = o.getValue();

            if (v != null) {
                buf.append("'" + o.getKey() + "': ");
                if (ClassUtils.isPrimitiveOrWrapper(v.getClass()) || v instanceof String) {
                    buf.append("'" + v + "'");
                } else {
                    buf.append(valueToString(v));
                }
                buf.append(", ");
            }
        }
        buf.replace(buf.length() - 2, buf.length(), "");
    }

    buf.append("}");

    return buf.toString();
}
项目:FPAgar    文件:ScriptsLoader.java   
private Object init(Class<?> clazz)
{
    Object o = null;

    try
    {
        if(ClassUtils.isAssignable(clazz, ScriptListener.class))
        {
            o = clazz.newInstance();

            _listeners.add((ScriptListener)o);
        }
    }
    catch(Exception e)
    {
        _log.error("", e);
    }
    return o;
}
项目:mongo-obj-framework    文件:SmofUpdateImpl.java   
private Number symmetric(Number value) {
    final Class<?> wrapper = ClassUtils.primitiveToWrapper(value.getClass());
    if(Integer.class.equals(wrapper)) {
        return -value.intValue();
    }
    else if(Short.class.equals(wrapper)) {
        return -value.shortValue();
    }
    else if(Float.class.equals(wrapper)) {
        return -value.floatValue();
    }
    else if(Double.class.equals(wrapper)) {
        return -value.doubleValue();
    }
    else if(Long.class.equals(wrapper)) {
        return -value.longValue();
    }
    else {
        throw new NumberFormatException(value + "is not in a valid format");
    }
}
项目:mongo-obj-framework    文件:SmofUpdateImpl.java   
private Number inverse(Number value) {
    final Class<?> wrapper = ClassUtils.primitiveToWrapper(value.getClass());
    if(Integer.class.equals(wrapper)) {
        return 1.0/value.intValue();
    }
    else if(Short.class.equals(wrapper)) {
        return 1.0/value.shortValue();
    }
    else if(Float.class.equals(wrapper)) {
        return 1/value.floatValue();
    }
    else if(Double.class.equals(wrapper)) {
        return 1/value.doubleValue();
    }
    else if(Long.class.equals(wrapper)) {
        return 1.0/value.longValue();
    }
    else {
        throw new NumberFormatException(value + "is not in a valid format");
    }
}
项目:RRD-ANTLR4    文件:TestCLanguageLabels.java   
/**
 * returns full qualified class name
 * (inner & outer class)
 *
 * @param p_package package name
 * @param p_outerclass1 outer class readed value
 * @param p_outerclass2 outer class fixed value
 * @param p_innerclass inner class
 * @param p_label label (only firat element is used)
 * @return full-qualified class name
 */
private static String buildlabel( final String p_package, final String p_outerclass1, final String p_outerclass2, final String p_innerclass, final String p_label )
{
    final String l_outerclass = p_outerclass1.equals( p_outerclass2 )
                                ? p_outerclass1
                                : MessageFormat.format( "{0}{1}{2}", p_outerclass1, ClassUtils.PACKAGE_SEPARATOR, p_outerclass2 );

    return MessageFormat.format(
        "{0}{1}{2}{3}{4}{5}",
        p_package, ClassUtils.PACKAGE_SEPARATOR,
        l_outerclass, p_innerclass.isEmpty() ? "" : ClassUtils.PACKAGE_SEPARATOR,
        p_innerclass,

        p_label.isEmpty()
        ? ""
        : CLASSSEPARATOR + p_label
    );
}
项目:tc    文件:TcHandleExceptionHandler.java   
@Override
public ModelAndView resolveException(HttpServletRequest request,
                                     HttpServletResponse response,
                                     Object handler,
                                     Exception ex) {

    log.error("Unexpected errs occurred in handle request.", ex);

    // if handler is instance of HandlerMethod then it's a http request,
    // otherwise it's a websocket request or other service.
    if (handler instanceof HandlerMethod) {
        HandlerMethod handlerMethod = (HandlerMethod) handler;
        boolean returnResponseEntity = ClassUtils.isAssignable(handlerMethod.getMethod().getReturnType(),
                ResponseEntity.class);
        boolean hasResponseBodyAnnotation = Objects.nonNull(handlerMethod.getMethodAnnotation(ResponseBody.class));

        if (returnResponseEntity || hasResponseBodyAnnotation) {
            return new ModelAndView(new RedirectView(view5xx));
        } else {
            return new ModelAndView(new RedirectView(ajax5xx));
        }
    }

    return null;
}
项目:geeCommerce-Java-Shop-Software-and-PIM    文件:Reflect.java   
public static <T extends Model> boolean isOfType(Class<T> modelClass, String fqn) {
    if (modelClass == null)
        return false;

    Class<T> clazz = getModelInterface(modelClass);

    if (clazz != null && clazz.getName().equals(fqn))
        return true;

    List<Class<?>> interfaces = ClassUtils.getAllInterfaces(modelClass);

    if (interfaces != null && !interfaces.isEmpty()) {
        for (Class<?> interf : interfaces) {
            if (interf.getName().equals(fqn))
                return true;
        }
    }

    return false;
}
项目:dropwizard-db-sharding-bundle    文件:LookupDao.java   
/**
 * Creates a new sharded DAO. The number of managed shards and bucketing is controlled by the {@link ShardManager}.
 *
 * @param sessionFactories a session provider for each shard
 */
public LookupDao(List<SessionFactory> sessionFactories,
                 Class<T> entityClass,
                 ShardManager shardManager,
                 BucketIdExtractor<String> bucketIdExtractor) {
    this.shardManager = shardManager;
    this.bucketIdExtractor = bucketIdExtractor;
    this.daos = sessionFactories.stream().map(LookupDaoPriv::new).collect(Collectors.toList());
    this.entityClass = entityClass;

    Field fields[] = FieldUtils.getFieldsWithAnnotation(entityClass, LookupKey.class);
    Preconditions.checkArgument(fields.length != 0, "At least one field needs to be sharding key");
    Preconditions.checkArgument(fields.length == 1, "Only one field can be sharding key");
    keyField = fields[0];
    if(!keyField.isAccessible()) {
        try {
            keyField.setAccessible(true);
        } catch (SecurityException e) {
            log.error("Error making key field accessible please use a public method and mark that as LookupKey", e);
            throw new IllegalArgumentException("Invalid class, DAO cannot be created.", e);
        }
    }
    Preconditions.checkArgument(ClassUtils.isAssignable(keyField.getType(), String.class), "Key field must be a string");
}
项目:vespa    文件:ConfigValueChangeValidator.java   
/**
 * Returns the ConfigInstances classes from the annotation on the given Service class ,
 * including the ConfigInstances annotated on any of its super classes.
 * NOTE: Only the super classes that are subclass of Service are inspected.
 */
private static Stream<Class<? extends ConfigInstance>> getConfigInstancesFromServiceAnnotations(Class<? extends Service> serviceClass) {
    List<Class<?>> classHierarchy = ClassUtils.getAllSuperclasses(serviceClass);
    classHierarchy.add(serviceClass);
    return classHierarchy.stream()
            .filter(Service.class::isAssignableFrom)
            .filter(clazz -> clazz.isAnnotationPresent(RestartConfigs.class))
            .map(clazz -> {
                RestartConfigs annotation = clazz.getDeclaredAnnotation(RestartConfigs.class);
                if (annotation.value().length == 0) {
                    throw new IllegalStateException(String.format(
                            "%s has a %s annotation with no ConfigInstances given as argument.",
                            clazz.getSimpleName(), RestartConfigs.class.getSimpleName()));
                }
                return annotation;
            })
            .map(RestartConfigs::value)
            .flatMap(Arrays::stream)
            .distinct();
}
项目:REST    文件:TestCLanguageLabels.java   
/**
 * returns full qualified class name
 * (inner & outer class)
 *
 * @param p_package package name
 * @param p_outerclass1 outer class readed value
 * @param p_outerclass2 outer class fixed value
 * @param p_innerclass inner class
 * @param p_label label (only firat element is used)
 * @return full-qualified class name
 */
private static String buildlabel( final String p_package, final String p_outerclass1, final String p_outerclass2, final String p_innerclass, final String p_label )
{
    final String l_outerclass = p_outerclass1.equals( p_outerclass2 )
                                ? p_outerclass1
                                : MessageFormat.format( "{0}{1}{2}", p_outerclass1, ClassUtils.PACKAGE_SEPARATOR, p_outerclass2 );

    return MessageFormat.format(
        "{0}{1}{2}{3}{4}{5}",
        p_package, ClassUtils.PACKAGE_SEPARATOR,
        l_outerclass, p_innerclass.isEmpty() ? "" : ClassUtils.PACKAGE_SEPARATOR,
        p_innerclass,

        p_label.isEmpty()
        ? ""
        : CLASSSEPARATOR + p_label
    );
}
项目:cloud-meter    文件:ClassTools.java   
/**
 * Call a class constructor with an integer parameter
 * @param className name of the class to be constructed
 * @param parameter the value to be used in the constructor
 * @return an instance of the class
 * @throws JMeterException if class cannot be created
 */
public static Object construct(String className, int parameter) throws JMeterException
{
    Object instance = null;
    try {
        Class<?> clazz = ClassUtils.getClass(className);
        Constructor<?> constructor = clazz.getConstructor(Integer.TYPE);
        instance = constructor.newInstance(Integer.valueOf(parameter));
    } catch (ClassNotFoundException | InvocationTargetException
            | IllegalArgumentException | NoSuchMethodException
            | SecurityException | IllegalAccessException
            | InstantiationException e) {
        throw new JMeterException(e);
    }
    return instance;
}
项目:apex-malhar    文件:POJOInnerJoinOperator.java   
/**
 * Create getters for the key and time fields and setters for the include fields.
 */
private void generateSettersAndGetters()
{
  for (int i = 0; i < 2; i++) {
    Class inputClass = inputFieldObjects[i].inputClass;
    try {
      inputFieldObjects[i].keyGet = PojoUtils.createGetter(inputClass, keyFieldExpressions.get(i), Object.class);
      if (timeFields != null && timeFields.size() == 2) {
        Class timeField = ClassUtils.primitiveToWrapper(inputClass.getDeclaredField(timeFields.get(i)).getType());
        inputFieldObjects[i].timeFieldGet = PojoUtils.createGetter(inputClass, timeFields.get(i), timeField);
      }
      for (int j = 0; j < includeFields[i].length; j++) {
        Class inputField = ClassUtils.primitiveToWrapper(inputClass.getDeclaredField(includeFields[i][j]).getType());
        Class outputField = ClassUtils.primitiveToWrapper(outputClass.getDeclaredField(includeFields[i][j]).getType());
        if (inputField != outputField) {
          continue;
        }
        inputFieldObjects[i].fieldMap.put(PojoUtils.createGetter(inputClass, includeFields[i][j], inputField),
            PojoUtils.createSetter(outputClass, includeFields[i][j], outputField));
      }
    } catch (NoSuchFieldException e) {
      throw new RuntimeException(e);
    }
  }
}
项目:opencucina    文件:SimpleInstanceFactory.java   
/**
 *
 *
 * @param className .
 * @param property .
 *
 * @return .
 */
@Override
public String getPropertyType(String className, String property) {
    Class<?> clazz;

    try {
        clazz = ClassUtils.getClass(className);

        BeanWrapper bw = new BeanWrapperImpl(clazz);

        return bw.getPropertyType(property).getName();
    } catch (ClassNotFoundException e) {
        LOG.error("Oops", e);
    }

    return null;
}
项目:fitnesse-selenium-slim    文件:SeleniumScriptTable.java   
private void injectValueInFirstArg(List<SlimAssertion> assertions, boolean not, Object contentToCheck) {
    SlimAssertion.getInstructions(assertions).forEach(instruction -> {
        try {
            String valueToInject = FitnesseMarkup.SELECTOR_VALUE_SEPARATOR + (not ? FitnesseMarkup.SELECTOR_VALUE_DENY_INDICATOR : StringUtils.EMPTY) + contentToCheck;
            Object args = FieldUtils.readField(instruction, SeleniumScriptTable.CALL_INSTRUCTION_ARGS_FIELD, true);
            Object[] argsToInject;
            if (args instanceof Object[] && ArrayUtils.getLength(args) > NumberUtils.INTEGER_ZERO) {
                argsToInject = (Object[]) args;
                argsToInject[NumberUtils.INTEGER_ZERO] += valueToInject;
            } else {
                argsToInject = ArrayUtils.toArray(valueToInject);
            }
            String methodName = Objects.toString(FieldUtils.readField(instruction, SeleniumScriptTable.CALL_INSTRUCTION_METHODNAME_FIELD, true));
            if (Objects.isNull(MethodUtils.getAccessibleMethod(SeleniumFixture.class, Objects.toString(methodName), ClassUtils.toClass(argsToInject)))) {
                SeleniumScriptTable.LOGGER.fine("Method for instruction not found on SeleniumFixture, injection aborted: " + instruction);
                return;
            }
            FieldUtils.writeField(instruction, SeleniumScriptTable.CALL_INSTRUCTION_ARGS_FIELD, argsToInject, true);
        } catch (IllegalArgumentException | ReflectiveOperationException e) {
            SeleniumScriptTable.LOGGER.log(Level.FINE, "Failed to inject check value using reflection", e);
        }
    });
}
项目:crigtt    文件:AbstractCrigttApplicationRunListener.java   
protected static <T> T buildComponent(Class<T> componentClass, Supplier<T> defaultSupplier, Object ... args) {
    List<String> componentClassNames = SpringFactoriesLoader.loadFactoryNames(componentClass, AbstractCrigttApplicationRunListener.class.getClassLoader());

    if (componentClassNames.isEmpty()) {
        return defaultSupplier.get();
    }

    List<Class<?>> componentClasses = ClassUtils.convertClassNamesToClasses(componentClassNames);

    componentClasses.sort(AnnotationAwareOrderComparator.INSTANCE);

    Class<?> primaryComponentClass = componentClasses.get(0);

    try {
        return componentClass.cast(ConstructorUtils.invokeConstructor(primaryComponentClass, args));
    } catch (IllegalAccessException | InstantiationException | InvocationTargetException | NoSuchMethodException e) {
        throw new ApplicationContextException(String.format("Unable to instantiate component (class=%s).", primaryComponentClass.getName()), e);
    }
}
项目:gestock    文件:MemberUtils.java   
/**
 * Gets the number of steps required to promote a primitive number to another
 * type.
 *
 * @param srcClass  the (primitive) source class
 * @param destClass the (primitive) destination class
 * @return The cost of promoting the primitive
 */
private static float getPrimitivePromotionCost(final Class<?> srcClass, final Class<?> destClass) {
    float cost = 0.0f;
    Class<?> cls = srcClass;
    if (!cls.isPrimitive()) {
        // slight unwrapping penalty
        cost += 0.1f;
        cls = ClassUtils.wrapperToPrimitive(cls);
    }
    for (int i = 0; cls != destClass && i < ORDERED_PRIMITIVE_TYPES.length; i++) {
        if (cls == ORDERED_PRIMITIVE_TYPES[i]) {
            cost += 0.1f;
            if (i < ORDERED_PRIMITIVE_TYPES.length - 1) {
                cls = ORDERED_PRIMITIVE_TYPES[i + 1];
            }
        }
    }
    return cost;
}
项目:maker    文件:Lang3Test.java   
@Test
public void classUtilsDemo() {
    System.out.println(genHeader("ClassUtilsDemo"));
    System.out.println("获取类实现的所有接口.");
    System.out.println(ClassUtils.getAllInterfaces(Date.class));

    System.out.println("获取类所有父类.");
    System.out.println(ClassUtils.getAllSuperclasses(Date.class));

    System.out.println("获取简单类名.");
    System.out.println(ClassUtils.getShortClassName(Date.class));

    System.out.println("获取包名.");
    System.out.println(ClassUtils.getPackageName(Date.class));

    System.out.println("判断是否可以转型.");
    System.out.println(ClassUtils.isAssignable(Date.class, Object.class));
    System.out.println(ClassUtils.isAssignable(Object.class, Date.class));
}
项目:jsen-js    文件:HostedJavaObject.java   
/**
 * Returns the value of the object getter it there is any for the wrapped java object.
 * 
 * @param key Key that should be searched using the object getter.
 * @return Value of the property of the wrapped java object
 */
protected Object objectGetterGet(Object key) {
    Method method = null;
    Object result = Scriptable.NOT_FOUND;

    if (object instanceof ObjectGetter) {
        Object value = ((ObjectGetter)object).get(key);

        try {
            method = ClassUtils.getPublicMethod(objectClass, ObjectGetter.METHOD_NAME, ObjectGetter.METHOD_ARG_TYPES);
        } catch (Exception e) {
            throw new InternalException(e);
        }

        if (value != ObjectGetter.UNDEFINED_VALUE) {
            result = value;
        }
    }

    if (result != Scriptable.NOT_FOUND && method != null) {
        //result = new JavaMethodRedirectedWrapper(result, object, method);
    }

    return result;
}
项目:daikon    文件:EnumProperty.java   
@SuppressWarnings("unchecked")
@Override
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;
}
项目:metron    文件:ThreatTriageFunctions.java   
/**
 * Retrieves the sensor enrichment configuration from the function arguments.  The manner
 * of retrieving the configuration can differ based on what the user passes in.
 * @param args The function arguments.
 * @param position The position from which the configuration will be extracted.
 * @return The sensor enrichment configuration.
 */
private static SensorEnrichmentConfig getSensorEnrichmentConfig(List<Object> args, int position) {
  Object arg0 = Util.getArg(position, Object.class, args);
  SensorEnrichmentConfig config = new SensorEnrichmentConfig();
  if(arg0 instanceof String) {

    // deserialize the configuration from json
    String json = Util.getArg(0, String.class, args);
    if(json != null) {
      config = (SensorEnrichmentConfig) ENRICHMENT.deserialize(json);
    }
  } else if(arg0 instanceof ThreatTriageProcessor) {

    // extract the configuration from the engine
    ThreatTriageProcessor engine = Util.getArg(0, ThreatTriageProcessor.class, args);
    config = engine.getSensorConfig();

  } else {

    // unexpected type
    throw new IllegalArgumentException(String.format("Unexpected type: got '%s'", ClassUtils.getShortClassName(arg0, "null")));
  }

  return config;
}
项目:webanno    文件:AnnotationEditorExtensionRegistryImpl.java   
public AnnotationEditorExtensionRegistryImpl(
        @Autowired(required = false) List<AnnotationEditorExtension> aExtensions)
{
    if (aExtensions != null) {
        OrderComparator.sort(aExtensions);

        for (AnnotationEditorExtension ext : aExtensions) {
            log.info("Found annotation editor extension: {}",
                    ClassUtils.getAbbreviatedName(ext.getClass(), 20));
        }

        extensions = Collections.unmodifiableList(aExtensions);
    }
    else {
        extensions = Collections.emptyList();
    }
}
项目:sdcct    文件:SdcctNamespaceHandler.java   
@Override
public void init() {
    SdcctBeanDefinitionParser beanDefParser;

    for (Class<?> beanDefClass : ClassUtils
        .convertClassNamesToClasses(SpringFactoriesLoader.loadFactoryNames(SdcctBeanDefinitionParser.class, this.getClass().getClassLoader()))) {
        try {
            beanDefParser = ((SdcctBeanDefinitionParser) ConstructorUtils.invokeConstructor(beanDefClass, this));
        } catch (IllegalAccessException | InstantiationException | InvocationTargetException | NoSuchMethodException e) {
            throw new ApplicationContextException(String.format("Unable to instantiate bean definition parser (class=%s).", beanDefClass.getName()), e);
        }

        for (String beanDefParserElemLocalName : beanDefParser.getElementBeanClasses().keySet()) {
            this.beanDefParsers.put(beanDefParserElemLocalName, beanDefParser);

            this.registerBeanDefinitionParser(beanDefParserElemLocalName, beanDefParser);
        }
    }
}
项目:metron    文件:ProfilerFunctions.java   
/**
 * Gets a message or messages from the function arguments.
 *
 * @param arg The function argument containing the message(s).
 * @return A list of messages
 */
private List<JSONObject> getMessages(Object arg) {
  List<JSONObject> messages;

  if (arg instanceof String) {
    messages = getMessagesFromString((String) arg);

  } else if (arg instanceof Iterable) {
    messages = getMessagesFromIterable((Iterable<String>) arg);

  } else if (arg instanceof JSONObject) {
    messages = Collections.singletonList((JSONObject) arg);

  } else {
    throw new IllegalArgumentException(format("invalid message: found '%s', expected String, List, or JSONObject",
            ClassUtils.getShortClassName(arg, "null")));
  }

  return messages;
}