<commit_before>/****************************************************************************
 * Copyright (C) 2012 ecsec GmbH.
 * All rights reserved.
 * Contact: ecsec GmbH (<EMAIL>)
 *
 * This file is part of the Open eCard App.
 *
 * GNU General Public License Usage
 * This file may be used under the terms of the GNU General Public
 * License version 3.0 as published by the Free Software Foundation
 * and appearing in the file LICENSE.GPL included in the packaging of
 * this file. Please review the following information to ensure the
 * GNU General Public License version 3.0 requirements will be met:
 * http://www.gnu.org/copyleft/gpl.html.
 *
 * Other Usage
 * Alternatively, this file may be used in accordance with the terms
 * and conditions contained in a signed written agreement between
 * you and ecsec GmbH.
 *
 ***************************************************************************/

package org.openecard.common.tlv.iso7816;

import org.openecard.common.tlv.Parser;
import org.openecard.common.tlv.TLV;
import org.openecard.common.tlv.TLVException;
import org.openecard.common.tlv.Tag;
import org.openecard.common.tlv.TagClass;


/**
 *
 * @author <NAME> <<EMAIL>>
 */
public class AuthenticationObjectChoice extends TLVType {

    private GenericAuthenticationObject<PasswordAttributes> pwd; // PasswordAttributes
    private GenericAuthenticationObject<TLV> biometricTemplate; // BiometricAttributes
    private GenericAuthenticationObject<TLV> authKey; // AuthKeyAttributes
    private GenericAuthenticationObject<TLV> external; // ExternalAuthObjectAttributes
    private TLV ext;


    public AuthenticationObjectChoice(TLV tlv) throws TLVException {
	super(tlv);

	Parser p = new Parser(tlv);

	if (p.match(new Tag(TagClass.UNIVERSAL, false, 16))) {
	    pwd = new GenericAuthenticationObject<PasswordAttributes>(p.next(0), PasswordAttributes.class);
	} else if (p.match(new Tag(TagClass.CONTEXT, false, 0))) {
	    biometricTemplate = new GenericAuthenticationObject<TLV>(p.next(0), TLV.class);
	} else if (p.match(new Tag(TagClass.CONTEXT, false, 1))) {
	    authKey = new GenericAuthenticationObject<TLV>(p.next(0), TLV.class);
	} else if (p.match(new Tag(TagClass.CONTEXT, false, 2))) {
	    external = new GenericAuthenticationObject<TLV>(p.next(0), TLV.class);
	} else {
	    ext = p.next(0);
	}
    }

}<commit_msg>Add getter for the global variables<commit_after>/****************************************************************************
 * Copyright (C) 2012-2013 ecsec GmbH.
 * All rights reserved.
 * Contact: ecsec GmbH (<EMAIL>)
 *
 * This file is part of the Open eCard App.
 *
 * GNU General Public License Usage
 * This file may be used under the terms of the GNU General Public
 * License version 3.0 as published by the Free Software Foundation
 * and appearing in the file LICENSE.GPL included in the packaging of
 * this file. Please review the following information to ensure the
 * GNU General Public License version 3.0 requirements will be met:
 * http://www.gnu.org/copyleft/gpl.html.
 *
 * Other Usage
 * Alternatively, this file may be used in accordance with the terms
 * and conditions contained in a signed written agreement between
 * you and ecsec GmbH.
 *
 ***************************************************************************/

package org.openecard.common.tlv.iso7816;

import org.openecard.common.tlv.Parser;
import org.openecard.common.tlv.TLV;
import org.openecard.common.tlv.TLVException;
import org.openecard.common.tlv.Tag;
import org.openecard.common.tlv.TagClass;


/**
 * The class implements a data type which represents the ASN.1 notation of the AuthenticationObjectChoice in ISO7816-15.
 *
 * @author <NAME> <<EMAIL>>
 * @author <NAME>ase <<EMAIL>>
 */
public class AuthenticationObjectChoice extends TLVType {

    private GenericAuthenticationObject<PasswordAttributes> pwd; // PasswordAttributes
    private GenericAuthenticationObject<TLV> biometricTemplate; // BiometricAttributes
    private GenericAuthenticationObject<TLV> authKey; // AuthKeyAttributes
    private GenericAuthenticationObject<TLV> external; // ExternalAuthObjectAttributes
    private TLV ext;

    /**
     * The constructor parses the input {@link TLV} to set the element which is chosen.
     *
     * @param tlv The {@link TLV} which represents the AuthenticationObjectChoice.
     * @throws TLVException
     */
    public AuthenticationObjectChoice(TLV tlv) throws TLVException {
	super(tlv);

	Parser p = new Parser(tlv);

	if (p.match(new Tag(TagClass.UNIVERSAL, false, 16))) {
	    pwd = new GenericAuthenticationObject<PasswordAttributes>(p.next(0), PasswordAttributes.class);
	} else if (p.match(new Tag(TagClass.CONTEXT, false, 0))) {
	    biometricTemplate = new GenericAuthenticationObject<TLV>(p.next(0), TLV.class);
	} else if (p.match(new Tag(TagClass.CONTEXT, false, 1))) {
	    authKey = new GenericAuthenticationObject<TLV>(p.next(0), TLV.class);
	} else if (p.match(new Tag(TagClass.CONTEXT, false, 2))) {
	    external = new GenericAuthenticationObject<TLV>(p.next(0), TLV.class);
	} else {
	    ext = p.next(0);
	}
    }

    public GenericAuthenticationObject<PasswordAttributes> getPasswordObject() {
	return pwd;
    }

    public GenericAuthenticationObject<TLV> getBiometricTemplate() {
	return biometricTemplate;
    }

    public GenericAuthenticationObject<TLV> getAuthenticationKey() {
	return authKey;
    }

    public GenericAuthenticationObject<TLV> getExternalAuthObject() {
	return external;
    }

    public TLV getFutureExtension() {
	return ext;
    }

}
{'fraction_non_alphanumeric': 0.1476618705035971, 'fraction_numerical': 0.009892086330935251, 'mean_word_length': 4.566566566566567, 'pattern_counts': {'":': 0, '<': 34, '<?xml version=': 0, '>': 34, 'https://': 0, 'lorem ipsum': 0, 'www.': 2, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '6747689', 'n_tokens_mistral': 1628, 'n_tokens_neox': 1530, 'n_words': 472}