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

com.alibaba.bytekit.asm.matcher.SimpleClassMatcher Maven / Gradle / Ivy

package com.alibaba.bytekit.asm.matcher;

import java.security.ProtectionDomain;
import java.util.Collection;
import java.util.HashSet;
import java.util.Set;

import com.alibaba.bytekit.utils.AsmUtils;

/**
 * 
 * @author hengyunabc 2020-11-12
 *
 */
public class SimpleClassMatcher implements ClassMatcher {

    Set classNames = new HashSet();

    public SimpleClassMatcher(String... className) {
        for (String name : className) {
            this.classNames.add(name);
        }
    }

    public SimpleClassMatcher(Collection names) {
        this.classNames.addAll(names);
    }

    @Override
    public boolean match(ClassLoader loader, String className, Class classBeingRedefined,
            ProtectionDomain protectionDomain, byte[] classfileBuffer) {
        if (className == null) {
            className = AsmUtils.className(classfileBuffer);
        }
        className = className.replace('/', '.');
        if (classNames != null && classNames.contains(className)) {
            return true;
        }

        return false;
    }

}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy