org.ownchan.server.persistence.model.DbCloudLabel.java Source code

Java tutorial

Introduction

Here is the source code for org.ownchan.server.persistence.model.DbCloudLabel.java

Source

/*******************************************************************************
 * @author Stefan Gndhr <stefan@guendhoer.com>
 *
 * @copyright Copyright (c) 2017, Stefan Gndhr <stefan@guendhoer.com>
 * @license AGPL-3.0
 *
 * This code is free software: you can redistribute it and/or modify
 * it under the terms of the GNU Affero General Public License, version 3,
 * as published by the Free Software Foundation.
 *
 * This program 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 Affero General Public License for more details.
 *
 * You should have received a copy of the GNU Affero General Public License, version 3,
 * along with this program.  If not, see <http://www.gnu.org/licenses/>
 *******************************************************************************/
package org.ownchan.server.persistence.model;

import java.util.Date;

import org.apache.commons.lang3.StringUtils;
import org.ownchan.server.joint.persistence.template.CloudLabelTemplate;
import org.ownchan.server.joint.persistence.template.link.CloudLabelLinkTemplate;
import org.ownchan.server.joint.persistence.valuetype.CloudLabelProvider;
import org.ownchan.server.joint.persistence.valuetype.CloudLabelStatus;
import org.ownchan.server.persistence.dao.CloudLabelDao;
import org.ownchan.server.persistence.util.StaticContextAccessor;

public class DbCloudLabel
        extends PersistableObject<DbCloudLabel, CloudLabelTemplate, CloudLabelLinkTemplate, CloudLabelDao>
        implements DbStatusAwareContent<CloudLabelStatus>, CloudLabelTemplate, CloudLabelLinkTemplate {

    private static CloudLabelDao dao;

    private long id;

    private String text;

    private CloudLabelStatus status;

    private String statusReason;

    private String initialText;

    private CloudLabelProvider cloudProvider;

    private String cloudProviderLabelId;

    private Date createTime;

    private Date updateTime;

    private Long updateUserId;

    public DbCloudLabel() {
        super();
    }

    public DbCloudLabel(CloudLabelTemplate template) {
        super(template, CloudLabelTemplate.class);
    }

    @Override
    public long getId() {
        return id;
    }

    @Override
    protected void setId(long id) {
        this.id = id;
    }

    @Override
    public String getText() {
        return text;
    }

    public void setText(String text) {
        this.text = text;
    }

    @Override
    public CloudLabelStatus getStatus() {
        return status;
    }

    /**
     * @deprecated Preferably, set both status and reason at once by using {@link #setStatus(CloudLabelStatus, String)}.
     */
    @Deprecated
    @Override
    public void setStatus(CloudLabelStatus status) {
        this.status = status;
    }

    @Override
    public String getStatusReason() {
        return statusReason;
    }

    /**
     * @deprecated Preferably, set both status and reason at once by using {@link #setStatus(CloudLabelStatus, String)}.
     */
    @Deprecated
    @Override
    public void setStatusReason(String statusReason) {
        this.statusReason = statusReason;
    }

    @Override
    public void setStatus(CloudLabelStatus status, String statusReason) {
        this.status = status;
        this.statusReason = StringUtils.abbreviate(statusReason, MAX_LENGTH_STATUS_REASON);
    }

    @Override
    public String getInitialText() {
        return initialText;
    }

    public void setInitialText(String initialText) {
        this.initialText = initialText;
    }

    @Override
    public CloudLabelProvider getCloudProvider() {
        return cloudProvider;
    }

    public void setCloudProvider(CloudLabelProvider cloudProvider) {
        this.cloudProvider = cloudProvider;
    }

    @Override
    public String getCloudProviderLabelId() {
        return cloudProviderLabelId;
    }

    public void setCloudProviderLabelId(String cloudProviderLabelId) {
        this.cloudProviderLabelId = cloudProviderLabelId;
    }

    @Override
    public Date getCreateTime() {
        return createTime;
    }

    public void setCreateTime(Date createTime) {
        this.createTime = createTime;
    }

    @Override
    public Date getUpdateTime() {
        return updateTime;
    }

    public void setUpdateTime(Date updateTime) {
        this.updateTime = updateTime;
    }

    @Override
    public Long getUpdateUserId() {
        return updateUserId;
    }

    public void setUpdateUserId(Long updateUserId) {
        this.updateUserId = updateUserId;
    }

    @Override
    protected CloudLabelDao getDao() {
        if (dao == null) {
            dao = StaticContextAccessor.getBean(CloudLabelDao.class);
        }

        return dao;
    }

}