<dependency>
<groupId>tools.gsf</groupId>
<artifactId>gsf-core</artifactId>
<version>12.0.2</version>
</dependency> package com.mycompany.myproject.gsf.config;
import COM.FutureTense.Interfaces.ICS;
import tools.gsf.config.Factory;
import tools.gsf.config.ServiceProducer;
import tools.gsf.facade.assetapi.asset.TemplateAssetAccess;
import tools.gsf.navigation.AssetNode;
import tools.gsf.navigation.NavService;
import com.mycompany.myproject.gsf.navigation.MainNavService;
/**
* This is the custom IcsBackedFactory implementation we will be using at myproject.
*
* @author fvillalba
* @author Tony Field
* @since 29-Sept-2016
*
*/
public class IcsBackedFactory extends tools.gsf.config.IcsBackedFactory {
public IcsBackedFactory(ICS ics, Factory delegate) {
super(ics, delegate);
}
/*
* This is a sample service that the object factory will be able to
* return - it's accessible in controllers via annotation injection,
* like
*
* @InjectForRequest("mainNavService") private NavService<AssetNode> navSvc;
*
* making it incredibly easy to gain quick access to your services inside
* your WCS 12c controller classes
*/
@ServiceProducer(cache = true, name="mainNavService")
public NavService<AssetNode> createMainNavService() {
TemplateAssetAccess taa = getObject("templateAssetAccess", TemplateAssetAccess.class);
return new MainNavService(getICS(), taa);
}
}COM.FutureTense.Interfaces.ICS:com.mycompany.myproject.gsf.config.IcsBackedFactory
Have a look at the Java API Reference for a review of the services available. Review the User's Guide for more detailed how-to instructions, more about typical usage, as well as some advanced features. Have fun!