Диплом: Автоматизация рекламной деятельности предприятия для ООО «Трейлер Авеню»

Внимание! Если размещение файла нарушает Ваши авторские права, то обязательно сообщите нам
91
}
/**
* Задает название документа
*
* @param title название документа
*/
public void setTitle(String title) {
this.title = title;
}
/**
* Возвращает описание документа
*
* @return описание документа
*/
public String getDescription() {
return description;
}
/**
* Задает описание документа
*
* @param description описание документа
*/
public void setDescription(String description) {
this.description = description;
}
/**
* Задает флаг контроля доступа
*
92
* @return Значение флага контроля доступа
*/
public Boolean getLocked() {
return locked;
}
/**
* Возвращает флаг контроля доступа
*
* @param locked Значение флага контроля доступа
*/
public void setLocked(Boolean locked) {
this.locked = locked;
}
/**
* Возвращает коллекцию правил доступа для данного документа
*
* @return Коллекция правил доступа (DocumentRule)
*/
@XmlTransient
public Collection<DocumentRule> getDocumentRuleCollection()
{ return documentRuleCollection;
}
/**
* Задает коллекцию правил доступа для данного документа
*
* @param documentRuleCollection Коллекция правил доступа (DocumentRule)
*/
public void setDocumentRuleCollection(Collection<DocumentRule>
documentRuleCollection) {
this.documentRuleCollection = documentRuleCollection;
93
}
/**
* Возвращает коллекцию дочерних документов
*
* @return Коллекция элементов (Document)
*/
@XmlTransient
public Collection<Document> getDocumentCollection()
{ return documentCollection;
}
/**
* Задает коллекцию дочерних документов
*
* @param documentCollection Коллекция элементов (Document)
*/
public void setDocumentCollection(Collection<Document> documentCollection)
{ this.documentCollection = documentCollection;
}
/**
* Возвращает родительский документ
*
* @return Родительский документ
*/
public Document getIdParentDocument() {
return idParentDocument;
}
/**
* Задает родительский документ
94
*
* @param idParentDocument Родительский документ
*/
public void setIdParentDocument(Document idParentDocument)
{ this.idParentDocument = idParentDocument;
}
/**
* Возвращает тип документа (файл или папка)
*
* @return Тип документа (файл или папка)
*/
public DocumentType getIdDocumentType() {
return idDocumentType;
}
/**
* Задает тип документа (файл или папка)
*
* @param idDocumentType Тип документа (файл или папка)
*/
public void setIdDocumentType(DocumentType idDocumentType)
{ this.idDocumentType = idDocumentType;
}
/**
* Возвращает создателя документа
*
* @return Создатель документа (User)
*/
public User getIdUser() {
return idUser;
95
}
/**
* Задает создателя документа
*
* @param idUser Создатель документа (User)
*/
public void setIdUser(User idUser) {
this.idUser = idUser;
}
/**
* Hash-код элемента
*
* @return Hash-значение
*/
@Override
public int hashCode() {
int hash = 0;
hash += (id != null ? id.hashCode() : 0);
return hash;
}
/**
* Метод сравнения двух объектов (проверка равенства)
*
* @param object Объект, который будет сравниваться с текущим
* @return Результат сравнения
*/
@Override
public boolean equals(Object object) {
// TODO: Warning - this method won't work in the case the id fields are not set
96
if (!(object instanceof Document)) {
return false;
}
Document other = (Document) object;
if ((this.id == null && other.id != null) || (this.id != null && !this.id.equals(other.id)))
{ return false;
}
return true;
}
/**
* Метод вычисления названия объекта
*
* @return Название
*/
@Override
public String toString() {
return title;
}
/**
* Метод проверки "Имеет ли пользователь разрешение на просмотр текущего
* документа"
*
* @param user Пользователь
* @return Результат проверки (да, нет)
*/
public Boolean testViewAccess(User user) {
if (user == null) {
return false;
}
97
if (locked == false) {
return true;
}
if (idUser.getId().equals(user.getId())) {
return true;
}
if (user.getIdUserType().getId().equals(1)) {
return true;
}
if (deleted == true) {
return false;
}
Collection<DocumentRule> rules =
documentRuleCollection; for (DocumentRule rule : rules) {
if ((rule.getIdUser() != null && rule.getIdUser().getId().equals(user.getId())
&& rule.getAccessView())
|| (rule.getIdUserType() != null &&
rule.getIdUserType().getId().equals(user.getIdUserType().getId()) && rule.getAccessView())
|| (rule.getIdDepartment() != null &&
rule.getIdDepartment().getId().equals(user.getIdDepartment().getId()) && rule.getAccessView())
|| (rule.getIdUserFunction() != null &&
rule.getIdUserFunction().getId().equals(user.getIdUserFunction().getId()) && rule.getAccessView()))
{
return true;
}
}
return false;
}
/**
* Метод проверки "Имеет ли пользователь разрешение на просмотр текущего
* документа" (возвращает исключение)
98
*
* @param user Пользователь
* @throws Exception Результат проверки
*/
public void controlViewAccess(User user) throws Exception {
if (testViewAccess(user) == false) {
throw new
Exception(ResourceBundle.getBundle("/resources/Bundle").getString("AccessDenied"));
}
}
/**
* Метод проверки "Имеет ли пользователь разрешение на удаление текущего
* документа"
*
* @param user Пользователь
* @return Результат проверки
*/
public Boolean testDeleteAccess(User user) {
if (user == null) {
return false;
}
if (locked == false) {
return true;
}
if (idUser.getId().equals(user.getId())) {
return true;
}
if (user.getIdUserType().getId().equals(1)) {
return true;
}
99
if (deleted == true) {
return false;
}
Collection<DocumentRule> rules = getDocumentRuleCollection();
for (DocumentRule rule : rules) {
if ((rule.getIdUser() != null && rule.getIdUser().getId().equals(user.getId())
&& rule.getAccessDelete())
|| (rule.getIdUserType() != null &&
rule.getIdUserType().getId().equals(user.getIdUserType().getId()) && rule.getAccessDelete())
|| (rule.getIdDepartment() != null &&
rule.getIdDepartment().getId().equals(user.getIdDepartment().getId()) && rule.getAccessDelete())
|| (rule.getIdUserFunction() != null &&
rule.getIdUserFunction().getId().equals(user.getIdUserFunction().getId()) &&
rule.getAccessDelete())) {
return true;
}
}
return false;
}
/**
* Метод проверки "Имеет ли пользователь разрешение на удаление текущего
* документа" (возвращает исключение)
*
* @param user Пользователь
* @throws Exception Результат проверки
*/
public void controlDeleteAccess(User user) throws Exception {
if (testDeleteAccess(user) == false) {
throw new
Exception(ResourceBundle.getBundle("/resources/Bundle").getString("AccessDenied"));
}
}
/**
100
* Метод проверки "Имеет ли пользователь разрешение на добавление документа"
*
* @param user Пользователь
* @return Результат проверки
*/
public Boolean testInsetAccess(User user) {
if (user == null) {
return false;
}
if (locked == false) {
return true;
}
if (idUser.getId().equals(user.getId())) {
return true;
}
if (user.getIdUserType().getId().equals(1)) {
return true;
}
if (deleted == true) {
return false;
}
Collection<DocumentRule> rules =
getDocumentRuleCollection(); for (DocumentRule rule : rules) {
if ((rule.getIdUser() != null && rule.getIdUser().getId().equals(user.getId())
&& rule.getAccessInsert())
|| (rule.getIdUserType() != null &&
rule.getIdUserType().getId().equals(user.getIdUserType().getId()) && rule.getAccessInsert())
|| (rule.getIdDepartment() != null &&
rule.getIdDepartment().getId().equals(user.getIdDepartment().getId()) && rule.getAccessInsert())
|| (rule.getIdUserFunction() != null &&
rule.getIdUserFunction().getId().equals(user.getIdUserFunction().getId()) && rule.getAccessInsert()))
{

Смотрите также:

"Автоматизация обработки заявок ООО "Проектно-Строительная Компания"
"Автоматизация процесса аттестации персонала для ООО "Нэт Бай Нэт Холдинг"
"Анализ интернет-активности конкурентов ( на примере конкурентов "Газпром нефть")
"Бухгалтерский учёт и аудит расчётов с подотчётними лицами в организации на примере ООО "ЛОЦ 10""
«Психологическое сопровождение персонала в организации на примере ООО «Крокус»
Cовершенствование деловой оценки персонала в организации (на примере ООО "Даймонд кейтеринг развитие")
IPO - инструмент финансирования деятельности организации. На примере ПАО «Нефтяная компания «Лукойл»
PR как средство продвижения организации (на примере ПАО "Тамбовский завод "Комсомолец им. Н.С. Артемова")
PR-коммуникации в сфере общественного питания (на примере кафе-кондитерской «Cream Cheese»)
SMM как средство повышения эффективности работы учреждений социокультурной сферы (на примере Малого театра)