Clover.NET coverage report - Coverage for s2container.net

Coverage timestamp: 2006年5月30日 11:21:29

File Stats: LOC: 59   Methods: 2
NCLOC: 33 Classes: 1
 
Source File Conditionals Statements Methods TOTAL
Seasar.Framework.Container\Assembler\ManualPropertyAssembler.cs 100.0% 100.0% 100.0% 100.0%
coverage
1   #region Copyright
2   /*
3   * Copyright 2005 the Seasar Foundation and the Others.
4   *
5   * Licensed under the Apache License, Version 2.0 (the "License");
6   * you may not use this file except in compliance with the License.
7   * You may obtain a copy of the License at
8   *
9   * http://www.apache.org/licenses/LICENSE-2.0
10   *
11   * Unless required by applicable law or agreed to in writing, software
12   * distributed under the License is distributed on an "AS IS" BASIS,
13   * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND,
14   * either express or implied. See the License for the specific language
15   * governing permissions and limitations under the License.
16   */
17   #endregion
18  
19   using System;
20   using System.Reflection;
21   using Seasar.Framework.Beans;
22  
23   namespace Seasar.Framework.Container.Assembler
24   {
25   /// <summary>
26   /// ManualPropertyAssembler の概要の説明です。
27   /// </summary>
28   public class ManualPropertyAssembler : AbstractPropertyAssembler
29   {
30 7 public ManualPropertyAssembler(IComponentDef componentDef)
31   : base(componentDef)
32   {
33   }
34  
35 7 public override void Assemble(object component)
36   {
37 7 Type type = component.GetType();
38 7 IS2Container container = this.ComponentDef.Container;
39 7 int size = this.ComponentDef.PropertyDefSize;
40 10 for(int i = 0; i < size; ++i)
41   {
42 6 IPropertyDef propDef = this.ComponentDef.GetPropertyDef(i);
43 6 PropertyInfo propInfo = type.GetProperty(propDef.PropertyName);
44 6 if(propInfo == null)
45 1 throw new PropertyNotFoundRuntimeException(component.GetType(),
46   propDef.PropertyName);
47 5 propDef.ArgType = propInfo.PropertyType;
48  
49 5 object value = this.GetComponentByReceiveType(propInfo.PropertyType, propDef.Expression);
50  
51 5 if(value == null) value = this.GetValue(propDef, component);
52  
53 4 this.SetValue(propInfo,component,value);
54   }
55   }
56  
57   }
58   }
59