<commit_before>/*
 * Copyright (C) 2014 The NightCode Open Source Project
 *
 * Licensed under the Apache License, Version 2.0 (the "License"); you may not
 * use this file except in compliance with the License. You may obtain a copy of
 * the License at
 *
 * http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
 * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
 * License for the specific language governing permissions and limitations under
 * the License.
 */

package org.nightcode.tools.ber;

import java.nio.ByteBuffer;

/**
 *
 */
public interface BerDecoder {

  int MASK_CONSTRUCTED = 0x20;

  int MASK_INDEFINITE_FORM = 0x80;
  int MASK_DEFINITE_LONG_FORM = 0x80;

  BerFrame decode(byte[] src);

  BerFrame decode(ByteBuffer srcBuffer);

  BerFrame decode(ByteBuffer srcBuffer, int offset, int length);
}<commit_msg>Added Javadoc for BerDecoder methods.<commit_after>/*
 * Copyright (C) 2014 The NightCode Open Source Project
 *
 * Licensed under the Apache License, Version 2.0 (the "License"); you may not
 * use this file except in compliance with the License. You may obtain a copy of
 * the License at
 *
 * http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
 * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
 * License for the specific language governing permissions and limitations under
 * the License.
 */

package org.nightcode.tools.ber;

import java.nio.ByteBuffer;

/**
 *
 */
public interface BerDecoder {

  int MASK_CONSTRUCTED = 0x20;

  int MASK_INDEFINITE_FORM = 0x80;
  int MASK_DEFINITE_LONG_FORM = 0x80;

  /**
   * Decode the BER data which contains in the supplied bytes array.
   *
   * @param src which contains the BER data
   * @exception java.lang.IndexOutOfBoundsException
   */
  BerFrame decode(byte[] src);

  /**
   * Decode the BER data which contains in the supplied {@link ByteBuffer}.
   *
   * @param srcBuffer which contains the BER data
   * @exception java.lang.IndexOutOfBoundsException
   */
  BerFrame decode(ByteBuffer srcBuffer);

  /**
   * Decode the BER data which contains in the supplied {@link ByteBuffer}
   * with specified offset and length.
   *
   * @param srcBuffer which contains the BER data
   * @param offset in the supplied srcBuffer
   * @param length of the BER data in bytes
   * @exception java.lang.IndexOutOfBoundsException
   */
  BerFrame decode(ByteBuffer srcBuffer, int offset, int length);
}
{'fraction_non_alphanumeric': 0.07882136279926336, 'fraction_numerical': 0.012523020257826888, 'mean_word_length': 3.773286467486819, 'pattern_counts': {'":': 0, '<': 3, '<?xml version=': 0, '>': 3, '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': '2969001', 'n_tokens_mistral': 792, 'n_tokens_neox': 755, 'n_words': 315}