public void Destroy() { foreach (IValueObjectConfig config in managedValueObjectConfigs) { ValueObjectConfigExtendable.UnregisterValueObjectConfig(config); } }
protected void ConsumeConfigs(IEntityMetaData metaData, IList <XElement> entities) { for (int i = entities.Count; i-- > 0;) { XElement item = entities[i]; IMap <String, IList <XElement> > configs = XmlConfigUtil.ChildrenToElementMap(item); IList <XElement> voConfigs = configs.Get(XmlConstants.VALUE_OBJECT.LocalName); for (int j = voConfigs.Count; j-- > 0;) { XElement voConfig = voConfigs[j]; String valueTypeName = XmlConfigUtil.GetRequiredAttribute(voConfig, XmlConstants.CLASS); Type valueType = XmlConfigUtil.GetTypeForName(valueTypeName); bool exists = false; foreach (IValueObjectConfig conf in managedValueObjectConfigs) { if (conf.ValueType.Equals(valueType) && conf.EntityType.Equals(metaData.EntityType)) { exists = true; break; } } if (exists) { continue; } ValueObjectConfig config = new ValueObjectConfig(); config.EntityType = metaData.EntityType; config.ValueType = valueType; HandleMembers(config, voConfig, metaData); managedValueObjectConfigs.Add(config); ValueObjectConfigExtendable.RegisterValueObjectConfig(config); } } }