net.anotheria.anosite.gen.aslayoutdata.service.ASLayoutDataServiceFactory Maven / Gradle / Ivy
/**
********************************************************************************
*** ASLayoutDataServiceFactory.java ***
*** The factory for the IASLayoutDataService implementation. ***
*** generated by AnoSiteGenerator (ASG), Version: 3.2.2 ***
*** Copyright (C) 2005 - 2023 Anotheria.net, www.anotheria.net ***
*** All Rights Reserved. ***
********************************************************************************
*** Don't edit this code, if you aren't sure ***
*** that you do exactly know what you are doing! ***
*** It's better to invest time in the generator, as into the generated code. ***
********************************************************************************
*/
package net.anotheria.anosite.gen.aslayoutdata.service;
import java.util.concurrent.atomic.AtomicInteger;
import net.anotheria.moskito.core.dynamic.MoskitoInvokationProxy;
import net.anotheria.moskito.core.predefined.ServiceStatsCallHandler;
import net.anotheria.moskito.core.predefined.ServiceStatsFactory;
import net.anotheria.asg.service.ASGService;
import net.anotheria.anoprise.metafactory.ServiceFactory;
public class ASLayoutDataServiceFactory implements ServiceFactory{
private static AtomicInteger instanceCounter = new AtomicInteger(0);
private static IASLayoutDataService defaultInstance = createASLayoutDataService();
public IASLayoutDataService create(){
return createASLayoutDataService();
}
public static IASLayoutDataService createASLayoutDataService(){
MoskitoInvokationProxy proxy = new MoskitoInvokationProxy(
createInstance(),
new ServiceStatsCallHandler(),
new ServiceStatsFactory(),
"IASLayoutDataService-"+instanceCounter.incrementAndGet(),
"service",
"asg-cms",
IASLayoutDataService.class, ASGService.class
);
return (IASLayoutDataService) proxy.createProxy();
}
private static IASLayoutDataService createInstance(){
return ASLayoutDataServiceImpl.getInstance();
}
static IASLayoutDataService getDefaultInstance(){
return defaultInstance;
}
}