/* * myLib - https://github.com/taktod/myLib * Copyright (c) 2014 ttProject. All rights reserved. * * Licensed under The MIT license. */ package com.ttProject.media.extra; import java.nio.ByteBuffer; import com.ttProject.nio.channels.IReadChannel; import com.ttProject.util.BitUtil; /** * bit型の基本クラス * @author taktod * */ public abstract class Bit { /** 保持データ */ private byte value; protected final int bitCount; public Bit(int count) { bitCount = count; } /** * 内部データ設定 * @param value */ public void set(int value) { this.value = (byte)value; } /** * 内部データ参照 * @return */ public int get() { return value & 0xFF; } /** * データDump */ @Override public String toString() { return toString(bitCount); } /** * データDump桁を合わせる * @param bitsCount * @return */ protected String toString(int bitsCount) { return BitUtil.toBit(value, bitsCount); } /** * IReadChannelから指定Bitデータを読み込んで取り出す * @param channel * @param bits * @return */ @Deprecated public static void bitLoader(IReadChannel channel, Bit... bits) throws Exception { // 読み込むべきサイズをしっておく。 BitLoader bitLoader = new BitLoader(channel); bitLoader.load(bits); } /** * bitデータを結合して1つのデータに復元する。 * @param bits * @return * @throws Exception */ @Deprecated public static ByteBuffer bitConnector(Bit... bits) throws Exception { BitConnector bitConnector = new BitConnector(); return bitConnector.connect(bits); } }