FilenameFilter
имеет метод accept , который я могу реализовать, чтобы сообщить системе, как я хочу фильтровать файлы. Я хочу реализовать нечто подобное. Вот мой сценарий:
Я пишу универсальный API, который работает поверх iText , который добавляет Штрих-код к документам PDF. У меня есть общий пользовательский штрих-код.
public class MyCustomBarcode{
/**
* This variable holds the type of barcode
* com.itextpdf.text.pdf.Barcode
*/
private Barcode barcode;
/**
* The X position of the barcode. (0, 0) is at the bottom left
*/
private float x;
/**
* The Y position of the barcode. (0, 0) is at the bottom left
*/
private float y;
/**
*
*/
private int rotation;
...
}
Поэтому, когда пользователь использует этот API, ему просто нужно передать List<MyCustomBarcode>
методу из моего API, тогда API вставит штрих-код на каждую страницу PDF. Проблема в том, что каждый штрих-код имеет различный код формат. Например, BarcodeInter25 может использовать код, подобный 000001, 000002 ...
, где Barcode39 может использовать что-то еще. Поэтому я хочу позволить пользователю написать собственную реализацию того, как генерировать значение штрих-кода. Примерно так
MyCustomBarcode barcode = new MyCustomBarcode(x, y, z){
public String getSeqNum(int i){
//The user own implementation of how they want integer i to look like.
//E.g if i==1, I might return 000001
}
);
И так как я разрешаю пользователю иметь тип штрих-кода, кратный множеству, я хочу позволить ему написать собственную реализацию для каждого имеющегося у него штрих-кода.