/// <inheritdoc />
        public IHandler CreateHandler(IObjectDependencyResolver dependencyResolver, Type contractType, Type objectType, PropertySet properties)
        {
            if (! contractType.IsInstanceOfType(instance))
                throw new RuntimeException(string.Format("Could not satisfy contract of type '{0}' using pre-manufactured instance of type '{1}'.",
                    contractType, instance.GetType()));

            return new Handler(instance);
        }
        /// <inheritdoc />
        public IHandler CreateHandler(IObjectDependencyResolver dependencyResolver, Type contractType, Type objectType, PropertySet properties)
        {
            if (! contractType.IsAssignableFrom(objectType))
                throw new RuntimeException(string.Format("Could not satisfy contract of type '{0}' by creating an instance of type '{1}'.",
                    contractType, objectType));

            var objectFactory = new ObjectFactory(dependencyResolver, objectType, properties);
            return new SingletonHandler(objectFactory);
        }
        /// <inheritdoc />
        public IHandler CreateHandler(IObjectDependencyResolver dependencyResolver, Type contractType, Type objectType, PropertySet properties)
        {
            if (!contractType.IsInstanceOfType(instance))
            {
                throw new RuntimeException(string.Format("Could not satisfy contract of type '{0}' using pre-manufactured instance of type '{1}'.",
                                                         contractType, instance.GetType()));
            }

            return(new Handler(instance));
        }
        /// <inheritdoc />
        public IHandler CreateHandler(IObjectDependencyResolver dependencyResolver, Type contractType, Type objectType, PropertySet properties)
        {
            if (!contractType.IsAssignableFrom(objectType))
            {
                throw new RuntimeException(string.Format("Could not satisfy contract of type '{0}' by creating an instance of type '{1}'.",
                                                         contractType, objectType));
            }

            var objectFactory = new ObjectFactory(dependencyResolver, objectType, properties);

            return(new SingletonHandler(objectFactory));
        }
Example #5
0
        /// <summary>
        /// Creates an object factory.
        /// </summary>
        /// <param name="dependencyResolver">The dependency resolver.</param>
        /// <param name="objectType">The object type.</param>
        /// <param name="properties">The object properties.</param>
        /// <exception cref="ArgumentNullException">Thrown if <paramref name="dependencyResolver"/>,
        /// <paramref name="objectType"/> or <paramref name="properties"/> is null.</exception>
        public ObjectFactory(IObjectDependencyResolver dependencyResolver, Type objectType, PropertySet properties)
        {
            if (dependencyResolver == null)
                throw new ArgumentNullException("dependencyResolver");
            if (objectType == null)
                throw new ArgumentNullException("objectType");
            if (properties == null)
                throw new ArgumentNullException("properties");

            this.dependencyResolver = dependencyResolver;
            this.objectType = objectType;
            this.properties = CanonicalizePropertiesToLowerCase(properties);
        }
Example #6
0
        /// <summary>
        /// Creates an object factory.
        /// </summary>
        /// <param name="dependencyResolver">The dependency resolver.</param>
        /// <param name="objectType">The object type.</param>
        /// <param name="properties">The object properties.</param>
        /// <exception cref="ArgumentNullException">Thrown if <paramref name="dependencyResolver"/>,
        /// <paramref name="objectType"/> or <paramref name="properties"/> is null.</exception>
        public ObjectFactory(IObjectDependencyResolver dependencyResolver, Type objectType, PropertySet properties)
        {
            if (dependencyResolver == null)
            {
                throw new ArgumentNullException("dependencyResolver");
            }
            if (objectType == null)
            {
                throw new ArgumentNullException("objectType");
            }
            if (properties == null)
            {
                throw new ArgumentNullException("properties");
            }

            this.dependencyResolver = dependencyResolver;
            this.objectType         = objectType;
            this.properties         = CanonicalizePropertiesToLowerCase(properties);
        }