command -key1 value1 -key2 value2 -key3 value3
необходимо проверить:
1) какая комманда указана (параметр command)
2) все ключи и значения для них присутствуют и только 1 раз (порядок не имеет значения), в противном случае выдавать сообщения об ошибке для каждого отсутствующего/присутствующего более 1 раза ключа/значения. Лишних ключей/значений быть тоже не должно.
3) Значения могут состоять более чем из одного слова, цифры, доп. знаков - в таком случае они должны быть включены в двойные кавычки. Таким образом split'ом или StringTokienizer'ом разделить строку не получится, т.к. значения могут состоять более чем из одного слова (цифры, доп. знаков и их сочетаний) и содержать пробелы.
4) Значения могут задаваться с помощью regexp выражений
5) Собственно в результате необходимо получить массив Properties из заданной пользователем строки или в случае неверного ввода указать ошибки.
Заранее благодарен если кто-то сможет помочь.