| /* |
| * 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"); |
| } |
| } |