Add to result the raw, but parsed, bytes of byte segments in 2D barcodes
[zxing.git] / core / src / com / google / zxing / ResultMetadataType.java
1 /*
2  * Copyright 2008 ZXing authors
3  *
4  * Licensed under the Apache License, Version 2.0 (the "License");
5  * you may not use this file except in compliance with the License.
6  * You may obtain a copy of the License at
7  *
8  *      http://www.apache.org/licenses/LICENSE-2.0
9  *
10  * Unless required by applicable law or agreed to in writing, software
11  * distributed under the License is distributed on an "AS IS" BASIS,
12  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13  * See the License for the specific language governing permissions and
14  * limitations under the License.
15  */
16
17 package com.google.zxing;
18
19 /**
20  * Represents some type of metadata about the result of the decoding that the decoder
21  * wishes to communicate back to the caller.
22  *
23  * @author Sean Owen
24  */
25 public final class ResultMetadataType {
26
27   // No, we can't use an enum here. J2ME doesn't support it.
28
29   /**
30    * Unspecified, application-specific metadata. Maps to an unspecified {@link Object}.
31    */
32   public static final ResultMetadataType OTHER = new ResultMetadataType();
33
34   /**
35    * Denotes the likely approximate orientation of the barcode in the image. This value
36    * is given as degrees rotated clockwise from the normal, upright orientation.
37    * For example a 1D barcode which was found by reading top-to-bottom would be
38    * said to have orientation "90". This key maps to an {@link Integer} whose
39    * value is in the range [0,360).
40    */
41   public static final ResultMetadataType ORIENTATION = new ResultMetadataType();
42
43   /**
44    * <p>2D barcode formats typically encode text, but allow for a sort of 'byte mode'
45    * which is sometimes used to encode binary data. While {@link Result} makes available
46    * the complete raw bytes in the barcode for these formats, it does not offer the bytes
47    * from the byte segments alone.</p>
48    *
49    * <p>This maps to a {@link java.util.Vector} of {@link byte[]}s corresponding to the
50    * raw bytes in the byte segments in the barcode, in order.</p>
51    */
52   public static final ResultMetadataType BYTE_SEGMENTS = new ResultMetadataType();
53
54   private ResultMetadataType() {
55   }
56
57 }