1e6bf3e8dfa2804891a82075cb469b736321b4827Brian Carlstrompackage org.bouncycastle.cms;
2e6bf3e8dfa2804891a82075cb469b736321b4827Brian Carlstrom
3e6bf3e8dfa2804891a82075cb469b736321b4827Brian Carlstromimport java.io.IOException;
4e6bf3e8dfa2804891a82075cb469b736321b4827Brian Carlstromimport java.io.InputStream;
5e6bf3e8dfa2804891a82075cb469b736321b4827Brian Carlstromimport java.io.OutputStream;
6e6bf3e8dfa2804891a82075cb469b736321b4827Brian Carlstrom
7e6bf3e8dfa2804891a82075cb469b736321b4827Brian Carlstromimport org.bouncycastle.asn1.ASN1ObjectIdentifier;
8e6bf3e8dfa2804891a82075cb469b736321b4827Brian Carlstromimport org.bouncycastle.asn1.cms.CMSObjectIdentifiers;
9e6bf3e8dfa2804891a82075cb469b736321b4827Brian Carlstrom
10e6bf3e8dfa2804891a82075cb469b736321b4827Brian Carlstrom/**
11e6bf3e8dfa2804891a82075cb469b736321b4827Brian Carlstrom * a class representing null or absent content.
12e6bf3e8dfa2804891a82075cb469b736321b4827Brian Carlstrom */
13e6bf3e8dfa2804891a82075cb469b736321b4827Brian Carlstrompublic class CMSAbsentContent
14e6bf3e8dfa2804891a82075cb469b736321b4827Brian Carlstrom    implements CMSTypedData, CMSReadable
15e6bf3e8dfa2804891a82075cb469b736321b4827Brian Carlstrom{
16e6bf3e8dfa2804891a82075cb469b736321b4827Brian Carlstrom    private final ASN1ObjectIdentifier type;
17e6bf3e8dfa2804891a82075cb469b736321b4827Brian Carlstrom
18e6bf3e8dfa2804891a82075cb469b736321b4827Brian Carlstrom    public CMSAbsentContent()
19e6bf3e8dfa2804891a82075cb469b736321b4827Brian Carlstrom    {
20e6bf3e8dfa2804891a82075cb469b736321b4827Brian Carlstrom        this(new ASN1ObjectIdentifier(CMSObjectIdentifiers.data.getId()));
21e6bf3e8dfa2804891a82075cb469b736321b4827Brian Carlstrom    }
22e6bf3e8dfa2804891a82075cb469b736321b4827Brian Carlstrom
23e6bf3e8dfa2804891a82075cb469b736321b4827Brian Carlstrom    public CMSAbsentContent(
24e6bf3e8dfa2804891a82075cb469b736321b4827Brian Carlstrom        ASN1ObjectIdentifier type)
25e6bf3e8dfa2804891a82075cb469b736321b4827Brian Carlstrom    {
26e6bf3e8dfa2804891a82075cb469b736321b4827Brian Carlstrom        this.type = type;
27e6bf3e8dfa2804891a82075cb469b736321b4827Brian Carlstrom    }
28e6bf3e8dfa2804891a82075cb469b736321b4827Brian Carlstrom
29e6bf3e8dfa2804891a82075cb469b736321b4827Brian Carlstrom    public InputStream getInputStream()
30e6bf3e8dfa2804891a82075cb469b736321b4827Brian Carlstrom    {
31e6bf3e8dfa2804891a82075cb469b736321b4827Brian Carlstrom        return null;
32e6bf3e8dfa2804891a82075cb469b736321b4827Brian Carlstrom    }
33e6bf3e8dfa2804891a82075cb469b736321b4827Brian Carlstrom
34e6bf3e8dfa2804891a82075cb469b736321b4827Brian Carlstrom    public void write(OutputStream zOut)
35e6bf3e8dfa2804891a82075cb469b736321b4827Brian Carlstrom        throws IOException, CMSException
36e6bf3e8dfa2804891a82075cb469b736321b4827Brian Carlstrom    {
37e6bf3e8dfa2804891a82075cb469b736321b4827Brian Carlstrom        // do nothing
38e6bf3e8dfa2804891a82075cb469b736321b4827Brian Carlstrom    }
39e6bf3e8dfa2804891a82075cb469b736321b4827Brian Carlstrom
40e6bf3e8dfa2804891a82075cb469b736321b4827Brian Carlstrom    public Object getContent()
41e6bf3e8dfa2804891a82075cb469b736321b4827Brian Carlstrom    {
42e6bf3e8dfa2804891a82075cb469b736321b4827Brian Carlstrom        return null;
43e6bf3e8dfa2804891a82075cb469b736321b4827Brian Carlstrom    }
44e6bf3e8dfa2804891a82075cb469b736321b4827Brian Carlstrom
45e6bf3e8dfa2804891a82075cb469b736321b4827Brian Carlstrom    public ASN1ObjectIdentifier getContentType()
46e6bf3e8dfa2804891a82075cb469b736321b4827Brian Carlstrom    {
47e6bf3e8dfa2804891a82075cb469b736321b4827Brian Carlstrom        return type;
48e6bf3e8dfa2804891a82075cb469b736321b4827Brian Carlstrom    }
49e6bf3e8dfa2804891a82075cb469b736321b4827Brian Carlstrom}
50