All Downloads are FREE. Search and download functionalities are using the official Maven repository.

io.github.factoryfx.microservice.rest.MicroserviceResourceFactory Maven / Gradle / Ivy

package io.github.factoryfx.microservice.rest;

import io.github.factoryfx.factory.FactoryBase;
import io.github.factoryfx.factory.attribute.dependency.FactoryPolymorphicAttribute;
import io.github.factoryfx.server.Microservice;
import io.github.factoryfx.server.user.nop.NoUserManagement;
import io.github.factoryfx.server.user.UserManagement;

/**
 * usage example: (in a FactoryTreeBuilder)
*
 * {@code
    new JettyServerBuilder<>(new ShopJettyServerFactory())
        .withHost("localhost").withPort(8089)
        .withResource(context.getUnsafe(MicroserviceDomResourceFactory.class))
        ...

    factoryTreeBuilder.addFactory(MicroserviceDomResourceFactory.class, Scope.SINGLETON, context -> {
        return new MicroserviceDomResourceFactory();
    });
 * }
 * 
* (the messed up generics are caused by java limitations) * * @param root */ public class MicroserviceResourceFactory> extends FactoryBase,R> { public final FactoryPolymorphicAttribute userManagement = new FactoryPolymorphicAttribute().labelText("resource").nullable(); public MicroserviceResourceFactory(){ configLifeCycle().setCreator(() -> { UserManagement userManagementInstance = userManagement.instance(); if (userManagementInstance==null) { userManagementInstance=new NoUserManagement(); } Microservice microservice = utility().getMicroservice(); return new MicroserviceResource<>(microservice, userManagementInstance); }); config().setDisplayTextProvider(()->"Resource"); } }




© 2015 - 2025 Weber Informatics LLC | Privacy Policy