protected override void PostValidateModel(CompositeModel compositeModel, CompositeValidationResult validationResult) { ServiceCompositeModel sModel = (ServiceCompositeModel)compositeModel; if (sModel.PublicTypes.Any(pType => pType.ContainsGenericParameters())) { validationResult.StructureValidationErrors.Add(ValidationErrorFactory.NewStructureError("All the generic arguments of service composite's all public types must be closed.", compositeModel)); } }
public ServiceReferenceImpl(ServiceCompositeModel model, Func <ServiceCompositeInstanceImpl> instanceCreator, Application application /*, Type[] actualServiceTypes */) { ArgumentValidator.ValidateNotNull("Service composite model", model); ArgumentValidator.ValidateNotNull("Service composite instance creator", instanceCreator); ArgumentValidator.ValidateNotNull("Application", application); // ArgumentValidator.ValidateNotEmpty( "Service types", actualServiceTypes ); this._application = application; this._model = model; this._instance = new Lazy <ServiceCompositeInstanceImpl>(instanceCreator, System.Threading.LazyThreadSafetyMode.ExecutionAndPublication); // this._actualServiceTypes = actualServiceTypes; }
/// <summary> /// This method will be called by <see cref="Qualifies(ServiceCompositeModel, Attribute)"/>. The <paramref name="attribute"/> will be casted to <typeparamref name="TAttribute"/>. /// </summary> /// <param name="model">The <see cref="ServiceCompositeModel"/> of the service.</param> /// <param name="attribute">The qualifier attribute.</param> /// <returns><c>true</c> if <paramref name="model"/> satisfies the conditions of qualifier <paramref name="attribute"/>; <c>false</c> otherwise.</returns> protected abstract Boolean Qualifies(ServiceCompositeModel model, TAttribute attribute);
/// <inheritdoc /> public Boolean Qualifies(ServiceCompositeModel model, Attribute attribute) { return(this.Qualifies(model, (TAttribute)attribute)); }
/// <summary> /// Returns always <c>true</c> since active check is done at runtime. /// </summary> /// <param name="model">The <see cref="ServiceCompositeModel"/>.</param> /// <param name="attribute">The <see cref="ActiveAttribute"/>.</param> /// <returns><c>true</c>.</returns> protected override Boolean Qualifies(ServiceCompositeModel model, ActiveAttribute attribute) { return(true); }
/// <summary> /// Checks whether given service composite model has same ID as the one specified in service qualifier attribute. /// </summary> /// <param name="model">The <see cref="ServiceCompositeModel"/>.</param> /// <param name="attribute">The <see cref="IdentifiedByAttribute"/>.</param> /// <returns><c>true</c> if <see cref="ServiceCompositeModel.ServiceID"/> property of <paramref name="model"/> equals to <see cref="IdentifiedByAttribute.ServiceID"/> property; <c>false</c> otherwise.</returns> protected override Boolean Qualifies(ServiceCompositeModel model, IdentifiedByAttribute attribute) { return(String.Equals(model.ServiceID, attribute.ServiceID)); }
public ServiceCompositeModelMutable(ServiceCompositeModelState state, ServiceCompositeModel immutable) : base(state, immutable) { this._state = state; this._immutable = immutable; }