Clover.NET coverage report - Coverage for s2container.net

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

File Stats: LOC: 62   Methods: 2
NCLOC: 24 Classes: 1
 
Source File Conditionals Statements Methods TOTAL
Seasar.Framework.Container\Util\AopProxyUtil.cs - 100.0% 50.0% 80.0%
coverage 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.Collections;
21   using Seasar.Framework.Aop;
22   using Seasar.Framework.Aop.Impl;
23   using Seasar.Framework.Aop.Proxy;
24  
25   namespace Seasar.Framework.Container.Util
26   {
27   /// <summary>
28   /// AopProxyUtil の概要の説明です。
29   /// </summary>
30   public sealed class AopProxyUtil
31   {
32   /// <summary>
33   /// デフォルトのAspectWeaverインスタンス
34   /// </summary>
35   private static IAspectWeaver DEFAULT_ASPECTWEAVER_INSTANCE = new AopProxyAspectWeaver();
36  
37 0 private AopProxyUtil()
38   {
39   }
40  
41   /// <summary>
42   /// Aspectを織り込む
43   /// </summary>
44   /// <param name="target">Aspectを織り込む対象のオブジェクト</param>
45   /// <param name="componentDef">Aspectを織り込む対象のコンポーネント定義</param>
46 34 public static void WeaveAspect(ref object target,IComponentDef componentDef)
47   {
48   // S2コンテナを取得する
49 34 IS2Container container = componentDef.Container;
50  
51   // S2コンテナにIAspectWeaverが存在する場合は、S2コンテナから取得する
52   // 存在しない場合は、デフォルトのAopProxyAspectWeaverを使用する
53 34 IAspectWeaver aspectWeaver = container.HasComponentDef(typeof(IAspectWeaver)) ?
54   (IAspectWeaver) container.GetComponent(typeof(IAspectWeaver)) : DEFAULT_ASPECTWEAVER_INSTANCE;
55  
56   // Aspectを織り込む
57 34 aspectWeaver.WeaveAspect(ref target, componentDef);
58  
59   }
60   }
61   }
62