Start line:  
End line:  

Snippet Preview

Snippet HTML Code

Stack Overflow Questions
 /*
  * Copyright 2014-2015 the original author or authors.
  *
  * 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.
 */
package org.lastaflute.di.core.util;

Author(s):
modified by jflute (originated in Seasar)
public class ComponentUtil implements ContainerConstants {
    private static final SLogger logger = SLogger.getLogger(ComponentUtil.class);
    private static final Class<?>[] EMPTY_CLASSES = new Class<?>[0];
    private static final Set<Class<?>> notAssignableClasses = new HashSet<Class<?>>();
    static {
        .add(Cloneable.class);
        .add(Comparable.class);
        .add(Serializable.class);
        .add(Externalizable.class);
    }
    private ComponentUtil() {
    }
    public static Class<?>[] getAssignableClasses(Class<?> componentClass) {
        if (componentClass == null) {
            return ;
        }
        final Set<Class<?>> classes = new HashSet<Class<?>>(4);
        for (Class<?> clazz = componentClassclazz != Object.class && clazz != nullclazz = clazz.getSuperclass()) {
            addAssignableClasses(classesclazz);
        }
        return (Class[]) classes.toArray(new Class[classes.size()]);
    }
    private static void addAssignableClasses(Set<Class<?>> classesClass<?> clazz) {
        if (.contains(clazz)) {
            return;
        }
        classes.add(clazz);
        final Class<?>[] interfaces = clazz.getInterfaces();
        for (int i = 0; i < interfaces.length; ++i) {
            addAssignableClasses(classesinterfaces[i]);
        }
    }
    public static void putRegisterLog(final ComponentDef cd) {
        if (.isDebugEnabled()) {
            final StringBuffer buf = new StringBuffer(100);
            final Class<?> componentClass = cd.getComponentClass();
            if (componentClass != null) {
                buf.append(componentClass.getName());
            }
            final String componentName = cd.getComponentName();
            if (!LdiStringUtil.isEmpty(componentName)) {
                buf.append("[").append(componentName).append("]");
            }
            .log("DSSR0105"new Object[] { new String(buf) });
        }
    }
New to GrepCode? Check out our FAQ X