Subversion Repository Public Repository

litesoft

Diff Revisions 474 vs 499 for /trunk/Java/core/Server/src/org/litesoft/configuration/ServerConfigDataAccessorFactoryProxy.java

Diff revisions: vs.
  @@ -7,17 +7,29 @@
7 7
8 8 public class ServerConfigDataAccessorFactoryProxy implements ConfigDataAccessorFactory
9 9 {
10 - private ConfigDataAccessorFactory mProxyFor;
10 + private final ConfigDataAccessorFactory mProxyForAccessorFactory;
11 + private final ConfigDataAccessor mProxyForAccessor;
11 12
12 - public ServerConfigDataAccessorFactoryProxy( ConfigDataAccessorFactory pProxyFor )
13 + private ServerConfigDataAccessorFactoryProxy( ConfigDataAccessorFactory pFactory, ConfigDataAccessor pAccessor )
13 14 {
14 - mProxyFor = Utils.assertNotNull( "ProxyFor", pProxyFor );
15 + mProxyForAccessorFactory = pFactory;
16 + mProxyForAccessor = pAccessor;
17 + }
18 +
19 + public ServerConfigDataAccessorFactoryProxy( ConfigDataAccessorFactory pProxyForAccessorFactory )
20 + {
21 + this( Utils.assertNotNull( "ProxyForAccessorFactory", pProxyForAccessorFactory ), null );
22 + }
23 +
24 + public ServerConfigDataAccessorFactoryProxy( ConfigDataAccessor pProxyForAccessor )
25 + {
26 + this( null, Utils.assertNotNull( "ProxyForAccessor", pProxyForAccessor ) );
15 27 }
16 28
17 29 @Override
18 30 public ConfigDataAccessor createConfigDataAccessor()
19 31 {
20 - return new ConfigDataAccessorProxy( mProxyFor.createConfigDataAccessor() );
32 + return new ConfigDataAccessorProxy( (mProxyForAccessorFactory == null) ? mProxyForAccessor : mProxyForAccessorFactory.createConfigDataAccessor() );
21 33 }
22 34
23 35 private static class ConfigDataAccessorProxy implements ConfigDataAccessor