-
Notifications
You must be signed in to change notification settings - Fork 3
/
Organization.java
120 lines (94 loc) · 2.96 KB
/
Organization.java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
/*
* JB4JSON-LD Jackson
* Copyright (C) 2024 Czech Technical University in Prague
*
* This library is free software; you can redistribute it and/or
* modify it under the terms of the GNU Lesser General Public
* License as published by the Free Software Foundation; either
* version 3.0 of the License, or (at your option) any later version.
*
* This library is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
* Lesser General Public License for more details.
*
* You should have received a copy of the GNU Lesser General Public
* License along with this library.
*/
package cz.cvut.kbss.jsonld.jackson.environment.model;
import com.fasterxml.jackson.annotation.JsonProperty;
import cz.cvut.kbss.jopa.model.annotations.*;
import cz.cvut.kbss.jopa.vocabulary.RDFS;
import cz.cvut.kbss.jsonld.jackson.environment.Vocabulary;
import java.net.URI;
import java.util.Date;
import java.util.HashSet;
import java.util.Objects;
import java.util.Set;
@OWLClass(iri = Vocabulary.ORGANIZATION)
public class Organization {
private static final String DEFAULT_COUNTRY = "Czech Republic";
@Id
private URI uri;
@OWLAnnotationProperty(iri = Vocabulary.DATE_CREATED)
private Date dateCreated;
@OWLAnnotationProperty(iri = RDFS.LABEL)
private String name;
@OWLDataProperty(iri = Vocabulary.BRAND)
private Set<String> brands;
private Long age;
@OWLObjectProperty(iri = Vocabulary.HAS_MEMBER)
private Set<Employee> employees;
@JsonProperty(access = JsonProperty.Access.READ_ONLY)
@OWLAnnotationProperty(iri = Vocabulary.EMPLOYEE_COUNT)
private Integer employeeCount;
public URI getUri() {
return uri;
}
public void setUri(URI uri) {
this.uri = uri;
}
public Date getDateCreated() {
return dateCreated;
}
public void setDateCreated(Date dateCreated) {
this.dateCreated = dateCreated;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public Set<String> getBrands() {
return brands;
}
public void setBrands(Set<String> brands) {
this.brands = brands;
}
public Long getAge() {
return age;
}
public void setAge(Long age) {
this.age = age;
}
public Set<Employee> getEmployees() {
return employees;
}
public void setEmployees(Set<Employee> employees) {
this.employees = employees;
}
public void addEmployee(Employee employee) {
Objects.requireNonNull(employee);
if (employees == null) {
this.employees = new HashSet<>();
}
employees.add(employee);
}
public Integer getEmployeeCount() {
return employeeCount;
}
public void setEmployeeCount(Integer employeeCount) {
this.employeeCount = employeeCount;
}
}