34 lines
982 B
Java
34 lines
982 B
Java
|
|
/*
|
||
|
|
* RawCoder
|
||
|
|
*
|
||
|
|
* Author: Lasse Collin <lasse.collin@tukaani.org>
|
||
|
|
*
|
||
|
|
* This file has been put into the public domain.
|
||
|
|
* You can do whatever you want with this file.
|
||
|
|
*/
|
||
|
|
|
||
|
|
package org.tukaani.xz;
|
||
|
|
|
||
|
|
class RawCoder {
|
||
|
|
static void validate(FilterCoder[] filters)
|
||
|
|
throws UnsupportedOptionsException {
|
||
|
|
for (int i = 0; i < filters.length - 1; ++i)
|
||
|
|
if (!filters[i].nonLastOK())
|
||
|
|
throw new UnsupportedOptionsException(
|
||
|
|
"Unsupported XZ filter chain");
|
||
|
|
|
||
|
|
if (!filters[filters.length - 1].lastOK())
|
||
|
|
throw new UnsupportedOptionsException(
|
||
|
|
"Unsupported XZ filter chain");
|
||
|
|
|
||
|
|
int changesSizeCount = 0;
|
||
|
|
for (int i = 0; i < filters.length; ++i)
|
||
|
|
if (filters[i].changesSize())
|
||
|
|
++changesSizeCount;
|
||
|
|
|
||
|
|
if (changesSizeCount > 3)
|
||
|
|
throw new UnsupportedOptionsException(
|
||
|
|
"Unsupported XZ filter chain");
|
||
|
|
}
|
||
|
|
}
|