public override EventPropertyGetterSPI GetGetterDOM( SchemaElementComplex complexProperty, EventBeanTypedEventFactory eventBeanTypedEventFactory, BaseXMLEventType xmlEventType, string propertyExpression) { foreach (var attribute in complexProperty.Attributes) { if (attribute.Name.Equals(PropertyNameAtomic)) { return new DOMSimpleAttributeGetter(PropertyNameAtomic); } } foreach (var simple in complexProperty.SimpleElements) { if (simple.Name.Equals(PropertyNameAtomic)) { return new DOMComplexElementGetter(PropertyNameAtomic, null, simple.IsArray); } } foreach (SchemaElementComplex complex in complexProperty.ComplexElements) { var complexFragmentFactory = new FragmentFactoryDOMGetter( eventBeanTypedEventFactory, xmlEventType, propertyExpression); if (complex.Name.Equals(PropertyNameAtomic)) { return new DOMComplexElementGetter(PropertyNameAtomic, complexFragmentFactory, complex.IsArray); } } return null; }
public override EventPropertyGetter GetGetterDOM(SchemaElementComplex complexProperty, EventAdapterService eventAdapterService, BaseXMLEventType xmlEventType, String propertyExpression) { if (complexProperty.Attributes.Any(attribute => attribute.Name == PropertyNameAtomic)) { return(new DOMSimpleAttributeGetter(PropertyNameAtomic)); } foreach (var simple in complexProperty.SimpleElements.Where(simple => simple.Name == PropertyNameAtomic)) { return(new DOMComplexElementGetter(PropertyNameAtomic, null, simple.IsArray)); } foreach (SchemaElementComplex complex in complexProperty.ComplexElements) { var complexFragmentFactory = new FragmentFactoryDOMGetter(eventAdapterService, xmlEventType, propertyExpression); if (complex.Name == PropertyNameAtomic) { return(new DOMComplexElementGetter(PropertyNameAtomic, complexFragmentFactory, complex.IsArray)); } } return(null); }