123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113 |
- package com.vaadin.tests;
-
- import java.io.File;
- import java.net.URISyntaxException;
- import java.util.List;
- import java.util.function.Predicate;
- import java.util.stream.Collectors;
- import java.util.stream.Stream;
-
- import com.vaadin.tests.server.ClasspathHelper;
- import com.vaadin.ui.Component;
- import com.vaadin.ui.ComponentContainer;
- import com.vaadin.ui.CustomComponent;
- import com.vaadin.ui.DragAndDropWrapper;
- import com.vaadin.ui.HorizontalSplitPanel;
- import com.vaadin.ui.LoginForm;
- import com.vaadin.ui.PopupView;
- import com.vaadin.ui.UI;
- import com.vaadin.ui.VerticalSplitPanel;
- import com.vaadin.ui.Window;
-
- @SuppressWarnings("deprecation")
- public class VaadinClasses {
-
- public static void main(String[] args) {
- System.out.println("ComponentContainers");
- System.out.println("===================");
- for (Class<? extends ComponentContainer> c : getComponentContainers()) {
- System.out.println(c.getName());
- }
- System.out.println();
- System.out.println("Components");
- System.out.println("==========");
- for (Class<? extends Component> c : getComponents()) {
- System.out.println(c.getName());
- }
- System.out.println();
- System.out.println("Server side classes");
- System.out.println("===================");
- for (Class<?> c : getAllServerSideClasses()) {
- System.out.println(c.getName());
- }
- }
-
- public static List<Class<? extends Component>> getComponents() {
- return getServerClasses(Component.class::isAssignableFrom)
- .map(VaadinClasses::castComponentClass)
- .collect(Collectors.toList());
- }
-
- public static List<Class<? extends Object>> getThemeClasses() {
- return getServerClasses(clazz -> clazz.getPackage().getName()
- .equals("com.vaadin.ui.themes")).collect(Collectors.toList());
- }
-
- public static List<Class<? extends Object>> getAllServerSideClasses() {
- return getServerClasses(clazz -> true).collect(Collectors.toList());
- }
-
- public static List<Class<? extends ComponentContainer>> getComponentContainers() {
- return getServerClasses(ComponentContainer.class::isAssignableFrom)
- .filter(clazz -> clazz.getPackage().getName()
- .startsWith("com.vaadin.ui"))
- .map(VaadinClasses::castContainerClass)
- .collect(Collectors.toList());
- }
-
- public static List<Class<? extends ComponentContainer>> getComponentContainersSupportingAddRemoveComponent() {
- List<Class<? extends ComponentContainer>> classes = getComponentContainers();
- classes.remove(PopupView.class);
- classes.remove(CustomComponent.class);
- classes.remove(DragAndDropWrapper.class);
- classes.remove(CustomComponent.class);
- classes.remove(LoginForm.class);
- classes.remove(UI.class);
-
- return classes;
- }
-
- public static List<Class<? extends ComponentContainer>> getComponentContainersSupportingUnlimitedNumberOfComponents() {
- List<Class<? extends ComponentContainer>> classes = getComponentContainersSupportingAddRemoveComponent();
- classes.remove(VerticalSplitPanel.class);
- classes.remove(HorizontalSplitPanel.class);
- classes.remove(Window.class);
-
- return classes;
- }
-
- public static Stream<Class<?>> getServerClasses(
- Predicate<? super Class<?>> predicate) {
- try {
- File testRoot = new File(
- VaadinClasses.class.getResource("/").toURI());
- ClasspathHelper helper = new ClasspathHelper();
- return helper
- .getVaadinClassesFromClasspath(
- entry -> !testRoot.equals(new File(entry)))
- .filter(predicate);
- } catch (URISyntaxException e) {
- throw new RuntimeException(e);
- }
- }
-
- private static Class<? extends Component> castComponentClass(
- Class<?> clazz) {
- return (Class<? extends Component>) clazz;
- }
-
- private static Class<? extends ComponentContainer> castContainerClass(
- Class<?> clazz) {
- return (Class<? extends ComponentContainer>) clazz;
- }
- }
|