package org.netbeans.gradle.project.license;
import java.nio.file.Path;
import java.security.SecureRandom;
import java.util.Random;
import org.jtrim.utils.ExceptionHelper;
import org.netbeans.gradle.project.util.NbFileUtils;
public final class DefaultLicenseDef implements LicenseDef {
private static final Random RND = new SecureRandom();
private final Path src;
private final String name;
private final String licenseId;
private final String displayName;
public DefaultLicenseDef(Path src, String name, String displayName) {
ExceptionHelper.checkNotNullArgument(src, "src");
ExceptionHelper.checkNotNullArgument(name, "name");
ExceptionHelper.checkNotNullArgument(displayName, "displayName");
this.src = src;
this.name = name;
this.displayName = displayName;
String safeName = NbFileUtils.toSafeFileName(name);
String randomStr = Long.toHexString(RND.nextLong()) + "-" + Long.toHexString(RND.nextLong());
this.licenseId = "nb-gradle-" + safeName + "-" + randomStr;
}
public Path getSrc() {
return src;
}
public String getName() {
return name;
}
@Override
public String getLicenseId() {
return licenseId;
}
public String getDisplayName() {
return displayName;
}
@Override
public String toString() {
return "License " + displayName + " at " + src;
}
}