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

com.hubspot.slack.client.models.SlackChannelIF Maven / Gradle / Ivy

package com.hubspot.slack.client.models;

import com.fasterxml.jackson.annotation.JsonIgnore;
import com.fasterxml.jackson.databind.PropertyNamingStrategies.SnakeCaseStrategy;
import com.fasterxml.jackson.databind.annotation.JsonNaming;
import com.hubspot.immutables.style.HubSpotStyle;
import java.util.Optional;
import org.immutables.value.Value.Derived;
import org.immutables.value.Value.Immutable;

@Immutable
@HubSpotStyle
@JsonNaming(SnakeCaseStrategy.class)
public interface SlackChannelIF {
  String getId();

  String getName();

  Optional getIsArchived();

  Optional getIsGeneral();

  Optional getIsPrivate();

  Optional getIsMember();

  Optional getIsShared();

  @Derived
  @JsonIgnore
  default ChannelType getChannelType() {
    return ChannelType.fromSlackName(String.valueOf(getId().charAt(0)));
  }
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy