complex-barcode/maxicode-standard-codetext.js

const MwMaxiCodeStandardCodetext = require("../_mwbridge/_mw-bridge.js").MwMaxiCodeStandardCodetext;
const MaxiCodeCodetext = require("./maxicode-codetext");
const BarcodeException = require("../barcode-exception");

/**
 * Class for encoding and decoding MaxiCode codetext for modes 4, 5 and 6.
 *
 * @example
 * //Mode 4
 * let maxiCodeCodetext = new MaxiCodeStandardCodetext();
 * maxiCodeCodetext.setMode(MaxiCodeMode.MODE_4);
 * maxiCodeCodetext.setMessage("Test message");
 * let complexGenerator = new ComplexBarcodeGenerator(maxiCodeCodetext.getConstructedCodetext());
 * complexGenerator.generateBarCodeImage(BarcodeImageFormat.PNG);
 *
 * @example
 * //Mode 5
 * let maxiCodeCodetext = new MaxiCodeStandardCodetext();
 * maxiCodeCodetext.setMode(MaxiCodeMode.MODE_5);
 * maxiCodeCodetext.setMessage("Test message");
 * let complexGenerator = new ComplexBarcodeGenerator(maxiCodeCodetext.getConstructedCodetext());
 * complexGenerator.generateBarCodeImage(BarcodeImageFormat.PNG);
 *
 * @example
 * //Mode 6
 * let maxiCodeCodetext = new MaxiCodeStandardCodetext();
 * maxiCodeCodetext.setMode(MaxiCodeMode.MODE_6);
 * maxiCodeCodetext.setMessage("Test message");
 * let complexGenerator = new ComplexBarcodeGenerator(maxiCodeCodetext.getConstructedCodetext());
 * complexGenerator.generateBarCodeImage(BarcodeImageFormat.PNG);
 */
class MaxiCodeStandardCodetext extends MaxiCodeCodetext
{
    constructor()
    {
        try
        {
            super(new MwMaxiCodeStandardCodetext());
        }
        catch (ex)
        {
            throw new BarcodeException(ex);
        }
    }

    static _fromMwObject(mwObject)
    {
        let _class = new MaxiCodeStandardCodetext();
        _class.setJavaClass(mwObject);

        return _class;
    }

    /**
     * Gets message.
     */
    getMessage()
    {
        return this.getJavaClass().getMessageSync();
    }

    /**
     * Sets message.
     */
    setMessage(value)
    {
        this.getJavaClass().setMessageSync(value);
    }

    /**
     * Sets MaxiCode mode. Standart codetext can be used only with modes 4, 5 and 6.
     */
    setMode(mode)
    {
        this.getJavaClass().setModeSync(mode);
    }

    /**
     * Gets MaxiCode mode.
     * @return MaxiCode mode
     */
    getMode()
    {
        return this.getJavaClass().getModeSync();
    }

    /**
     * Constructs codetext
     * @return Constructed codetext
     */
    getConstructedCodetext()
    {
        return this.getJavaClass().getConstructedCodetextSync();
    }

    /**
     * Initializes instance from constructed codetext.
     * @param constructedCodetext Constructed codetext.
     */
    initFromString(constructedCodetext)
    {
        this.getJavaClass().initFromStringSync(constructedCodetext);
    }

    /**
     * Returns a value indicating whether this instance is equal to a specified <see cref="MaxiCodeStandardCodetext"/> value.
     * @param obj An <see cref="MaxiCodeStandardCodetext"/> value to compare to this instance.
     * @return if obj has the same value as this instance; otherwise, <b>false</b>.
     */
    equals(obj)
    {
        return this.getJavaClass().equalsSync(obj.getJavaClass());
    }

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

    _initializeWrapperMembers()
    {
    }
}

module.exports = MaxiCodeStandardCodetext