Project.java

  1. /*
  2.  * @copyright defined in LICENSE.txt
  3.  */

  4. package ship.build.res;

  5. import java.nio.file.Path;
  6. import java.nio.file.Paths;
  7. import lombok.Getter;
  8. import lombok.NonNull;
  9. import lombok.RequiredArgsConstructor;
  10. import ship.ProjectFile;

  11. @RequiredArgsConstructor
  12. public class Project {

  13.   @Getter
  14.   @NonNull
  15.   protected final String location;

  16.   @Getter
  17.   @NonNull
  18.   protected final ProjectFile projectFile;

  19.   public Path getPath() {
  20.     return Paths.get(location);
  21.   }

  22.   @Override
  23.   public int hashCode() {
  24.     return location.hashCode();
  25.   }

  26.   @Override
  27.   public boolean equals(final Object obj) {
  28.     if (!(obj instanceof Project)) {
  29.       return false;
  30.     }
  31.     final Project that = (Project) obj;

  32.     return location.equals(that.location);
  33.   }

  34.   @Override
  35.   public String toString() {
  36.     return getClass().getSimpleName() + "[" + location + "]";
  37.   }
  38. }