IScellApiResolver - SCell dependency container
IScellApiResolver
resolves different API Interface implementations required for the user's project code.
To use the IScellApiResolver
you should connect (with Maven or Gradle) the API and make the following calls:
import com.intechcore.scomponents.scell.api.IScellApiResolver;
import com.intechcore.scomponents.scell.api.init.ScellApiEntryPoint;
import java.util.concurrent.CompletableFuture;
public class TestApp {
public static void main(String[] args) {
ScellApiEntryPoint.getApiResolverAsync().thenAccept(resolver -> {
// you have access to the IScellApiResolver implementation here
}).whenComplete((unused, throwable) -> {
if (throwable != null) {
System.out.println(throwable.getMessage());
}
}).join();
}
}
Use IScellApiResolver
to get the fallowing main parts of the SCell API:
IScellCoreApiFactory
- SCell Core API main entry pointIScellUiFxApiBuilder
(orIScellUiApiBuilder<Node>
) - SCell JavaFX UI main entry point
“Main entry point” means the fallowing functionality:
- core - to manage the xlsx content
- UI - to have JavaFX UI spreadsheet processor.
Also, the IScellApiResolver
is used to get the IRangeAddressBuilder
.
An example of getting implementations:
import com.intechcore.scomponents.scell.api.fx.IScellUiFxApiBuilder;
import com.intechcore.scomponents.scell.api.init.ScellApiEntryPoint;
import com.intechcore.scomponents.scell.api.spreadsheet.IScellCoreApiFactory;
import com.intechcore.scomponents.scell.api.spreadsheet.service.builder.IRangeAddressBuilder;
public class TestApp {
public static void main(String[] args) {
ScellApiEntryPoint.getApiResolverAsync().thenAccept(resolver -> {
IScellCoreApiFactory coreApiProvider = resolver.resolve(IScellCoreApiFactory.class); // Core API entry point
IScellUiFxApiBuilder uiApiProvider = resolver.resolve(IScellUiFxApiBuilder.class); // JavaFX UI control entry point
IRangeAddressBuilder addressBuilder = resolver.resolve(IRangeAddressBuilder.class); // IRangeAddressBuilder implementation
}).whenComplete((unused, throwable) -> {
if (throwable != null) {
System.out.println(throwable.getMessage());
}
}).join();
}
}