package org.netbeans.gradle.project.java.model;
import java.io.InvalidObjectException;
import java.io.ObjectInputStream;
import java.io.ObjectStreamException;
import java.io.Serializable;
import org.netbeans.gradle.model.java.JacocoModel;
public final class NbCodeCoverage implements Serializable {
private static final long serialVersionUID = 1L;
public static final NbCodeCoverage NO_CODE_COVERAGE = new NbCodeCoverage(null);
private final JacocoModel jacocoModel;
public NbCodeCoverage(JacocoModel jacocoModel) {
this.jacocoModel = jacocoModel;
}
public JacocoModel tryGetJacocoModel() {
return jacocoModel;
}
public boolean hasCodeCoverage() {
return jacocoModel != null;
}
private Object writeReplace() {
return new SerializedFormat(this);
}
private void readObject(ObjectInputStream stream) throws InvalidObjectException {
throw new InvalidObjectException("Use proxy.");
}
private static final class SerializedFormat implements Serializable {
private static final long serialVersionUID = 1L;
private final JacocoModel jacocoModel;
public SerializedFormat(NbCodeCoverage source) {
this.jacocoModel = source.jacocoModel;
}
private Object readResolve() throws ObjectStreamException {
return new NbCodeCoverage(jacocoModel);
}
}
}