com.dragome.commons.InstrumentationDragomeConfigurator Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of dragome-js-commons Show documentation
Show all versions of dragome-js-commons Show documentation
Dragome SDK module: commons
/*
* Copyright (c) 2011-2014 Fernando Petrola
*
* 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 com.dragome.commons;
import java.net.URL;
import java.util.Arrays;
import java.util.HashMap;
import java.util.HashSet;
import java.util.Map;
import java.util.Set;
public class InstrumentationDragomeConfigurator extends DefaultDragomeConfigurator
{
protected Set includedPaths= new HashSet();
protected Set loadedFromParent= new HashSet(Arrays.asList("org.atmosphere", "com.dragome.commons.ProxyRelatedInvocationHandler", "java.", "javax.", "net.sf.saxon"));
protected boolean enabled= true;
private DragomeInstrumentationClassLoader instrumentationClassLoader;
private Map bytecodes= new HashMap();
public InstrumentationDragomeConfigurator()
{
}
public ClassLoader getNewClassloaderInstance(ClassLoader parent, ClassLoader current)
{
instrumentationClassLoader= new DragomeInstrumentationClassLoader(new URL[0], parent, current, getBytecodeTransformer(), getLoadedFromParent());
instrumentationClassLoader.setBytecodes(bytecodes);
return instrumentationClassLoader;
}
public void addClassBytecode(byte[] bytecode, String aName)
{
bytecodes.put(aName, bytecode);
}
public Set getIncludedPaths()
{
return includedPaths;
}
public void setIncludedPaths(Set includedPaths)
{
this.includedPaths= includedPaths;
}
public Set getLoadedFromParent()
{
return loadedFromParent;
}
public void setLoadedFromParent(Set loadedFromParent)
{
this.loadedFromParent= loadedFromParent;
}
public boolean isEnabled()
{
return enabled;
}
public void setEnabled(boolean enabled)
{
this.enabled= enabled;
}
public DragomeInstrumentationClassLoader getInstrumentationClassLoader()
{
return instrumentationClassLoader;
}
}