2 * //******************************************************************
4 * // Copyright 2015 Intel Corporation.
6 * //-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
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
12 * // http://www.apache.org/licenses/LICENSE-2.0
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.
20 * //-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
23 package org.iotivity.base;
25 import java.security.InvalidParameterException;
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 * except for a few options including If-Match with empty(num : 1),
35 * If-None-Match(num : 5), Location-Path(num : 8),
36 * Location-Query(num : 20) CoAP option.
37 * HeaderOption instance creation fails if above condition is not satisfied.
39 public class OcHeaderOption {
41 public static final int MIN_HEADER_OPTION_ID = 2048;
42 public static final int MAX_HEADER_OPTION_ID = 3000;
43 public static final int IF_MATCH_OPTION_ID = 1;
44 public static final int IF_NONE_MATCH_OPTION_ID = 5;
45 public static final int LOCATION_PATH_OPTION_ID = 8;
46 public static final int LOCATION_QUERY_OPTION_ID = 20;
48 private int mOptionId;
49 private String mOptionData;
51 public OcHeaderOption(int optionId, String optionData) {
52 if (!(optionId >= MIN_HEADER_OPTION_ID && optionId <= MAX_HEADER_OPTION_ID)
53 && optionId != IF_MATCH_OPTION_ID
54 && optionId != IF_NONE_MATCH_OPTION_ID
55 && optionId != LOCATION_PATH_OPTION_ID
56 && optionId != LOCATION_QUERY_OPTION_ID) {
57 throw new InvalidParameterException("Option ID range is invalid");
60 this.mOptionId = optionId;
61 this.mOptionData = optionData;
65 * API to get Option ID
69 public int getOptionId() {
74 * API to get Option data
78 public String getOptionData() {