Платформа программирования J2ME для портативных устройств


              

элемента списка или 2) если


println ("Record id = " + id);


}

/**

RecordEnumerator, упорядочивающий записи в

лексикографическом порядке по полям

имен записей.

*/

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);


Содержание  Назад  Вперед