Жанры

Страница 39

20 августа 2026, 03:04

*/

RecordEnumeration getMatchesByNarae(String matchKey)

throws RecordStoreNotOpenException

(

MacchAllNaraesFilter filter =

new MatchAllNamesFilter(matchKey);

AlphabeticalOrdering comparator =

new AlphabeticalOrdering();

return recordStore.enuraerateRecords(filter,

comparator, false);

}

/**

RecordFilter, устанавливающий совпадение, если имя варианта (первое поле в записи варианта)!) точно соответствует имени элемента списка или 2) если строка имени элемента списка начинается с имени варианта. Возвращает значение true, ее установлено соответствие, false — в ином случае.

*/

class MatchAllNamesFilter implements RecordFilter

{

String requestString;

public MatchAllNamesFilter(String matchKey);

requestString = matchKey;

}

public boolean matches(byte [] candidate)

{

ByteArraylnputStream bais =

new ByteArraylnputStream(candidate);

DatalnputStream dis = new DatalnputStream(bais);

Siring name = null;

try

}

name = dis.readUTF();

if (name.indexOf(requestString) == 0)

return true;

else

return false;

}

catch (lOException ioe)

{

ioe.printStackTrace!);

return true;

}

}

/**

Этот внутренний класс реализует RecordCornparator, чья политика Заключается в выполнении сортировки по алфавиту.

*/

class AlphabeticalOrdering implements RecordCoraparator

}

Конструктор.

public AlphabeticalOrdering ()

(

)

public int compare(byte [] reel, byte [] rec2)

{

ByteArraylnputStream baisl =

new ByteArraylnputStream(recl);

DatalnputStream disl = new DatalnputStream(baisl);

ByteArraylnputStream bais2 =

new ByteArraylnputStream(rec2);

DatalnputStream dis2 = new DatalnputStream(bais2);

String namel = null; String name2 = null; try

namel = disl.readUTF ();

name2 = dis2.readUTF ();

}

catch (lOException ioe)

ioe.printStackTrace();

}

if (namel == null II name2 == null) return 0;

int result = namel.compareTo(name2);

if (result < 0)

return RecordCornparator. PRECEDES;

else if (result == 0)

return RecordCoraparator.EQUIVALENT;

Пока нет комментариев. Авторизуйтесь, чтобы оставить свой отзыв первым!