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

io.sphere.client.shop.model.Channel Maven / Gradle / Ivy

There is a newer version: 0.72.1
Show newest version
package io.sphere.client.shop.model;

import io.sphere.client.model.EmptyReference;
import io.sphere.client.model.Reference;
import io.sphere.client.model.VersionedId;
import org.codehaus.jackson.annotate.JsonProperty;

import javax.annotation.Nonnull;
import java.util.Set;

public class Channel {
    @Nonnull private String id;
    @JsonProperty("version") private int version;
    private String key;
    private Set roles;

    protected Channel() {}

    public String getKey() {
        return key;
    }

    @Nonnull
    public String getId() {
        return id;
    }

    public Set getRoles() {
        return roles;
    }

    @Nonnull public VersionedId getIdAndVersion() { return VersionedId.create(id, version); }

    public Reference getReference() {
        return reference(getId());
    }

    public static Reference reference(final String channelId) {
        return channelId != null ? Reference.create("channel", channelId) : emptyReference();
    }

    public static Reference emptyReference() {
        return EmptyReference.create("channel");
    }

    @Override
    public String toString() {
        return "Channel{" +
                "id='" + id + '\'' +
                ", version=" + version +
                ", key='" + key + '\'' +
                ", roles=" + roles +
                '}';
    }
}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy