Как получить список пакетов и / или классов на пути к классам?

В Java я могу использовать ClassLoader для получения списка уже загруженных классов и пакетов этих классов. Но как мне получить список классов, которые могут быть загружены, то есть находятся в пути к классам? То же самое с пакетами.

Это для компилятора; при синтаксическом анализе foo.bar.Baz я хочу знать, является ли foo пакетом, чтобы отличить его от всего остального.