public static GlobalStateMemento makeCopyOfGlobalState() { GlobalStateMemento memento = new GlobalStateMemento(); memento.validatorReg = new HashMap<EPackage, Object>(EValidator.Registry.INSTANCE); for(Map.Entry<EPackage, Object> validatorEntry: memento.validatorReg.entrySet()) { Object existingValue = validatorEntry.getValue(); if (existingValue instanceof CompositeEValidator) { validatorEntry.setValue(((CompositeEValidator) existingValue).getCopyAndClearContents()); } } memento.epackageReg = new HashMap<String, Object>(EPackage.Registry.INSTANCE); memento.protocolToFactoryMap = new HashMap<String, Object>(Resource.Factory.Registry.INSTANCE.getProtocolToFactoryMap()); memento.extensionToFactoryMap = new HashMap<String, Object>(Resource.Factory.Registry.INSTANCE.getExtensionToFactoryMap()); memento.contentTypeIdentifierToFactoryMap = new HashMap<String, Object>(Resource.Factory.Registry.INSTANCE.getContentTypeToFactoryMap()); memento.protocolToServiceProviderMap = new HashMap<String, Object>(IResourceServiceProvider.Registry.INSTANCE.getProtocolToFactoryMap()); memento.extensionToServiceProviderMap = new HashMap<String, Object>(IResourceServiceProvider.Registry.INSTANCE.getExtensionToFactoryMap()); memento.contentTypeIdentifierToServiceProviderMap = new HashMap<String, Object>(IResourceServiceProvider.Registry.INSTANCE.getContentTypeToFactoryMap()); return memento; }
public static GlobalStateMemento makeCopyOfGlobalState() { GlobalStateMemento memento = new GlobalStateMemento(); memento.validatorReg = new HashMap<EPackage, Object>(EValidator.Registry.INSTANCE); for(Map.Entry<EPackage, Object> validatorEntry: memento.validatorReg.entrySet()) { Object existingValue = validatorEntry.getValue(); if (existingValue instanceof CompositeEValidator) { validatorEntry.setValue(((CompositeEValidator) existingValue).getCopyAndClearContents()); } } memento.epackageReg = new HashMap<String, Object>(EPackage.Registry.INSTANCE); memento.protocolToFactoryMap = new HashMap<String, Object>(Resource.Factory.Registry.INSTANCE.getProtocolToFactoryMap()); memento.extensionToFactoryMap = new HashMap<String, Object>(Resource.Factory.Registry.INSTANCE.getExtensionToFactoryMap()); memento.contentTypeIdentifierToFactoryMap = new HashMap<String, Object>(Resource.Factory.Registry.INSTANCE.getContentTypeToFactoryMap()); memento.protocolToServiceProviderMap = new HashMap<String, Object>(IResourceServiceProvider.Registry.INSTANCE.getProtocolToFactoryMap()); memento.extensionToServiceProviderMap = new HashMap<String, Object>(IResourceServiceProvider.Registry.INSTANCE.getExtensionToFactoryMap()); memento.contentTypeIdentifierToServiceProviderMap = new HashMap<String, Object>(IResourceServiceProvider.Registry.INSTANCE.getContentTypeToFactoryMap()); return memento; }