Teamopbevaringsstedsudbyder

org.eclipse.team.core.repository

2.0

Team-plugin indeholder begrebet opbevaringssteder. Et opbevaringssted leverer understøttelse til deling af ressourcer mellem teammedlemmer. Opbevaringssteder konfigureres på pr. projekt-basis. Et projekt kan kun have ét opbevaringssted tilknyttet vha. mapping ad gangen.

Opbevaringssteder, der udvider dette udvidelsespunkt, kan levere implementereringer til almindelige opbevaringsspecifikke regler for ressourcemodifikationer, flytninger og sletninger. Der er flere oplysninger i følgende grænseflader IFileModificationValidator og MoveDeleteHook.

En opbevaringstype kan også specificeres, så der leveres ikke-projektspecifik funktionalitet som f.eks. org.eclipse.team.core.ProjectSetCapability.

En opbevaringsstedsudbyder kan angive, at den kan importere projekter fra en anden udbyder, i det tilfælde hvor den anden udbyders plugin ikke er tilgængelig i den aktuelle installation. Denne metode er beregnet til at understøtte overførsel fra en udbyderimplementering til en anden, i tilfælde hvor genbrug af den samme id for de to udbydere ikke er mulig.

En opbevaringsstedudbyder kan også angive en eller flere metafilstier (adskilt af kommaer), som er relative til et overordnet opbevaringssted. Hvis et ikke-fælles projekt eller en ikke-fælles folder indeholder filer, der matcher alle de metafilstier, der er tilknyttet en definition på et opbevaringssted, startes metoden RepositoryProviderType#metaFilesDetected med det overordnede opbevaringssted som argument. På den måde får opbevaringsstedet en mulighed for at markere filerne teamprivate og eventuelt også dele projektet. Der er flere oplysninger i javadoc for den ovennævnte metode.

<!ELEMENT extension (repository)>

<!ATTLIST-udvidelse

point CDATA #REQUIRED>


<!ELEMENT repository EMPTY>

<!ATTLIST repository

id               CDATA #IMPLIED

class            CDATA #REQUIRED

typeClass        CDATA #IMPLIED

canImportId      CDATA #IMPLIED

metaFilePaths    CDATA #IMPLIED

fileSystemScheme CDATA #IMPLIED>


<udvidelsespunkt=

"org.eclipse.team.core.repository"

>

<repository class=

"org.eclipse.myprovider.MyRepositoryProvider"

typeClass=

"org.eclipse.myprovider.MyRepositoryProviderType"

id=

"org.eclipse.myprovider.myProviderID"

canImportId=

"org.eclipse.myprovider.myOldProviderID"

metaFilePaths=

".meta/files,.meta/version"

>

</repository>

</extension>

Værdien af class-attributten skal repræsentere en underklasse af org.eclipse.team.core.RepositoryProvider, og værdien af typeClass-attributten skal repræsentere en underklasse af org.eclipse.team.core.RepositoryProviderType

Den leverede implementering af RepositoryProvider leverer hjælpemetoder og almindelig kode til at knytte udbydere til projekter og fjerne udbydere fra projekter. Den valgfrie RepositoryProviderType leverer projektsætimport og -eksport via en ProjectSetCapability.