All Downloads are FREE. Search and download functionalities are using the official Maven repository.

org.openfact.models.jpa.entities.OrganizationEntity Maven / Gradle / Ivy

There is a newer version: 1.1.3.Final
Show newest version
package org.openfact.models.jpa.entities;

import org.hibernate.annotations.NaturalId;
import org.hibernate.annotations.Type;

import javax.persistence.*;
import java.time.LocalDateTime;
import java.util.*;

@Entity
@Table(name = "ORGANIZATION")
@NamedQueries({
        @NamedQuery(name = "getAllOrganizations", query = "select organization from OrganizationEntity organization"),
        @NamedQuery(name = "getAllOrganizationIds", query = "select organization.id from OrganizationEntity organization"),
        @NamedQuery(name = "getOrganizationByName", query = "select organization from OrganizationEntity organization where organization.name = :name"),
        @NamedQuery(name = "getOrganizationIdByName", query = "select organization.id from OrganizationEntity organization where organization.name = :name"),
        @NamedQuery(name = "getOrganizationsCount", query = "select count(organization.id) from OrganizationEntity organization"),
        @NamedQuery(name = "searchForOrganization", query = "select organization from OrganizationEntity organization where lower(organization.name) like :filterText or lower(organization.supplierName) like :filterText or lower(organization.registrationName) like :filterText")
})
public class OrganizationEntity {

    @Id
    @Column(name = "ID", length = 36)
    @Access(AccessType.PROPERTY)
    private String id;

    @NaturalId(mutable = true)
    @Column(name = "NAME", unique = true)
    private String name;

    @Column(name = "DESCRIPTION")
    private String description;

    @Column(name = "ENABLED")
    @Type(type = "org.hibernate.type.NumericBooleanType")
    private boolean enabled;

    @Column(name = "ASSIGNED_IDENTIFICATION_ID")
    private String assignedIdentificationId;

    @Column(name = "ADDITIONAL_ACCOUNT_ID")
    private String additionalAccountId;

    @Column(name = "SUPPLIER_NAME")
    private String supplierName;

    @Column(name = "REGISTRATION_NAME")
    private String registrationName;

    @Column(name = "POSTAL_ADRESS_ID")
    private String postalAddressId;

    @Column(name = "STREET_NAME")
    private String streetName;

    @Column(name = "CITY_SUBDIVISION_NAME")
    private String citySubdivisionName;

    @Column(name = "CITY_NAME")
    private String cityName;

    @Column(name = "COUNTRY_SUBENTITY")
    private String countrySubentity;

    @Column(name = "DISTRICT")
    private String district;

    @Column(name = "COUNTRY_IDENTIFICATION_CODE")
    private String countryIdentificationCode;

    @Column(name = "EVENTS_ENABLED")
    @Type(type = "org.hibernate.type.NumericBooleanType")
    private boolean eventsEnabled;

    @Column(name = "EVENTS_EXPIRATION")
    private long eventsExpiration;

    @ElementCollection
    @Column(name = "VALUE")
    @CollectionTable(name = "ORGANIZATION_EVENTS_LISTENERS", joinColumns = {@JoinColumn(name = "ORGANIZATION_ID")})
    private Set eventsListeners = new HashSet<>();

    @ElementCollection
    @Column(name = "VALUE")
    @CollectionTable(name = "ORGANIZATION_ENABLED_EVENT_TYPES", joinColumns = {@JoinColumn(name = "ORGANIZATION_ID")})
    private Set enabledEventTypes = new HashSet<>();

    @Column(name = "ADMIN_EVENTS_ENABLED")
    @Type(type = "org.hibernate.type.NumericBooleanType")
    private boolean adminEventsEnabled;

    @Column(name = "ADMIN_EVENTS_DETAILS_ENABLED")
    @Type(type = "org.hibernate.type.NumericBooleanType")
    private boolean adminEventsDetailsEnabled;

    @Column(name = "EMAIL_THEME")
    private String emailTheme;

    @Column(name = "REPORT_THEME")
    private String reportTheme;

    @Column(name = "INTERNATIONALIZATION_ENABLED")
    @Type(type = "org.hibernate.type.NumericBooleanType")
    private boolean internationalizationEnabled;

