Imported Upstream version 1.0.0
[platform/upstream/iotivity.git] / android / android_api / base / src / main / java / org / iotivity / base / OcHeaderOption.java
1 /*
2  * //******************************************************************
3  * //
4  * // Copyright 2015 Intel Corporation.
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
23 package org.iotivity.base;
24
25 import java.security.InvalidParameterException;
26
27 /**
28  * OcHeaderOption class allows to create instances which comprises optionId
29  * and optionData as members. These are used in setting Header options.
30  * After creating instances of OcHeaderOptions, use setHeaderOptions API
31  * (in OcResource) to set header Options.
32  * NOTE: optionId  is an integer value which MUST be within
33  * range of 2048 to 3000 inclusive of lower and upper bound.
34  * HeaderOption instance creation fails if above condition is not satisfied.
35  */
36 public class OcHeaderOption {
37
38     public static final int MIN_HEADER_OPTION_ID = 2048;
39     public static final int MAX_HEADER_OPTION_ID = 3000;
40
41     private int mOptionId;
42     private String mOptionData;
43
44     public OcHeaderOption(int optionId, String optionData) {
45         if (!(optionId >= MIN_HEADER_OPTION_ID && optionId <= MAX_HEADER_OPTION_ID)) {
46             throw new InvalidParameterException("Option ID range is invalid");
47         }
48
49         this.mOptionId = optionId;
50         this.mOptionData = optionData;
51     }
52
53     /**
54      * API to get Option ID
55      *
56      * @return option ID
57      */
58     public int getOptionId() {
59         return mOptionId;
60     }
61
62     /**
63      * API to get Option data
64      *
65      * @return option data
66      */
67     public String getOptionData() {
68         return mOptionData;
69     }
70 }