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.