/* This file is part of Cyclos (www.cyclos.org). A project of the Social Trade Organisation (www.socialtrade.org). Cyclos is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version. Cyclos 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 General Public License for more details. You should have received a copy of the GNU General Public License along with Cyclos; if not, write to the Free Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA */ package nl.strohalm.cyclos.entities.groups; import java.util.Collection; import nl.strohalm.cyclos.entities.Relationship; import nl.strohalm.cyclos.entities.accounts.SystemAccountType; import nl.strohalm.cyclos.entities.accounts.transactions.TransferType; import nl.strohalm.cyclos.entities.customization.fields.AdminCustomField; import nl.strohalm.cyclos.entities.members.records.MemberRecordType; /** * A group of administrators * @author luis */ public class AdminGroup extends SystemGroup { public static enum Relationships implements Relationship { TRANSFER_TYPES_AS_MEMBER("transferTypesAsMember"), MANAGES_GROUPS("managesGroups"), VIEW_INFORMATION_OF("viewInformationOf"), VIEW_CONNECTED_ADMINS_OF("viewConnectedAdminsOf"), CONNECTED_ADMINS_VIEWED_BY("connectedAdminsViewedBy"), ADMIN_CUSTOM_FIELDS("adminCustomFields"), VIEW_MEMBER_RECORD_TYPES("viewMemberRecordTypes"), CREATE_MEMBER_RECORD_TYPES("createMemberRecordTypes"), MODIFY_MEMBER_RECORD_TYPES("modifyMemberRecordTypes"), DELETE_MEMBER_RECORD_TYPES("deleteMemberRecordTypes"), VIEW_ADMIN_RECORD_TYPES("viewAdminRecordTypes"), CREATE_ADMIN_RECORD_TYPES("createAdminRecordTypes"), MODIFY_ADMIN_RECORD_TYPES("modifyAdminRecordTypes"), DELETE_ADMIN_RECORD_TYPES("deleteAdminRecordTypes"); private final String name; private Relationships(final String name) { this.name = name; } @Override public String getName() { return name; } } private static final long serialVersionUID = 327847242923171219L; private Collection<TransferType> transferTypesAsMember; private Collection<MemberGroup> managesGroups; private Collection<SystemAccountType> viewInformationOf; private Collection<AdminGroup> viewConnectedAdminsOf; private Collection<AdminGroup> connectedAdminsViewedBy; private Collection<AdminCustomField> adminCustomFields; private Collection<MemberRecordType> viewAdminRecordTypes; private Collection<MemberRecordType> createAdminRecordTypes; private Collection<MemberRecordType> modifyAdminRecordTypes; private Collection<MemberRecordType> deleteAdminRecordTypes; private Collection<MemberRecordType> viewMemberRecordTypes; private Collection<MemberRecordType> createMemberRecordTypes; private Collection<MemberRecordType> modifyMemberRecordTypes; private Collection<MemberRecordType> deleteMemberRecordTypes; public Collection<AdminCustomField> getAdminCustomFields() { return adminCustomFields; } public Collection<AdminGroup> getConnectedAdminsViewedBy() { return connectedAdminsViewedBy; } public Collection<MemberRecordType> getCreateAdminRecordTypes() { return createAdminRecordTypes; } public Collection<MemberRecordType> getCreateMemberRecordTypes() { return createMemberRecordTypes; } public Collection<MemberRecordType> getDeleteAdminRecordTypes() { return deleteAdminRecordTypes; } public Collection<MemberRecordType> getDeleteMemberRecordTypes() { return deleteMemberRecordTypes; } public Collection<MemberGroup> getManagesGroups() { return managesGroups; } public Collection<MemberRecordType> getModifyAdminRecordTypes() { return modifyAdminRecordTypes; } public Collection<MemberRecordType> getModifyMemberRecordTypes() { return modifyMemberRecordTypes; } @Override public Nature getNature() { return Nature.ADMIN; } public Collection<TransferType> getTransferTypesAsMember() { return transferTypesAsMember; } public Collection<MemberRecordType> getViewAdminRecordTypes() { return viewAdminRecordTypes; } public Collection<AdminGroup> getViewConnectedAdminsOf() { return viewConnectedAdminsOf; } public Collection<SystemAccountType> getViewInformationOf() { return viewInformationOf; } public Collection<MemberRecordType> getViewMemberRecordTypes() { return viewMemberRecordTypes; } public void setAdminCustomFields(final Collection<AdminCustomField> adminCustomFields) { this.adminCustomFields = adminCustomFields; } public void setConnectedAdminsViewedBy(final Collection<AdminGroup> connectedAdminsViewedBy) { this.connectedAdminsViewedBy = connectedAdminsViewedBy; } public void setCreateAdminRecordTypes(final Collection<MemberRecordType> createAdminRecordTypes) { this.createAdminRecordTypes = createAdminRecordTypes; } public void setCreateMemberRecordTypes(final Collection<MemberRecordType> createMemberRecordTypes) { this.createMemberRecordTypes = createMemberRecordTypes; } public void setDeleteAdminRecordTypes(final Collection<MemberRecordType> deleteAdminRecordTypes) { this.deleteAdminRecordTypes = deleteAdminRecordTypes; } public void setDeleteMemberRecordTypes(final Collection<MemberRecordType> deleteMemberRecordTypes) { this.deleteMemberRecordTypes = deleteMemberRecordTypes; } public void setManagesGroups(final Collection<MemberGroup> managesGroups) { this.managesGroups = managesGroups; } public void setModifyAdminRecordTypes(final Collection<MemberRecordType> modifyAdminRecordTypes) { this.modifyAdminRecordTypes = modifyAdminRecordTypes; } public void setModifyMemberRecordTypes(final Collection<MemberRecordType> modifyMemberRecordTypes) { this.modifyMemberRecordTypes = modifyMemberRecordTypes; } public void setTransferTypesAsMember(final Collection<TransferType> transferTypesAsMember) { this.transferTypesAsMember = transferTypesAsMember; } public void setViewAdminRecordTypes(final Collection<MemberRecordType> viewAdminRecordTypes) { this.viewAdminRecordTypes = viewAdminRecordTypes; } public void setViewConnectedAdminsOf(final Collection<AdminGroup> viewConnectedAdminsOf) { this.viewConnectedAdminsOf = viewConnectedAdminsOf; } public void setViewInformationOf(final Collection<SystemAccountType> viewInformationOf) { this.viewInformationOf = viewInformationOf; } public void setViewMemberRecordTypes(final Collection<MemberRecordType> viewMemberRecordTypes) { this.viewMemberRecordTypes = viewMemberRecordTypes; } }