    @ElementCollection
    @Column(name = "VALUE")
    @CollectionTable(name = "ORGANIZATION_SUPPORTED_LOCALES", joinColumns = {@JoinColumn(name = "ORGANIZATION_ID")})
    private Set supportedLocales = new HashSet<>();

    @Column(name = "DEFAULT_LOCALE")
    private String defaultLocale;

    @Temporal(TemporalType.TIMESTAMP)
    @Column(name = "TASK_FIRST_TIME")
    private Date taskFirstTime;

    @Column(name = "TASK_DELAY")
    private long taskDelay;

    @Column(name = "TASK_ENABLED")
    private boolean tasksEnabled;

    @Column(name = "LOGO_FILE_ID")
    private String logoFileId;

    @ElementCollection
    @MapKeyColumn(name = "NAME")
    @Column(name = "VALUE")
    @CollectionTable(name = "ORGANIZATION_SMTP_CONFIG", joinColumns = {@JoinColumn(name = "ORGANIZATION_ID")})
    private Map smtpConfig = new HashMap<>();

    @OneToMany(cascade = {CascadeType.REMOVE}, orphanRemoval = true, mappedBy = "organization")
    private Collection attributes = new ArrayList<>();

    @ElementCollection
    @Column(name = "VALUE")
    @CollectionTable(name = "ORGANIZATION_SUPPORTED_CURRENCIES", joinColumns = {@JoinColumn(name = "ORGANIZATION_ID")})
    private Set supportedCurrencies = new HashSet<>();

    @Column(name = "DEFAULT_CURRENCY")
    private String defaultCurrency;

    @Type(type = "org.hibernate.type.LocalDateTimeType")
    @Column(name = "CREATED_TIMESTAMP")
    private LocalDateTime createdTimestamp;

    public String getId() {
        return id;
    }

    public void setId(String id) {
        this.id = id;
    }

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public String getDescription() {
        return description;
    }

    public void setDescription(String description) {
        this.description = description;
    }

    public boolean isEnabled() {
        return enabled;
    }

    public void setEnabled(boolean enabled) {
        this.enabled = enabled;
    }

    public String getAssignedIdentificationId() {
        return assignedIdentificationId;
    }

    public void setAssignedIdentificationId(String assignedIdentificationId) {
        this.assignedIdentificationId = assignedIdentificationId;
    }

    public String getAdditionalAccountId() {
        return additionalAccountId;
    }

    public void setAdditionalAccountId(String additionalAccountId) {
        this.additionalAccountId = additionalAccountId;
    }

    public String getSupplierName() {
        return supplierName;
    }

    public void setSupplierName(String supplierName) {
        this.supplierName = supplierName;
    }

    public String getRegistrationName() {
        return registrationName;
    }

    public void setRegistrationName(String registrationName) {
        this.registrationName = registrationName;
    }

    public LocalDateTime getCreatedTimestamp() {
        return createdTimestamp;
    }

    public void setCreatedTimestamp(LocalDateTime createdTimestamp) {
        this.createdTimestamp = createdTimestamp;
    }

    /**
     * Postal address
     */
    public String getPostalAddressId() {
        return postalAddressId;
    }

    public void setPostalAddressId(String postalAddressId) {
        this.postalAddressId = postalAddressId;
    }

    public String getStreetName() {
        return streetName;
    }

    public void setStreetName(String streetName) {
        this.streetName = streetName;
    }

    public String getCitySubdivisionName() {
        return citySubdivisionName;
    }

    public void setCitySubdivisionName(String citySubdivisionName) {
        this.citySubdivisionName = citySubdivisionName;
    }

    public String getCityName() {
        return cityName;
    }

    public void setCityName(String cityName) {
        this.cityName = cityName;
    }

    public String getCountrySubentity() {
        return countrySubentity;
    }

    public void setCountrySubentity(String countrySubentity) {
        this.countrySubentity = countrySubentity;
    }

    public String getDistrict() {
        return district;
    }

    public void setDistrict(String district) {
        this.district = district;
    }

    public String getCountryIdentificationCode() {
        return countryIdentificationCode;
    }

    public void setCountryIdentificationCode(String countryIdentificationCode) {
        this.countryIdentificationCode = countryIdentificationCode;
    }

    /**
     * Events
     */
    public boolean isEventsEnabled() {
        return eventsEnabled;
    }

