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

japicmp.model.JApiType Maven / Gradle / Ivy

Go to download

japicmp is a library that computes the differences between two versions of a jar file/artifact in order to ease the API documentation for clients/customers.

There is a newer version: 0.23.0
Show newest version
package japicmp.model;

import japicmp.util.Optional;
import japicmp.util.OptionalHelper;

import javax.xml.bind.annotation.XmlAttribute;
import javax.xml.bind.annotation.XmlTransient;

public class JApiType implements JApiHasChangeStatus {
	private final Optional oldTypeOptional;
	private final Optional newTypeOptional;
	private final JApiChangeStatus changeStatus;

	public JApiType(Optional oldTypeOptional, Optional newTypeOptional, JApiChangeStatus changeStatus) {
		this.oldTypeOptional = oldTypeOptional;
		this.newTypeOptional = newTypeOptional;
		this.changeStatus = changeStatus;
	}

	@XmlTransient
	public Optional getOldTypeOptional() {
		return oldTypeOptional;
	}

	@XmlTransient
	public Optional getNewTypeOptional() {
		return newTypeOptional;
	}

	@Override
	@XmlAttribute(name = "changeStatus")
	public JApiChangeStatus getChangeStatus() {
		return changeStatus;
	}

	@XmlAttribute(name = "oldValue")
	public String getOldValue() {
		return OptionalHelper.optionalToString(this.oldTypeOptional);
	}

	@XmlAttribute(name = "newValue")
	public String getNewValue() {
		return OptionalHelper.optionalToString(this.newTypeOptional);
	}

	public boolean hasChanged() {
		boolean hasChanged = false;
		if (oldTypeOptional.isPresent() && newTypeOptional.isPresent()) {
			if (!oldTypeOptional.get().equals(newTypeOptional.get())) {
				hasChanged = true;
			}
		}
		return hasChanged;
	}
}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy