Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- @Entity
- @Table(name = "core_project_project_call")
- public class ProjectCall extends Model {
- public static final int MAX_SIZE_SHORT = 255;
- public static final int MAX_SIZE_LONG = 65000;
- @Id
- @GeneratedValue(strategy = GenerationType.SEQUENCE)
- @Column(name = "id", nullable = false)
- private Long id;
- // The year in which the project call was issued
- @Column(name = "year")
- private Integer year;
- // The funding type of the project call
- @ManyToOne
- private CustomListElement fundingType;
- // The origin of the funding entities (International, National, Mixed)
- @ManyToOne
- private CustomListElement fundingOrigin;
- // The designation of the project call (visible in the system) (in Portuguese)
- @Column(name = "designation_pt", length = MAX_SIZE_SHORT)
- private String designationPt;
- // The designation of the project call (visible in the system) (in English)
- @Column(name = "designation_en", length = MAX_SIZE_SHORT)
- private String designationEn;
- // The title of the project call assigned by the funding entity (in Portuguese)
- @Column(name = "title_pt", length = MAX_SIZE_SHORT)
- private String titlePt;
- // The title of the project call assigned by the funding entity (in English)
- @Column(name = "title_en", length = MAX_SIZE_SHORT)
- private String titleEn;
- // The detailed description of the project call (in Portuguese)
- @Column(name = "description_pt", columnDefinition = "TEXT")
- private String descriptionPt;
- // The detailed description of the project call (in English)
- @Column(name = "description_en", columnDefinition = "TEXT")
- private String descriptionEn;
- // The scientific areas covered by the project call
- @ManyToMany
- @JoinTable(
- name = "core_project_project_call_scientific_area", // Name of the join table
- joinColumns = @JoinColumn(name = "project_call_id"), // Foreign key to the current entity
- inverseJoinColumns = @JoinColumn(name = "scientific_area_id") // Foreign key to the other entity
- )
- private List<CustomListElement> scientificAreas;
- // The total budget allocated for the project call
- @JsonProperty(value = "total_budget")
- private CurrencyAmount totalBudget;
- // The privacy level of the total budget
- @Column(name = "total_budget_privacy_level")
- private PrivacyLevelEnum totalBudgetPrivacyLevel;
- // The maximum number of funded proposals
- @Column(name = "number_of_funded_proposals")
- private Integer numberOfFundedProposals;
- // The maximum funding amount per project
- @JsonProperty(value = "funding_amount_per_project")
- private CurrencyAmount fundingAmountPerProject;
- // The privacy level of the funding amount
- @Column(name = "funding_amount_per_project_privacy_level")
- private PrivacyLevelEnum fundingAmountPerProjectPrivacyLevel;
- // The expected duration of the projects (in months)
- @Column(name = "duration_in_months")
- private Integer durationInMonths;
- // The start date of the project call
- @Column(name = "call_start_date")
- private Date callStartDate;
- // The end date of the project call
- @Column(name = "call_end_date")
- private Date callEndDate;
- // Whether the project call is currently public in the system
- @Column(name = "privacy_level")
- private PrivacyLevelEnum privacyLevel;
- @DbJsonB
- @Column(name = "extra_data")
- private ProjectCallExtraData extraData;
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement