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

io.imunity.furms.ui.components.layout.BreadCrumb 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.layout;

import io.imunity.furms.ui.components.FurmsViewComponent;

import java.util.Objects;
import java.util.Optional;

class BreadCrumb {
	private final Class routeClass;
	private final BreadCrumbParameter breadCrumbParameter;

	BreadCrumb(Class routeClass, BreadCrumbParameter breadCrumbParameter) {
		this.routeClass = routeClass;
		this.breadCrumbParameter = breadCrumbParameter;
	}

	public Class getRouteClass() {
		return routeClass;
	}

	public Optional getBreadCrumbParameter() {
		return Optional.ofNullable(breadCrumbParameter);
	}

	public boolean isParamChanged(BreadCrumb newParameter){
		return breadCrumbParameter != null && breadCrumbParameter.id != null && breadCrumbParameter.id.equals(newParameter.breadCrumbParameter.id);
	}

	@Override
	public boolean equals(Object o) {
		if (this == o) return true;
		if (o == null || getClass() != o.getClass()) return false;
		BreadCrumb that = (BreadCrumb) o;
		return Objects.equals(routeClass, that.routeClass) &&
			Objects.equals(breadCrumbParameter, that.breadCrumbParameter);
	}

	@Override
	public int hashCode() {
		return Objects.hash(routeClass, breadCrumbParameter);
	}

	@Override
	public String toString() {
		return "BreadCrumb{" +
			"routeClass=" + routeClass +
			", breadCrumbParameter=" + breadCrumbParameter +
			'}';
	}
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy