-
Notifications
You must be signed in to change notification settings - Fork 2
Expand file tree
/
Copy pathEntrypointsFinderFactory.java
More file actions
32 lines (28 loc) · 1.39 KB
/
EntrypointsFinderFactory.java
File metadata and controls
32 lines (28 loc) · 1.39 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
package com.ibm.cldk.javaee;
import com.ibm.cldk.javaee.camel.CamelEntrypointFinder;
import com.ibm.cldk.javaee.jax.JaxRsEntrypointFinder;
import com.ibm.cldk.javaee.spring.SpringEntrypointFinder;
import com.ibm.cldk.javaee.utils.interfaces.AbstractEntrypointFinder;
import com.ibm.cldk.javaee.jakarta.JakartaEntrypointFinder;
import com.ibm.cldk.javaee.struts.StrutsEntrypointFinder;
import org.apache.commons.lang3.NotImplementedException;
import java.util.stream.Stream;
public class EntrypointsFinderFactory {
public static AbstractEntrypointFinder getEntrypointFinder(String framework) {
switch (framework.toLowerCase()) {
case "jakarta":
return new JakartaEntrypointFinder();
case "spring":
return new SpringEntrypointFinder();
case "camel":
throw new NotImplementedException("Camel CRUD finder not implemented yet");
case "struts":
throw new NotImplementedException("Struts CRUD finder not implemented yet");
default:
throw new IllegalArgumentException("Unknown framework: " + framework);
}
}
public static Stream<AbstractEntrypointFinder> getEntrypointFinders() {
return Stream.of(new JakartaEntrypointFinder(), new StrutsEntrypointFinder(), new SpringEntrypointFinder(), new CamelEntrypointFinder(), new JaxRsEntrypointFinder());
}
}