Exemple #1
0
 private SipModel.ScanPredicate createPredicate() {
   final String filterString = filterField.getText().trim();
   switch ((Filter) filterBox.getSelectedItem()) {
     case REGEX:
       return new SipModel.ScanPredicate() {
         @Override
         public boolean accept(MetadataRecord record) {
           return record.contains(Pattern.compile(filterString));
         }
       };
     case MODULO:
       int modulo;
       try {
         modulo = Integer.parseInt(filterString);
       } catch (NumberFormatException e) {
         modulo = 1;
       }
       if (modulo <= 0) modulo = 1;
       final int recordNumberModulo = modulo;
       return new SipModel.ScanPredicate() {
         @Override
         public boolean accept(MetadataRecord record) {
           return recordNumberModulo == 1 || record.getRecordNumber() % recordNumberModulo == 0;
         }
       };
     default:
       throw new RuntimeException();
   }
 }