Порожденные ресурсы

Многие ресурсы создаются в процессе трансляции, компиляции, копирования или другой обработки файлов, которые создаются и редактируются пользователем.  Порожденные ресурсы - это ресурсы, которые не существуют независимо от других ресурсов, но могут быть восстановлены из своих исходных файлов.  Обычно порожденные файлы исключаются из некоторых видов обработки.  

Например, порожденные ресурсы обычно не вносятся в хранилище проекта, поскольку они засоряют хранилище, часто изменяются и могут быть восстановлены из своих исходных файлов.  Обычно модули совместной работы не сами принимают решения о том, какие файлы являются порожденными.  API ресурсов предусматривает стандартный механизм для обозначения порожденных ресурсов, создаваемых модулями.

Для обозначения порожденных ресурсов модули могут использовать метод IResource.setDerived(boolean) . Вновь созданные ресурсы не являются порожденными по умолчанию, поэтому должен применяться метод, который явным образом помечает ресурсы как порожденные.  Обычно этот метод помечает подпапку проекта как порожденную, если "выходная" папка (например, папка "bin" в проектах Java) создана модулем.

Другие модули, обычно модули обеспечения совместной работы, могут использовать метод IResource.isDerived , который позволяет определить, управляет ли хранилище конкретным ресурсом.  Любые попытки пометить проекты или корневые субъекты рабочей области как порожденные игнорируются.

Примечание:  В других (не предназначенных для совместной работы) модулях концепция порожденных ресурсов используется для обозначения ресурсов, которые не годятся для помещения в хранилище.  Нельзя помечать как порожденные специальные файлы, созданные для управления данными в хранилище.  Техника, позволяющая пометить ресурсы, связанные с реализацией совместной работы, как скрытые, описана в разделеЧастные ресурсы для совместной работы.