PageRenderTime 11ms CodeModel.GetById 2ms app.highlight 4ms RepoModel.GetById 2ms app.codeStats 0ms

/Source/Bifrost/Validation/CommandValidatorFactory.cs

#
C# | 54 lines | 31 code | 4 blank | 19 comment | 2 complexity | df5c9762c5ec803d75e06c4a1433fe9a MD5 | raw file
 1#region License
 2//
 3// Copyright (c) 2008-2012, DoLittle Studios and Komplett ASA
 4//
 5// Licensed under the Microsoft Permissive License (Ms-PL), Version 1.1 (the "License")
 6// With one exception :
 7//   Commercial libraries that is based partly or fully on Bifrost and is sold commercially,
 8//   must obtain a commercial license.
 9//
10// You may not use this file except in compliance with the License.
11// You may obtain a copy of the license at
12//
13//   http://bifrost.codeplex.com/license
14//
15// Unless required by applicable law or agreed to in writing, software
16// distributed under the License is distributed on an "AS IS" BASIS,
17// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
18// See the License for the specific language governing permissions and
19// limitations under the License.
20//
21#endregion
22using System;
23using FluentValidation;
24
25namespace Bifrost.Validation
26{
27#pragma warning disable 1591 // Xml Comments
28    public class CommandValidatorFactory : IValidatorFactory
29    {
30        readonly ICommandValidatorProvider _commandValidatorProvider;
31
32        public CommandValidatorFactory(ICommandValidatorProvider commandValidatorProvider)
33        {
34            _commandValidatorProvider = commandValidatorProvider;
35        }
36
37        public IValidator<T> GetValidator<T>()
38        {
39            var validator = _commandValidatorProvider.GetInputValidatorFor(typeof(T)) as IValidator<T>;
40            return validator;
41        }
42
43        public IValidator GetValidator(Type type)
44        {
45            if (null != type)
46            {
47                var validator = _commandValidatorProvider.GetInputValidatorFor(type) as IValidator;
48                return validator;
49            }
50            return null;
51        }
52    }
53#pragma warning restore 1591 // Xml Comments
54}