class PerRequestObjectFactory implements ObjectFactory<T> {

    @Override
    public Object getInstance(ApplicationContext context) {
        ConstructorDescriptor constructorDescriptor = model.getConstructorDescriptors().get(0);
        Object object = constructorDescriptor.createInstance(context);

        List<FieldInjector> fieldInjectors = model.getFieldInjectors();
        if (fieldInjectors != null && fieldInjectors.size() > 0) {
            for (FieldInjector injector : fieldInjectors) {
                injector.inject(object, context);
            }
        }
        doPostConstruct(object, context);
        return object;
    }

    public  PerRequestObjectFactory(T model);

}