    public void setEventsEnabled(boolean eventsEnabled) {
        this.eventsEnabled = eventsEnabled;
    }

    public long getEventsExpiration() {
        return eventsExpiration;
    }

    public void setEventsExpiration(long eventsExpiration) {
        this.eventsExpiration = eventsExpiration;
    }

    public Set getEventsListeners() {
        return eventsListeners;
    }

    public void setEventsListeners(Set eventsListeners) {
        this.eventsListeners = eventsListeners;
    }

    public Set getEnabledEventTypes() {
        return enabledEventTypes;
    }

    public void setEnabledEventTypes(Set enabledEventTypes) {
        this.enabledEventTypes = enabledEventTypes;
    }

    public boolean isAdminEventsEnabled() {
        return adminEventsEnabled;
    }

    public void setAdminEventsEnabled(boolean adminEventsEnabled) {
        this.adminEventsEnabled = adminEventsEnabled;
    }

    public boolean isAdminEventsDetailsEnabled() {
        return adminEventsDetailsEnabled;
    }

    public void setAdminEventsDetailsEnabled(boolean adminEventsDetailsEnabled) {
        this.adminEventsDetailsEnabled = adminEventsDetailsEnabled;
    }

    /**
     * Themes
     */
    public String getEmailTheme() {
        return emailTheme;
    }

    public void setEmailTheme(String emailTheme) {
        this.emailTheme = emailTheme;
    }

    public String getReportTheme() {
        return reportTheme;
    }

    public void setReportTheme(String reportTheme) {
        this.reportTheme = reportTheme;
    }

    /**
     * Locale
     */
    public boolean isInternationalizationEnabled() {
        return internationalizationEnabled;
    }

    public void setInternationalizationEnabled(boolean internationalizationEnabled) {
        this.internationalizationEnabled = internationalizationEnabled;
    }

    public Set getSupportedLocales() {
        return supportedLocales;
    }

    public void setSupportedLocales(Set supportedLocales) {
        this.supportedLocales = supportedLocales;
    }

    public String getDefaultLocale() {
        return defaultLocale;
    }

    public void setDefaultLocale(String defaultLocale) {
        this.defaultLocale = defaultLocale;
    }

    /**
     * Tasks
     */
    public Date getTaskFirstTime() {
        return taskFirstTime;
    }

    public void setTaskFirstTime(Date taskFirstTime) {
        this.taskFirstTime = taskFirstTime;
    }

    public long getTaskDelay() {
        return taskDelay;
    }

    public void setTaskDelay(long taskDelay) {
        this.taskDelay = taskDelay;
    }

    public boolean isTasksEnabled() {
        return tasksEnabled;
    }

    public void setTasksEnabled(boolean tasksEnabled) {
        this.tasksEnabled = tasksEnabled;
    }

    /**
     * Smtp
     */
    public Map getSmtpConfig() {
        return smtpConfig;
    }

    public void setSmtpConfig(Map smtpConfig) {
        this.smtpConfig = smtpConfig;
    }

    /**
     * Atributes
     */
    public Collection getAttributes() {
        return attributes;
    }

    public void setAttributes(Collection attributes) {
        this.attributes = attributes;
    }

    /**
     * Currencies
     */
    public Set getSupportedCurrencies() {
        return supportedCurrencies;
    }

    public void setSupportedCurrencies(Set supportedCurrencies) {
        this.supportedCurrencies = supportedCurrencies;
    }

    public String getDefaultCurrency() {
        return defaultCurrency;
    }

    public void setDefaultCurrency(String defaultCurrency) {
        this.defaultCurrency = defaultCurrency;
    }

    @Override
    public int hashCode() {
        final int prime = 31;
        int result = 1;
        result = prime * result + ((getId() == null) ? 0 : getId().hashCode());
        return result;
    }

    @Override
    public boolean equals(Object obj) {
        if (this == obj)
            return true;
        if (obj == null)
            return false;
        if (getClass() != obj.getClass())
            return false;
        OrganizationEntity other = (OrganizationEntity) obj;
        if (getId() == null) {
            if (other.getId() != null)
                return false;
        } else if (!getId().equals(other.getId()))
            return false;
        return true;
    }

    public String getLogoFileId() {
        return logoFileId;
    }

    public void setLogoFileId(String logoFileId) {
        this.logoFileId = logoFileId;
    }
}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy