Package callofproject.dev.project.dto
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
ConstructorsConstructorDescriptionProjectSaveDTO(@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 aProjectSaveDTOrecord class. -
Method Summary
Modifier and TypeMethodDescription@NotNull(message="project deadline cannot be empty") LocalDateReturns the value of theapplicationDeadlinerecord component.@NotNull(message="project degree cannot be empty") callofproject.dev.data.project.entity.enums.EDegreedegree()Returns the value of thedegreerecord component.final booleanIndicates whether some other object is "equal to" this one.@NotNull(message="expected completion date cannot be empty") LocalDateReturns the value of theexpectedCompletionDaterecord component.@NotNull(message="feedback time range cannot be empty") callofproject.dev.data.project.entity.enums.EFeedbackTimeRangeReturns the value of thefeedbackTimeRangerecord component.final inthashCode()Returns a hash code value for this object.@NotNull(message="project interview type cannot be empty") callofproject.dev.data.project.entity.enums.EInterviewTypeReturns the value of theinterviewTyperecord 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") intReturns the value of themaxParticipantCountrecord component.@NotNull(message="project profession level cannot be empty") callofproject.dev.data.project.entity.enums.EProjectProfessionLevelReturns the value of theprofessionLevelrecord component.@NotNull(message="project access type cannot be empty") callofproject.dev.data.project.entity.enums.EProjectAccessTypeReturns the value of theprojectAccessTyperecord component.@NotBlank(message="project aim cannot be empty") @NotEmpty(message="project aim cannot be empty") StringReturns the value of theprojectAimrecord component.@NotBlank(message="project description cannot be empty") @NotEmpty(message="project description cannot be empty") StringReturns the value of theprojectDescriptionrecord component.Returns the value of theprojectImagerecord component.@NotNull(message="project level cannot be empty") callofproject.dev.data.project.entity.enums.EProjectLevelReturns the value of theprojectLevelrecord component.@NotBlank(message="project name cannot be empty") @NotEmpty(message="project name cannot be empty") StringReturns the value of theprojectNamerecord component.@NotBlank(message="project summary cannot be empty") @NotEmpty(message="project summary cannot be empty") StringReturns the value of theprojectSummaryrecord component.@NotNull(message="project sector cannot be empty") callofproject.dev.data.project.entity.enums.ESectorsector()Returns the value of thesectorrecord component.Returns the value of thespecialRequirementsrecord component.@NotNull(message="start date cannot be empty") LocalDateReturns the value of thestartDaterecord component.tags()Returns the value of thetagsrecord component.Returns the value of thetechnicalRequirementsrecord component.final StringtoString()Returns a string representation of this record class.@NotNull(message="user id cannot be empty") UUIDuserId()Returns the value of theuserIdrecord component.
-
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 aProjectSaveDTOrecord class.- Parameters:
userId- the value for theuserIdrecord componentprojectImage- the value for theprojectImagerecord componentprojectName- the value for theprojectNamerecord componentprojectSummary- the value for theprojectSummaryrecord componentprojectDescription- the value for theprojectDescriptionrecord componentprojectAim- the value for theprojectAimrecord componentapplicationDeadline- the value for theapplicationDeadlinerecord componentexpectedCompletionDate- the value for theexpectedCompletionDaterecord componentstartDate- the value for thestartDaterecord componentmaxParticipantCount- the value for themaxParticipantCountrecord componenttechnicalRequirements- the value for thetechnicalRequirementsrecord componentspecialRequirements- the value for thespecialRequirementsrecord componentprojectAccessType- the value for theprojectAccessTyperecord componentprofessionLevel- the value for theprofessionLevelrecord componentsector- the value for thesectorrecord componentdegree- the value for thedegreerecord componentprojectLevel- the value for theprojectLevelrecord componentinterviewType- the value for theinterviewTyperecord componentfeedbackTimeRange- the value for thefeedbackTimeRangerecord componenttags- the value for thetagsrecord component
-
-
Method Details
-
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. -
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. -
equals
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 withObjects::equals(Object,Object); primitive components are compared with '=='. -
userId
@NotNull(message="user id cannot be empty") public @NotNull(message="user id cannot be empty") UUID userId()Returns the value of theuserIdrecord component.- Returns:
- the value of the
userIdrecord component
-
projectImage
Returns the value of theprojectImagerecord component.- Returns:
- the value of the
projectImagerecord 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 theprojectNamerecord component.- Returns:
- the value of the
projectNamerecord 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 theprojectSummaryrecord component.- Returns:
- the value of the
projectSummaryrecord 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 theprojectDescriptionrecord component.- Returns:
- the value of the
projectDescriptionrecord 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 theprojectAimrecord component.- Returns:
- the value of the
projectAimrecord component
-
applicationDeadline
@NotNull(message="project deadline cannot be empty") public @NotNull(message="project deadline cannot be empty") LocalDate applicationDeadline()Returns the value of theapplicationDeadlinerecord component.- Returns:
- the value of the
applicationDeadlinerecord 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 theexpectedCompletionDaterecord component.- Returns:
- the value of the
expectedCompletionDaterecord component
-
startDate
@NotNull(message="start date cannot be empty") public @NotNull(message="start date cannot be empty") LocalDate startDate()Returns the value of thestartDaterecord component.- Returns:
- the value of the
startDaterecord 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 themaxParticipantCountrecord component.- Returns:
- the value of the
maxParticipantCountrecord component
-
technicalRequirements
Returns the value of thetechnicalRequirementsrecord component.- Returns:
- the value of the
technicalRequirementsrecord component
-
specialRequirements
Returns the value of thespecialRequirementsrecord component.- Returns:
- the value of the
specialRequirementsrecord 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 theprojectAccessTyperecord component.- Returns:
- the value of the
projectAccessTyperecord 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 theprofessionLevelrecord component.- Returns:
- the value of the
professionLevelrecord 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 thesectorrecord component.- Returns:
- the value of the
sectorrecord 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 thedegreerecord component.- Returns:
- the value of the
degreerecord 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 theprojectLevelrecord component.- Returns:
- the value of the
projectLevelrecord 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 theinterviewTyperecord component.- Returns:
- the value of the
interviewTyperecord 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 thefeedbackTimeRangerecord component.- Returns:
- the value of the
feedbackTimeRangerecord component
-
tags
Returns the value of thetagsrecord component.- Returns:
- the value of the
tagsrecord component
-