com.evrythng.thng.resource.model.store.Project.java Source code

Java tutorial

Introduction

Here is the source code for com.evrythng.thng.resource.model.store.Project.java

Source

/*
 * (c) Copyright Reserved EVRYTHNG Limited 2016. All rights reserved.
 * Use of this material is subject to license.
 * Copying and unauthorised use of this material strictly prohibited.
 */
package com.evrythng.thng.resource.model.store;

import com.evrythng.thng.resource.model.core.DurableResourceModel;
import com.evrythng.thng.resource.model.core.Identifiable;
import org.apache.commons.collections.list.SetUniqueList;

import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;

/**
 * Model representation for <em>projects</em>.
 */
public class Project extends DurableResourceModel implements Identifiable {

    private static final long serialVersionUID = -2362864476419100132L;
    private String name;
    private String description;
    private String imageUrl;
    private Long startsAt;
    private Long endsAt;
    private List<String> shortDomains;
    private Map<String, String> identifiers;

    /**
     * @return the name
     */
    public String getName() {

        return name;
    }

    /**
     * @param name the name to set
     */
    public void setName(final String name) {

        this.name = name;
    }

    /**
     * @return the description
     */
    public String getDescription() {

        return description;
    }

    /**
     * @param description the description to set
     */
    public void setDescription(final String description) {

        this.description = description;
    }

    /**
     * @return the url of the image
     */
    public String getImageUrl() {

        return imageUrl;
    }

    /**
     * @param imageUrl the url of the image to set
     */
    public void setImageUrl(final String imageUrl) {

        this.imageUrl = imageUrl;
    }

    /**
     * @return the startsAt
     */
    public Long getStartsAt() {

        return startsAt;
    }

    /**
     * @param startsAt the startsAt to set
     */
    public void setStartsAt(final Long startsAt) {

        this.startsAt = startsAt;
    }

    /**
     * @return the endsAt
     */
    public Long getEndsAt() {

        return endsAt;
    }

    /**
     * @param endsAt the endsAt to set
     */
    public void setEndsAt(final Long endsAt) {

        this.endsAt = endsAt;
    }

    public List<String> getShortDomains() {

        return shortDomains;
    }

    public void setShortDomains(final List<String> shortDomains) {

        this.shortDomains = shortDomains != null ? SetUniqueList.decorate(new ArrayList(shortDomains)) : null;
    }

    @Override
    public Map<String, String> getIdentifiers() {

        return identifiers;
    }

    @Override
    public String firstIdentifier() {

        return identifiers.values().iterator().next();
    }

    @Override
    public void setIdentifiers(final Map<String, String> identifiers) {

        this.identifiers = identifiers;
    }

    @Override
    public void addIdentifier(final String type, final String value) {

        if (identifiers == null) {
            identifiers = new HashMap<>();
        }
        identifiers.put(type, value);
    }

    @Override
    public String toString() {

        StringBuilder sb = new StringBuilder("Project{");
        sb.append("name='").append(name).append('\'');
        sb.append(", identifiers=").append(identifiers);
        sb.append(", description='").append(description).append('\'');
        sb.append(", imageUrl='").append(imageUrl).append('\'');
        sb.append(", startsAt=").append(startsAt);
        sb.append(", endsAt=").append(endsAt);
        sb.append('}');
        return sb.toString();
    }
}