2021-10-07 15:48:52 +02:00
|
|
|
// SPDX-FileCopyrightText: 2021 Paul Schaub <vanitasvitae@fsfe.org>
|
|
|
|
//
|
|
|
|
// SPDX-License-Identifier: Apache-2.0
|
|
|
|
|
2021-07-15 16:55:13 +02:00
|
|
|
package sop.operation;
|
|
|
|
|
2021-10-10 16:34:17 +02:00
|
|
|
import java.io.ByteArrayInputStream;
|
2021-07-15 16:55:13 +02:00
|
|
|
import java.io.InputStream;
|
|
|
|
|
|
|
|
import sop.Ready;
|
|
|
|
import sop.enums.ArmorLabel;
|
|
|
|
import sop.exception.SOPGPException;
|
|
|
|
|
|
|
|
public interface Armor {
|
|
|
|
|
|
|
|
/**
|
|
|
|
* Overrides automatic detection of label.
|
|
|
|
*
|
|
|
|
* @param label armor label
|
|
|
|
* @return builder instance
|
|
|
|
*/
|
|
|
|
Armor label(ArmorLabel label) throws SOPGPException.UnsupportedOption;
|
|
|
|
|
|
|
|
/**
|
|
|
|
* Armor the provided data.
|
|
|
|
*
|
|
|
|
* @param data input stream of unarmored OpenPGP data
|
|
|
|
* @return armored data
|
|
|
|
*/
|
|
|
|
Ready data(InputStream data) throws SOPGPException.BadData;
|
2021-10-10 16:34:17 +02:00
|
|
|
|
|
|
|
/**
|
|
|
|
* Armor the provided data.
|
|
|
|
*
|
|
|
|
* @param data unarmored OpenPGP data
|
|
|
|
* @return armored data
|
|
|
|
*/
|
|
|
|
default Ready data(byte[] data) throws SOPGPException.BadData {
|
|
|
|
return data(new ByteArrayInputStream(data));
|
|
|
|
}
|
2021-07-15 16:55:13 +02:00
|
|
|
}
|