recognition/code-128-extended-parameters.js

const _MwWrapper = require("../_mwbridge/_mw-wrapper.js");
const Code128DataPortion = require("./code-128-data-portion");

/**
 * Stores special data of Code128 recognized barcode<br>
 * Represents the recognized barcode's region and barcode angle
 * @example
 * //This sample shows how to get code128 raw values
 * let generator = new BarcodeGenerator(EncodeTypes.Code128, "12345");
 * generator.save("test.png");
 * let reader = new BarCodeReader("test.png", null,  DecodeType.CODE_128);
 * let results = reader.readBarCodes();
 * for(let i = 0; i < results.length; i++)
 * {
 *    let result = results[i];
 *    console.log("BarCode Type: " + result.getCodeTypeName());
 *    console.log("BarCode CodeText: " + result.getCodeText());
 *    console.log("Code128 Data Portions: " + result.getExtended().getCode128());
 * }
 */
class Code128ExtendedParameters extends _MwWrapper
{
    code128DataPortions;

    constructor(javaclass)
    {
        super(javaclass);
        this._initializeWrapperMembers()
    }

    _initializeWrapperMembers()
    {
        this.code128DataPortions = Code128ExtendedParameters.convertCode128DataPortions(this.getJavaClass().getCode128DataPortionsSync());
    }

    static convertCode128DataPortions(javaCode128DataPortions)
    {
        let code128DataPortionsValues = javaCode128DataPortions;
        let code128DataPortions = [];
        for (let i = 0; i < code128DataPortionsValues.length; i++)
        {
            code128DataPortions.push(new Code128DataPortion(code128DataPortionsValues[i]));
        }
        return code128DataPortions;
    }

    /**
     *  Gets Code128DataPortion array of recognized Code128 barcode Value of the Code128DataPortion.
     */
    getCode128DataPortions()
    {
        return this.code128DataPortions;
    }

    isEmpty()
    {
        return this.getJavaClass().isEmptySync();
    }

    /**
     * Returns a value indicating whether this instance is equal to a specified Code128ExtendedParameters value.
     *
     * @param obj An System.Object value to compare to this instance.
     * @return true if obj has the same value as this instance; otherwise, false.
     */
    equals(obj)
    {
        return this.getJavaClass().equalsSync(obj.getJavaClass());
    }

    /**
     * Returns the hash code for this instance.
     *
     * @return A 32-bit signed integer hash code.
     */
    hashCode()
    {
        return this.getJavaClass().hashCodeSync();
    }

    /**
     * Returns a human-readable string representation of this Code128ExtendedParameters.
     *
     * @return A string that represents this Code128ExtendedParameters.
     */
    toString()
    {
        return this.getJavaClass().toStringSync();
    }
}

module.exports = Code128ExtendedParameters;