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

pl.tahona.di.spring.SpringConfiguration Maven / Gradle / Ivy

package pl.tahona.di.spring;

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component;
import org.springframework.stereotype.Repository;
import org.springframework.stereotype.Service;
import pl.tahona.di.inject.InjectDefinition;
import pl.tahona.di.inject.SimpleInjectDefinition;
import pl.tahona.di.scanner.ScannerDefinition;
import pl.tahona.di.scanner.SimpleScannerDefinition;

import java.util.Arrays;
import java.util.HashSet;
import java.util.List;
import java.util.Set;

public final class SpringConfiguration {

    private static final List DEFINITIONS = Arrays.asList(
            new SimpleInjectDefinition<>(Autowired.class, a -> null)
    );

    private static final List SCANNER_DEFINITIONS = Arrays.asList(
            new SimpleScannerDefinition<>(Component.class, Component::value),
            new SimpleScannerDefinition<>(Repository.class, Repository::value),
            new SimpleScannerDefinition<>(Service.class, Service::value)
    );

    private SpringConfiguration() {
    }

    public static Set scannerDefinitions() {
        return new HashSet<>(SCANNER_DEFINITIONS);
    }

    public static Set injectDefinitions() {
        return new HashSet<>(DEFINITIONS);
    }
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy