001// SPDX-FileCopyrightText: 2021 Paul Schaub <vanitasvitae@fsfe.org>
002//
003// SPDX-License-Identifier: Apache-2.0
004
005package org.pgpainless.sop;
006
007import sop.SOP;
008import sop.operation.Armor;
009import sop.operation.Dearmor;
010import sop.operation.Decrypt;
011import sop.operation.DetachInbandSignatureAndMessage;
012import sop.operation.Encrypt;
013import sop.operation.ExtractCert;
014import sop.operation.GenerateKey;
015import sop.operation.Sign;
016import sop.operation.Verify;
017import sop.operation.Version;
018
019public class SOPImpl implements SOP {
020
021    @Override
022    public Version version() {
023        return new VersionImpl();
024    }
025
026    @Override
027    public GenerateKey generateKey() {
028        return new GenerateKeyImpl();
029    }
030
031    @Override
032    public ExtractCert extractCert() {
033        return new ExtractCertImpl();
034    }
035
036    @Override
037    public Sign sign() {
038        return new SignImpl();
039    }
040
041    @Override
042    public Verify verify() {
043        return new VerifyImpl();
044    }
045
046    @Override
047    public Encrypt encrypt() {
048        return new EncryptImpl();
049    }
050
051    @Override
052    public Decrypt decrypt() {
053        return new DecryptImpl();
054    }
055
056    @Override
057    public Armor armor() {
058        return new ArmorImpl();
059    }
060
061    @Override
062    public Dearmor dearmor() {
063        return new DearmorImpl();
064    }
065
066    @Override
067    public DetachInbandSignatureAndMessage detachInbandSignatureAndMessage() {
068        return new DetachInbandSignatureAndMessageImpl();
069    }
070}