ModelPackageVariant.java
- /**
- * Copyright (c) 2018 European Organisation for Nuclear Research (CERN), All Rights Reserved.
- */
- package org.jmad.modelpack.domain;
- import java.net.URI;
- import java.util.Objects;
- import static java.util.Objects.requireNonNull;
- public class ModelPackageVariant {
- protected final ModelPackage modelPackage;
- protected final Variant variant;
- protected final URI uri;
- public ModelPackageVariant(URI uri, ModelPackage modelPackage, Variant variant) {
- this.uri = requireNonNull(uri, "URI must not be null");
- this.modelPackage = requireNonNull(modelPackage, "modelPackage must not be null");
- this.variant = requireNonNull(variant, "variant must not be null");
- }
- public ModelPackage modelPackage() {
- return this.modelPackage;
- }
- public Variant variant() {
- return this.variant;
- }
- public String fullName() {
- return modelPackage.name() + "-" + variant.fullName();
- }
- public URI uri() {
- return uri;
- }
- @Override
- public boolean equals(Object o) {
- if (this == o) return true;
- if (o == null || getClass() != o.getClass()) return false;
- ModelPackageVariant that = (ModelPackageVariant) o;
- return Objects.equals(modelPackage, that.modelPackage) &&
- Objects.equals(variant, that.variant) &&
- Objects.equals(uri, that.uri);
- }
- @Override
- public int hashCode() {
- return Objects.hash(modelPackage, variant, uri);
- }
- @Override
- public String toString() {
- return "ModelPackageVariant{" +
- "modelPackage=" + modelPackage +
- ", variant=" + variant +
- ", uri=" + uri +
- '}';
- }
- }