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

org.whispersystems.signalservice.api.messages.SignalServiceAttachmentPointer Maven / Gradle / Ivy

The newest version!
/*
 * Copyright (C) 2014-2017 Open Whisper Systems
 *
 * Licensed according to the LICENSE file in this repository.
 */

package org.whispersystems.signalservice.api.messages;

import org.whispersystems.libsignal.util.guava.Optional;
import org.whispersystems.signalservice.api.SignalServiceMessageReceiver;

/**
 * Represents a received SignalServiceAttachment "handle."  This
 * is a pointer to the actual attachment content, which needs to be
 * retrieved using {@link SignalServiceMessageReceiver#retrieveAttachment(SignalServiceAttachmentPointer, java.io.File, int)}
 *
 * @author Moxie Marlinspike
 */
public class SignalServiceAttachmentPointer extends SignalServiceAttachment {

  private final long              id;
  private final byte[]            key;
  private final Optional size;
  private final Optional  preview;
  private final Optional  digest;
  private final Optional  fileName;
  private final boolean           voiceNote;
  private final int               width;
  private final int               height;
  private final Optional  caption;
  private final Optional  blurHash;

  public SignalServiceAttachmentPointer(long id, String contentType, byte[] key,
                                        Optional size, Optional preview,
                                        int width, int height,
                                        Optional digest, Optional fileName,
                                        boolean voiceNote, Optional caption,
                                        Optional blurHash)
  {
    super(contentType);
    this.id        = id;
    this.key       = key;
    this.size      = size;
    this.preview   = preview;
    this.width     = width;
    this.height    = height;
    this.digest    = digest;
    this.fileName  = fileName;
    this.voiceNote = voiceNote;
    this.caption   = caption;
    this.blurHash  = blurHash;
  }

  public long getId() {
    return id;
  }

  public byte[] getKey() {
    return key;
  }

  @Override
  public boolean isStream() {
    return false;
  }

  @Override
  public boolean isPointer() {
    return true;
  }

  public Optional getSize() {
    return size;
  }

  public Optional getFileName() {
    return fileName;
  }

  public Optional getPreview() {
    return preview;
  }

  public Optional getDigest() {
    return digest;
  }

  public boolean getVoiceNote() {
    return voiceNote;
  }

  public int getWidth() {
    return width;
  }

  public int getHeight() {
    return height;
  }

  public Optional getCaption() {
    return caption;
  }

  public Optional getBlurHash() {
    return blurHash;
  }
}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy