package com.navercorp.pinpoint.plugin.resin;
import com.navercorp.pinpoint.bootstrap.plugin.ApplicationTypeDetector;
import com.navercorp.pinpoint.bootstrap.resolver.ConditionProvider;
import com.navercorp.pinpoint.common.trace.ServiceType;
import com.navercorp.pinpoint.common.util.StringUtils;
/**
*
* @author huangpengjie@fang.com
*
*/
public class ResinDetector implements ApplicationTypeDetector {
private static final String DEFAULT_BOOTSTRAP_MAIN = "com.caucho.server.resin.Resin";
private static final String REQUIRED_CLASS = DEFAULT_BOOTSTRAP_MAIN;
private final String bootstrapMains;
public ResinDetector(String bootstrapMains) {
this.bootstrapMains = bootstrapMains;
}
@Override
public ServiceType getApplicationType() {
return ResinConstants.RESIN;
}
@Override
public boolean detect(ConditionProvider provider) {
if (StringUtils.isNotEmpty(bootstrapMains)) {
return provider.checkMainClass(bootstrapMains) && provider.checkForClass(REQUIRED_CLASS);
}
return provider.checkForClass(REQUIRED_CLASS);
}
}