package japicmp.model;
import com.google.common.base.Optional;
import japicmp.util.OptionalHelper;
import javax.xml.bind.annotation.XmlAttribute;
import javax.xml.bind.annotation.XmlTransient;
public class JApiClassType {
private final Optional<ClassType> oldTypeOptional;
private final Optional<ClassType> newTypeOptional;
private final JApiChangeStatus changeStatus;
public enum ClassType {
ANNOTATION, INTERFACE, CLASS, ENUM
}
public JApiClassType(Optional<ClassType> oldTypeOptional, Optional<ClassType> newTypeOptional, JApiChangeStatus changeStatus) {
this.oldTypeOptional = oldTypeOptional;
this.newTypeOptional = newTypeOptional;
this.changeStatus = changeStatus;
}
@XmlAttribute
public String getOldType() {
return OptionalHelper.optionalToString(oldTypeOptional);
}
@XmlAttribute
public String getNewType() {
return OptionalHelper.optionalToString(newTypeOptional);
}
@XmlAttribute
public JApiChangeStatus getChangeStatus() {
return changeStatus;
}
@XmlTransient
public Optional<ClassType> getOldTypeOptional() {
return oldTypeOptional;
}
@XmlTransient
public Optional<ClassType> getNewTypeOptional() {
return newTypeOptional;
}
}