public PocoComponentTuplizer(Mapping.Component component) :
base(component)
                {
                        componentClass = component.ComponentClass;

                        string parentPropertyName = component.ParentProperty;
                        if (parentPropertyName == null)
                        {
                                parentSetter = null;
                                parentGetter = null;
                        }
                        else
                        {
                                IPropertyAccessor pa =
PropertyAccessorFactory.GetPropertyAccessor(null);
                                parentSetter = pa.GetSetter(componentClass, 
parentPropertyName);
                                parentGetter = pa.GetGetter(componentClass, 
parentPropertyName);
                        }

                        if (hasCustomAccessors || 
!Cfg.Environment.UseReflectionOptimizer)
                        {
                                optimizer = null;
                        }
                        else
                        {
                                optimizer =
Cfg.Environment.BytecodeProvider.GetReflectionOptimizer(componentClass,
getters, setters);
                        }
                }
and
                protected internal override IInstantiator
BuildInstantiator(Mapping.Component component)
                {
                        // TODO H3.2 not ported
                        //if (component.IsEmbedded &&
ReflectHelper.IsAbstractClass(component.ComponentClass))
                        //{
                        //  return new ProxiedInstantiator(component);
                        //}
                        if (optimizer == null)
                        {
                                return new PocoInstantiator(component, null);
                        }
                        else
                        {
                                return new PocoInstantiator(component,
optimizer.InstantiationOptimizer);
                        }
                }
edit:
public PocoComponentTuplizer(Mapping.Component component) :
base(component)
                {
                        componentClass = component.ComponentClass;

                        string parentPropertyName = component.ParentProperty;
                        if (parentPropertyName == null)
                        {
                                parentSetter = null;
                                parentGetter = null;
                        }
                        else
                        {
                                IPropertyAccessor pa =
PropertyAccessorFactory.GetPropertyAccessor(null);
                                parentSetter = pa.GetSetter(componentClass, 
parentPropertyName);
                                parentGetter = pa.GetGetter(componentClass, 
parentPropertyName);
                        }
                }

and
protected internal override IInstantiator
BuildInstantiator(Mapping.Component component)
                {
                        // TODO H3.2 not ported
                        //if (component.IsEmbedded &&
ReflectHelper.IsAbstractClass(component.ComponentClass))
                        //{
                        //  return new ProxiedInstantiator(component);
                        //}

            if (hasCustomAccessors || !
Cfg.Environment.UseReflectionOptimizer)
            {
                optimizer = null;
            }
            else
            {
                optimizer =
Cfg.Environment.BytecodeProvider.GetReflectionOptimizer(component.ComponentClass,
getters, setters);
            }

                        if (optimizer == null)
                        {
                                return new PocoInstantiator(component, null);
                        }
                        else
                        {
                                return new PocoInstantiator(component,
optimizer.InstantiationOptimizer);
                        }
                }

-- 
You received this message because you are subscribed to the Google Groups 
"nhusers" group.
To post to this group, send email to [email protected].
To unsubscribe from this group, send email to 
[email protected].
For more options, visit this group at 
http://groups.google.com/group/nhusers?hl=en.

Reply via email to