package jp.co.worksap.workspace.lombok;
import static com.google.common.base.Preconditions.checkNotNull;
import java.net.URI;
import javax.annotation.Nonnull;
import javax.annotation.Nullable;
import lombok.AccessLevel;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
import lombok.Setter;
import com.google.common.base.Optional;
@Data
@NoArgsConstructor
@AllArgsConstructor
@Setter(AccessLevel.PRIVATE)
public class LombokConfiguration {
@Nullable
private String version;
@Nullable
private URI downloadFrom;
URI getUrlToDownload() {
return URI.create(String.format("https://projectlombok.googlecode.com/files/lombok-%s.jar", version));
}
@Nonnull
Optional<URI> getDownloadFrom() {
return Optional.fromNullable(downloadFrom);
}
public static LombokConfiguration fromString(@Nonnull String version) {
checkNotNull(version);
return new LombokConfiguration(version, null);
}
}