

import java.net.URL;
import java.util.Properties;

import org.aspectj.weaver.World;
import org.aspectj.weaver.tools.GeneratedClassHandler;
import org.aspectj.weaver.tools.WeavingAdaptor;
import org.aspectj.weaver.tools.WeavingClassLoader;

public class LoadTimeSyncWeaver extends WeavingAdaptor {

	public LoadTimeSyncWeaver(WeavingClassLoader loader) {
		super(loader);
		// TODO Auto-generated constructor stub
		setProperties();
	}

	public LoadTimeSyncWeaver(GeneratedClassHandler handler, URL[] classURLs,
			URL[] aspectURLs) {
		super(handler, classURLs, aspectURLs);
		setProperties();

	}

	protected void setProperties() {
		Properties p = weaver.getWorld().getExtraConfiguration();
		if (p != null) {
			p.setProperty(World.xsetWEAVE_JAVA_PACKAGES, "true");
			p.setProperty(World.xsetWEAVE_JAVAX_PACKAGES, "true");
		}
		weaver.getWorld().setOptionalJoinpoints("synchronization");
	}

}
