japicmp.model.JApiType Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of japicmp Show documentation
Show all versions of japicmp Show documentation
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.
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;
}
}