package org.jboss.weld.tests.unit.deployment.structure.nonTransitiveResolution;
import static java.util.Collections.emptyList;
import static org.jboss.weld.bootstrap.spi.Scanning.EMPTY_SCANNING;
import java.net.URL;
import java.util.List;
import java.util.function.Function;
import java.util.stream.Collectors;
import org.jboss.weld.bootstrap.spi.BeanDiscoveryMode;
import org.jboss.weld.bootstrap.spi.BeansXml;
import org.jboss.weld.bootstrap.spi.Metadata;
import org.jboss.weld.bootstrap.spi.Scanning;
import org.jboss.weld.bootstrap.spi.helpers.MetadataImpl;
public class BeansXmlImpl implements BeansXml {
private static class AddMetadataFunction<T> implements Function<String, Metadata<String>> {
public Metadata<String> apply(String from) {
return new MetadataImpl<String>(from, "unknown");
}
}
private final List<Metadata<String>> alternativeClasses;
private final List<Metadata<String>> alternativeStereotypes;
private final List<Metadata<String>> decorators;
private final List<Metadata<String>> interceptors;
private final Scanning scanning;
public BeansXmlImpl(List<String> alternativeClasses, List<String> alternativeStereotypes, List<String> decorators, List<String> interceptors) {
if (alternativeClasses != null) {
this.alternativeClasses = alternativeClasses.stream().map(new AddMetadataFunction<String>()).collect(Collectors.toList());
} else {
this.alternativeClasses = emptyList();
}
if (alternativeStereotypes != null) {
this.alternativeStereotypes = alternativeStereotypes.stream().map(new AddMetadataFunction<String>()).collect(Collectors.toList());
} else {
this.alternativeStereotypes = emptyList();
}
if (decorators != null) {
this.decorators = decorators.stream().map(new AddMetadataFunction<String>()).collect(Collectors.toList());
} else {
this.decorators = emptyList();
}
if (interceptors != null) {
this.interceptors = interceptors.stream().map(new AddMetadataFunction<String>()).collect(Collectors.toList());
} else {
this.interceptors = emptyList();
}
this.scanning = EMPTY_SCANNING;
}
public List<Metadata<String>> getEnabledAlternativeClasses() {
return alternativeClasses;
}
public List<Metadata<String>> getEnabledAlternativeStereotypes() {
return alternativeStereotypes;
}
public List<Metadata<String>> getEnabledDecorators() {
return decorators;
}
public List<Metadata<String>> getEnabledInterceptors() {
return interceptors;
}
public Scanning getScanning() {
return scanning;
}
@Override
public URL getUrl() {
return null;
}
@Override
public BeanDiscoveryMode getBeanDiscoveryMode() {
return BeanDiscoveryMode.ALL;
}
@Override
public String getVersion() {
return null;
}
@Override
public boolean isTrimmed() {
return false;
}
}