forked from nhibernate/nhibernate-core
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathIProxyFactoryFactory.cs
44 lines (39 loc) · 1.38 KB
/
IProxyFactoryFactory.cs
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
using NHibernate.Proxy;
namespace NHibernate.Bytecode
{
/// <summary>
/// An interface for factories of <see cref="IProxyFactory">proxy factory</see> instances.
/// </summary>
/// <remarks>
/// Used to abstract from the tupizer.
/// </remarks>
public interface IProxyFactoryFactory
{
/// <summary>
/// Build a proxy factory specifically for handling runtime
/// lazy loading.
/// </summary>
/// <returns> The lazy-load proxy factory. </returns>
IProxyFactory BuildProxyFactory();
/*
/// <summary> Build a proxy factory for basic proxy concerns. The return
/// should be capable of properly handling newInstance() calls.
/// <p/>
/// Should build basic proxies essentially equivalent to JDK proxies in
/// terms of capabilities, but should be able to deal with abstract super
/// classes in addition to proxy interfaces.
/// <p/>
/// Must pass in either superClass or interfaces (or both).
///
/// </summary>
/// <param name="superClass">The abstract super class (or null if none).</param>
/// <param name="interfaces">Interfaces to be proxied (or null if none).</param>
/// <returns> The proxy class</returns>
// TODO: H3.2
//BasicProxyFactory BuildBasicProxyFactory(System.Type superClass, System.Type[] interfaces);
*/
IProxyValidator ProxyValidator { get; }
bool IsInstrumented(System.Type entityClass);
bool IsProxy(object entity);
}
}