Týmový poskytovatel úložiště

org.eclipse.team.core.repository

2.0

Týmový modul plug-in obsahuje pojem Úložiště. Úlohou úložiště je poskytovat podporu pro sdílení prostředků mezi členy týmu. Úložiště jsou konfigurována vždy k jednotlivým projektům. Do projektu může být mapováno vždy jen jedno úložiště.

Úložiště přesahující tento bod rozšíření mohou poskytnout implementace pro společná pravidla vztahující se ke konkrétnímu úložišti, pro změny, přesunování a odstraňování prostředků. Další informace najdete přes rozhraní IFileModificationValidator a MoveDeleteHook.

Může být také zadán typ úložiště, k poskytnutí funkčnosti nespecifické pro projekt, jako například org.eclipse.team.core.ProjectSetCapability.

Poskytovatel úložiště může alternativně zadat, zda může importovat projekty od druhého poskytovatele, v případě, kdy modul plug-in druhého poskytovatele není v aktuální instalaci k dispozici. Je to poskytnuto jako prostředek podpory migrace od implementace jednoho poskytovatele k jiné, v případech kdy opakované použití stejného id pro oba poskytovatele nebylo možné.

Typ poskytovatele úložiště může také uvést jednu nebo několik cest k metasouboru (vzájemně oddělených čárkou) relativních vzhledem k nadřazenému pořadači. Pokud nesdílený projekt nebo složka obsahuje soubory, které se shodují se všemi cestami k metasouborům asociovanými s definicí úložiště, vyvolá se metoda RepositoryProviderType#metaFilesDetected s dosazením nadřazeného pořadače za svůj parametr. Slouží to k tomu, aby typ úložiště měl možnost označit soubory jako soukromé pro daný tým a případně tak sdílet i projekt. Další podrobnosti viz dokumentace Javadoc pro výše uvedenou metodu.

<!ELEMENT extension (repository)>

<!ATTLIST extension

point CDATA #REQUIRED>


<!ELEMENT repository EMPTY>

<!ATTLIST repository

id            CDATA #IMPLIED

class         CDATA #REQUIRED

typeClass     CDATA #IMPLIED

canImportId   CDATA #IMPLIED

metaFilePaths CDATA #IMPLIED>


<extension point=

"org.eclipse.team.core.repository"

>

<repository class=

"org.eclipse.myprovider.MyRepositoryProvider"

typeClass=

"org.eclipse.myprovider.MyRepositoryProvider"

id=

"org.eclipse.myprovider.myProviderID"

canImportId=

"org.eclipse.myprovider.myOldProviderID"

metaFilePaths=

".meta/files,.meta/version"

>

</repository>

</extension>

Hodnota atributu třídy musí představovat podtřídu org.eclipse.team.core.RepositoryProvider a hodnota atributu typeClass musí představovat podtřídu org.eclipse.team.core.RepositoryProviderType

Dodaná implementace RepositoryProvider poskytuje pomocné metody a společný kód pro mapování a odmapování poskytovatelů k projektům. Volitelný RepositoryProviderType poskytuje import a export sady projektu, prostřednictvím ProjectSetCapability.