private Collection<MetaClassRegistryChangeEventListener> disableMetaClassRegistryCleaners() { // A hacky fix for issue 125 MetaClassRegistryChangeEventListener[] listeners = registry .getMetaClassRegistryChangeEventListeners(); Collection<MetaClassRegistryChangeEventListener> cleaners = new LinkedList<MetaClassRegistryChangeEventListener>(); for (MetaClassRegistryChangeEventListener listener : listeners) { if (META_CLASS_REGISTRY_CLEANER_CLASS_NAME.equals(listener.getClass().getName())) { cleaners.add(listener); registry.removeMetaClassRegistryChangeEventListener(listener); } } return cleaners; }
public static MetaClassRegistryCleaner createAndRegister() { MetaClassRegistry metaClassRegistry = GroovySystem.getMetaClassRegistry(); MetaClassRegistryChangeEventListener[] listeners = metaClassRegistry.getMetaClassRegistryChangeEventListeners(); boolean registered = false; for (MetaClassRegistryChangeEventListener listener : listeners) { if (listener == INSTANCE) { registered = true;break; } } if (!registered) { GroovySystem.getMetaClassRegistry().addMetaClassRegistryChangeEventListener(INSTANCE); } return INSTANCE; }
public static MetaClassRegistryCleaner createAndRegister() { MetaClassRegistry metaClassRegistry = GroovySystem.getMetaClassRegistry(); MetaClassRegistryChangeEventListener[] listeners = metaClassRegistry.getMetaClassRegistryChangeEventListeners(); boolean registered = false; for (MetaClassRegistryChangeEventListener listener : listeners) { if(listener == INSTANCE) { registered = true;break; } } if(!registered) { GroovySystem.getMetaClassRegistry().addMetaClassRegistryChangeEventListener(INSTANCE); } return INSTANCE; }