1 /* 2 * ARMThumbOptions 3 * 4 * Author: Lasse Collin <lasse.collin@tukaani.org> 5 * 6 * This file has been put into the public domain. 7 * You can do whatever you want with this file. 8 */ 9 10 package org.tukaani.xz; 11 12 import java.io.InputStream; 13 import org.tukaani.xz.simple.ARMThumb; 14 15 /** 16 * BCJ filter for little endian ARM-Thumb instructions. 17 */ 18 public class ARMThumbOptions extends BCJOptions { 19 private static final int ALIGNMENT = 2; 20 ARMThumbOptions()21 public ARMThumbOptions() { 22 super(ALIGNMENT); 23 } 24 getOutputStream(FinishableOutputStream out, ArrayCache arrayCache)25 public FinishableOutputStream getOutputStream(FinishableOutputStream out, 26 ArrayCache arrayCache) { 27 return new SimpleOutputStream(out, new ARMThumb(true, startOffset)); 28 } 29 getInputStream(InputStream in, ArrayCache arrayCache)30 public InputStream getInputStream(InputStream in, ArrayCache arrayCache) { 31 return new SimpleInputStream(in, new ARMThumb(false, startOffset)); 32 } 33 getFilterEncoder()34 FilterEncoder getFilterEncoder() { 35 return new BCJEncoder(this, BCJCoder.ARMTHUMB_FILTER_ID); 36 } 37 } 38