Unit test development.
[platform/upstream/iotivity.git] / cloud / account / src / main / java / org / iotivity / cloud / accountserver / x509 / cert / CertificateExtension.java
1 /*
2  * //******************************************************************
3  * //
4  * // Copyright 2016 Samsung Electronics All Rights Reserved.
5  * //
6  * //-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
7  * //
8  * // Licensed under the Apache License, Version 2.0 (the "License");
9  * // you may not use this file except in compliance with the License.
10  * // You may obtain a copy of the License at
11  * //
12  * //      http://www.apache.org/licenses/LICENSE-2.0
13  * //
14  * // Unless required by applicable law or agreed to in writing, software
15  * // distributed under the License is distributed on an "AS IS" BASIS,
16  * // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
17  * // See the License for the specific language governing permissions and
18  * // limitations under the License.
19  * //
20  * //-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
21  */
22 package org.iotivity.cloud.accountserver.x509.cert;
23
24 import org.bouncycastle.asn1.ASN1Encodable;
25 import org.bouncycastle.asn1.ASN1ObjectIdentifier;
26
27 /**
28  * Class for representing certificate extension.
29  */
30 public class CertificateExtension {
31
32     /**
33      * Attribute for ASN1 object identifier.
34      */
35     private final ASN1ObjectIdentifier oid;
36
37     /**
38      * Attribute checks critical or non critical type of extension.
39      */
40     private final boolean isCritical;
41
42     /**
43      * Attribute stores ASN1 Encodable value
44      */
45     private final ASN1Encodable value;
46
47     /**
48      * Constructs certificate extension with specified oid, isCritical, value parameters.
49      */
50     public CertificateExtension(ASN1ObjectIdentifier oid, boolean isCritical, ASN1Encodable value) {
51         this.oid = oid;
52         this.isCritical = isCritical;
53         this.value = value;
54     }
55
56     /**
57      * Returns attribute value for oid
58      */
59     ASN1ObjectIdentifier getOid() {
60         return oid;
61     }
62
63     /**
64      * Returns isCritical attribute value.
65      */
66     boolean isCritical() {
67         return isCritical;
68     }
69
70     /**
71      * Returns ASN1Encodable attribute value.
72      *
73      * @return
74      */
75     ASN1Encodable getValue() {
76         return value;
77     }
78 }