Record Class ProjectSaveDTO

java.lang.Object
java.lang.Record
callofproject.dev.project.dto.ProjectSaveDTO

public record ProjectSaveDTO(@NotNull(message="user id cannot be empty") UUID userId, String projectImage, @NotBlank(message="project name cannot be empty") @NotEmpty(message="project name cannot be empty") String projectName, @NotBlank(message="project summary cannot be empty") @NotEmpty(message="project summary cannot be empty") String projectSummary, @NotBlank(message="project description cannot be empty") @NotEmpty(message="project description cannot be empty") String projectDescription, @NotBlank(message="project aim cannot be empty") @NotEmpty(message="project aim cannot be empty") String projectAim, @NotNull(message="project deadline cannot be empty") LocalDate applicationDeadline, @NotNull(message="expected completion date cannot be empty") LocalDate expectedCompletionDate, @NotNull(message="start date cannot be empty") LocalDate startDate, @jakarta.validation.constraints.NotNull,@jakarta.validation.constraints.Min(value=2L, message="max participant count cannot be less than 2"),@jakarta.validation.constraints.Max(value=20L, message="max participant count cannot be more than 100") int maxParticipantCount, String technicalRequirements, String specialRequirements, @NotNull(message="project access type cannot be empty") callofproject.dev.data.project.entity.enums.EProjectAccessType projectAccessType, @NotNull(message="project profession level cannot be empty") callofproject.dev.data.project.entity.enums.EProjectProfessionLevel professionLevel, @NotNull(message="project sector cannot be empty") callofproject.dev.data.project.entity.enums.ESector sector, @NotNull(message="project degree cannot be empty") callofproject.dev.data.project.entity.enums.EDegree degree, @NotNull(message="project level cannot be empty") callofproject.dev.data.project.entity.enums.EProjectLevel projectLevel, @NotNull(message="project interview type cannot be empty") callofproject.dev.data.project.entity.enums.EInterviewType interviewType, @NotNull(message="feedback time range cannot be empty") callofproject.dev.data.project.entity.enums.EFeedbackTimeRange feedbackTimeRange, List<String> tags) extends Record
ProjectSaveDTO
  • Constructor Summary

    Constructors
    Constructor
    Description
    ProjectSaveDTO(@NotNull(message="user id cannot be empty") UUID userId, String projectImage, @NotBlank(message="project name cannot be empty") @NotEmpty(message="project name cannot be empty") String projectName, @NotBlank(message="project summary cannot be empty") @NotEmpty(message="project summary cannot be empty") String projectSummary, @NotBlank(message="project description cannot be empty") @NotEmpty(message="project description cannot be empty") String projectDescription, @NotBlank(message="project aim cannot be empty") @NotEmpty(message="project aim cannot be empty") String projectAim, @NotNull(message="project deadline cannot be empty") LocalDate applicationDeadline, @NotNull(message="expected completion date cannot be empty") LocalDate expectedCompletionDate, @NotNull(message="start date cannot be empty") LocalDate startDate, @jakarta.validation.constraints.NotNull,@jakarta.validation.constraints.Min(value=2L, message="max participant count cannot be less than 2"),@jakarta.validation.constraints.Max(value=20L, message="max participant count cannot be more than 100") int maxParticipantCount, String technicalRequirements, String specialRequirements, @NotNull(message="project access type cannot be empty") callofproject.dev.data.project.entity.enums.EProjectAccessType projectAccessType, @NotNull(message="project profession level cannot be empty") callofproject.dev.data.project.entity.enums.EProjectProfessionLevel professionLevel, @NotNull(message="project sector cannot be empty") callofproject.dev.data.project.entity.enums.ESector sector, @NotNull(message="project degree cannot be empty") callofproject.dev.data.project.entity.enums.EDegree degree, @NotNull(message="project level cannot be empty") callofproject.dev.data.project.entity.enums.EProjectLevel projectLevel, @NotNull(message="project interview type cannot be empty") callofproject.dev.data.project.entity.enums.EInterviewType interviewType, @NotNull(message="feedback time range cannot be empty") callofproject.dev.data.project.entity.enums.EFeedbackTimeRange feedbackTimeRange, List<String> tags)
    Creates an instance of a ProjectSaveDTO record class.
  • Method Summary

    Modifier and Type
    Method
    Description
    @NotNull(message="project deadline cannot be empty") LocalDate
    Returns the value of the applicationDeadline record component.
    @NotNull(message="project degree cannot be empty") callofproject.dev.data.project.entity.enums.EDegree
    Returns the value of the degree record component.
    final boolean
    Indicates whether some other object is "equal to" this one.
    @NotNull(message="expected completion date cannot be empty") LocalDate
    Returns the value of the expectedCompletionDate record component.
    @NotNull(message="feedback time range cannot be empty") callofproject.dev.data.project.entity.enums.EFeedbackTimeRange
    Returns the value of the feedbackTimeRange record component.
    final int
    Returns a hash code value for this object.
    @NotNull(message="project interview type cannot be empty") callofproject.dev.data.project.entity.enums.EInterviewType
    Returns the value of the interviewType record component.
    @jakarta.validation.constraints.NotNull,@jakarta.validation.constraints.Min(value=2L, message="max participant count cannot be less than 2"),@jakarta.validation.constraints.Max(value=20L, message="max participant count cannot be more than 100") int
    Returns the value of the maxParticipantCount record component.
    @NotNull(message="project profession level cannot be empty") callofproject.dev.data.project.entity.enums.EProjectProfessionLevel
    Returns the value of the professionLevel record component.
    @NotNull(message="project access type cannot be empty") callofproject.dev.data.project.entity.enums.EProjectAccessType
    Returns the value of the projectAccessType record component.
    @NotBlank(message="project aim cannot be empty") @NotEmpty(message="project aim cannot be empty") String
    Returns the value of the projectAim record component.
    @NotBlank(message="project description cannot be empty") @NotEmpty(message="project description cannot be empty") String
    Returns the value of the projectDescription record component.
    Returns the value of the projectImage record component.
    @NotNull(message="project level cannot be empty") callofproject.dev.data.project.entity.enums.EProjectLevel
    Returns the value of the projectLevel record component.
    @NotBlank(message="project name cannot be empty") @NotEmpty(message="project name cannot be empty") String
    Returns the value of the projectName record component.
    @NotBlank(message="project summary cannot be empty") @NotEmpty(message="project summary cannot be empty") String
    Returns the value of the projectSummary record component.
    @NotNull(message="project sector cannot be empty") callofproject.dev.data.project.entity.enums.ESector
    Returns the value of the sector record component.
    Returns the value of the specialRequirements record component.
    @NotNull(message="start date cannot be empty") LocalDate
    Returns the value of the startDate record component.
    Returns the value of the tags record component.
    Returns the value of the technicalRequirements record component.
    final String
    Returns a string representation of this record class.
    @NotNull(message="user id cannot be empty") UUID
    Returns the value of the userId record component.

    Methods inherited from class java.lang.Object

    clone, finalize, getClass, notify, notifyAll, wait, wait, wait
  • Constructor Details

    • ProjectSaveDTO

      public ProjectSaveDTO(@NotNull(message="user id cannot be empty") @NotNull(message="user id cannot be empty") UUID userId, String projectImage, @NotBlank(message="project name cannot be empty") @NotEmpty(message="project name cannot be empty") @NotBlank(message="project name cannot be empty") @NotEmpty(message="project name cannot be empty") String projectName, @NotBlank(message="project summary cannot be empty") @NotEmpty(message="project summary cannot be empty") @NotBlank(message="project summary cannot be empty") @NotEmpty(message="project summary cannot be empty") String projectSummary, @NotBlank(message="project description cannot be empty") @NotEmpty(message="project description cannot be empty") @NotBlank(message="project description cannot be empty") @NotEmpty(message="project description cannot be empty") String projectDescription, @NotBlank(message="project aim cannot be empty") @NotEmpty(message="project aim cannot be empty") @NotBlank(message="project aim cannot be empty") @NotEmpty(message="project aim cannot be empty") String projectAim, @NotNull(message="project deadline cannot be empty") @NotNull(message="project deadline cannot be empty") LocalDate applicationDeadline, @NotNull(message="expected completion date cannot be empty") @NotNull(message="expected completion date cannot be empty") LocalDate expectedCompletionDate, @NotNull(message="start date cannot be empty") @NotNull(message="start date cannot be empty") LocalDate startDate, @NotNull @Min(value=2L,message="max participant count cannot be less than 2") @Max(value=20L,message="max participant count cannot be more than 100") @jakarta.validation.constraints.NotNull,@jakarta.validation.constraints.Min(value=2L, message="max participant count cannot be less than 2"),@jakarta.validation.constraints.Max(value=20L, message="max participant count cannot be more than 100") int maxParticipantCount, String technicalRequirements, String specialRequirements, @NotNull(message="project access type cannot be empty") @NotNull(message="project access type cannot be empty") callofproject.dev.data.project.entity.enums.EProjectAccessType projectAccessType, @NotNull(message="project profession level cannot be empty") @NotNull(message="project profession level cannot be empty") callofproject.dev.data.project.entity.enums.EProjectProfessionLevel professionLevel, @NotNull(message="project sector cannot be empty") @NotNull(message="project sector cannot be empty") callofproject.dev.data.project.entity.enums.ESector sector, @NotNull(message="project degree cannot be empty") @NotNull(message="project degree cannot be empty") callofproject.dev.data.project.entity.enums.EDegree degree, @NotNull(message="project level cannot be empty") @NotNull(message="project level cannot be empty") callofproject.dev.data.project.entity.enums.EProjectLevel projectLevel, @NotNull(message="project interview type cannot be empty") @NotNull(message="project interview type cannot be empty") callofproject.dev.data.project.entity.enums.EInterviewType interviewType, @NotNull(message="feedback time range cannot be empty") @NotNull(message="feedback time range cannot be empty") callofproject.dev.data.project.entity.enums.EFeedbackTimeRange feedbackTimeRange, List<String> tags)
      Creates an instance of a ProjectSaveDTO record class.
      Parameters:
      userId - the value for the userId record component
      projectImage - the value for the projectImage record component
      projectName - the value for the projectName record component
      projectSummary - the value for the projectSummary record component
      projectDescription - the value for the projectDescription record component
      projectAim - the value for the projectAim record component
      applicationDeadline - the value for the applicationDeadline record component
      expectedCompletionDate - the value for the expectedCompletionDate record component
      startDate - the value for the startDate record component
      maxParticipantCount - the value for the maxParticipantCount record component
      technicalRequirements - the value for the technicalRequirements record component
      specialRequirements - the value for the specialRequirements record component
      projectAccessType - the value for the projectAccessType record component
      professionLevel - the value for the professionLevel record component
      sector - the value for the sector record component
      degree - the value for the degree record component
      projectLevel - the value for the projectLevel record component
      interviewType - the value for the interviewType record component
      feedbackTimeRange - the value for the feedbackTimeRange record component
      tags - the value for the tags record component
  • Method Details

    • toString

      public final String toString()
      Returns a string representation of this record class. The representation contains the name of the class, followed by the name and value of each of the record components.
      Specified by:
      toString in class Record
      Returns:
      a string representation of this object
    • hashCode

      public final int hashCode()
      Returns a hash code value for this object. The value is derived from the hash code of each of the record components.
      Specified by:
      hashCode in class Record
      Returns:
      a hash code value for this object
    • equals

      public final boolean equals(Object o)
      Indicates whether some other object is "equal to" this one. The objects are equal if the other object is of the same class and if all the record components are equal. Reference components are compared with Objects::equals(Object,Object); primitive components are compared with '=='.
      Specified by:
      equals in class Record
      Parameters:
      o - the object with which to compare
      Returns:
      true if this object is the same as the o argument; false otherwise.
    • userId

      @NotNull(message="user id cannot be empty") public @NotNull(message="user id cannot be empty") UUID userId()
      Returns the value of the userId record component.
      Returns:
      the value of the userId record component
    • projectImage

      public String projectImage()
      Returns the value of the projectImage record component.
      Returns:
      the value of the projectImage record component
    • projectName

      @NotBlank(message="project name cannot be empty") @NotEmpty(message="project name cannot be empty") public @NotBlank(message="project name cannot be empty") @NotEmpty(message="project name cannot be empty") String projectName()
      Returns the value of the projectName record component.
      Returns:
      the value of the projectName record component
    • projectSummary

      @NotBlank(message="project summary cannot be empty") @NotEmpty(message="project summary cannot be empty") public @NotBlank(message="project summary cannot be empty") @NotEmpty(message="project summary cannot be empty") String projectSummary()
      Returns the value of the projectSummary record component.
      Returns:
      the value of the projectSummary record component
    • projectDescription

      @NotBlank(message="project description cannot be empty") @NotEmpty(message="project description cannot be empty") public @NotBlank(message="project description cannot be empty") @NotEmpty(message="project description cannot be empty") String projectDescription()
      Returns the value of the projectDescription record component.
      Returns:
      the value of the projectDescription record component
    • projectAim

      @NotBlank(message="project aim cannot be empty") @NotEmpty(message="project aim cannot be empty") public @NotBlank(message="project aim cannot be empty") @NotEmpty(message="project aim cannot be empty") String projectAim()
      Returns the value of the projectAim record component.
      Returns:
      the value of the projectAim record component
    • applicationDeadline

      @NotNull(message="project deadline cannot be empty") public @NotNull(message="project deadline cannot be empty") LocalDate applicationDeadline()
      Returns the value of the applicationDeadline record component.
      Returns:
      the value of the applicationDeadline record component
    • expectedCompletionDate

      @NotNull(message="expected completion date cannot be empty") public @NotNull(message="expected completion date cannot be empty") LocalDate expectedCompletionDate()
      Returns the value of the expectedCompletionDate record component.
      Returns:
      the value of the expectedCompletionDate record component
    • startDate

      @NotNull(message="start date cannot be empty") public @NotNull(message="start date cannot be empty") LocalDate startDate()
      Returns the value of the startDate record component.
      Returns:
      the value of the startDate record component
    • maxParticipantCount

      @NotNull @Min(value=2L, message="max participant count cannot be less than 2") @Max(value=20L, message="max participant count cannot be more than 100") public @jakarta.validation.constraints.NotNull,@jakarta.validation.constraints.Min(value=2L, message="max participant count cannot be less than 2"),@jakarta.validation.constraints.Max(value=20L, message="max participant count cannot be more than 100") int maxParticipantCount()
      Returns the value of the maxParticipantCount record component.
      Returns:
      the value of the maxParticipantCount record component
    • technicalRequirements

      public String technicalRequirements()
      Returns the value of the technicalRequirements record component.
      Returns:
      the value of the technicalRequirements record component
    • specialRequirements

      public String specialRequirements()
      Returns the value of the specialRequirements record component.
      Returns:
      the value of the specialRequirements record component
    • projectAccessType

      @NotNull(message="project access type cannot be empty") public @NotNull(message="project access type cannot be empty") callofproject.dev.data.project.entity.enums.EProjectAccessType projectAccessType()
      Returns the value of the projectAccessType record component.
      Returns:
      the value of the projectAccessType record component
    • professionLevel

      @NotNull(message="project profession level cannot be empty") public @NotNull(message="project profession level cannot be empty") callofproject.dev.data.project.entity.enums.EProjectProfessionLevel professionLevel()
      Returns the value of the professionLevel record component.
      Returns:
      the value of the professionLevel record component
    • sector

      @NotNull(message="project sector cannot be empty") public @NotNull(message="project sector cannot be empty") callofproject.dev.data.project.entity.enums.ESector sector()
      Returns the value of the sector record component.
      Returns:
      the value of the sector record component
    • degree

      @NotNull(message="project degree cannot be empty") public @NotNull(message="project degree cannot be empty") callofproject.dev.data.project.entity.enums.EDegree degree()
      Returns the value of the degree record component.
      Returns:
      the value of the degree record component
    • projectLevel

      @NotNull(message="project level cannot be empty") public @NotNull(message="project level cannot be empty") callofproject.dev.data.project.entity.enums.EProjectLevel projectLevel()
      Returns the value of the projectLevel record component.
      Returns:
      the value of the projectLevel record component
    • interviewType

      @NotNull(message="project interview type cannot be empty") public @NotNull(message="project interview type cannot be empty") callofproject.dev.data.project.entity.enums.EInterviewType interviewType()
      Returns the value of the interviewType record component.
      Returns:
      the value of the interviewType record component
    • feedbackTimeRange

      @NotNull(message="feedback time range cannot be empty") public @NotNull(message="feedback time range cannot be empty") callofproject.dev.data.project.entity.enums.EFeedbackTimeRange feedbackTimeRange()
      Returns the value of the feedbackTimeRange record component.
      Returns:
      the value of the feedbackTimeRange record component
    • tags

      public List<String> tags()
      Returns the value of the tags record component.
      Returns:
      the value of the tags record component