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

io.imunity.furms.ui.components.MenuComponent Maven / Gradle / Ivy

There is a newer version: 4.3.1
Show newest version
/*
 * Copyright (c) 2020 Bixbit s.c. All rights reserved.
 * See LICENSE file for licensing information.
 */
package io.imunity.furms.ui.components;

import java.util.Arrays;
import java.util.Collections;
import java.util.List;

import com.google.common.collect.ImmutableList;
import com.vaadin.flow.component.Component;

public class MenuComponent {

	public final Class component;
	public final List> subViews;

	private MenuComponent(Class menuComponent, List> subViews) {
		this.component = menuComponent;
		this.subViews = ImmutableList.copyOf(subViews);
	}

	public static Builder builder(Class component) {
		return new Builder(component);
	}

	public static final class Builder {
		private Class component;
		private List> subViews = Collections.emptyList();

		private Builder(Class component) {
			this.component = component;
		}

		public Builder menu(Class component) {
			this.component = component;
			return this;
		}

		@SafeVarargs
		public final Builder subViews(Class... subViews) {
			this.subViews = Arrays.asList(subViews);
			return this;
		}

		public MenuComponent build() {
			return new MenuComponent(component, subViews);
		}
	}

}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy