Leverandør av gruppedatalager

org.eclipse.team.core.repository

2.0

Plugin-modulen Gruppe inneholder begrepet Datalagre. Jobben til et datalager er å sørge for støtte for deling av ressurser mellom gruppemedlemmer. Datalagre konfigureres per prosjekt. Det er bare mulig å tilordne ett datalager om gangen til et prosjekt.

Datalagre som utvider dette utvidelsespunktet kan sørge for implementeringer av felles datalagerspesifikke regler for endring, flytting og sletting av ressurser. Se grensesnittene IFileModificationValidator og MoveDeleteHook hvis du vil ha flere opplysninger.

En datalagertype kan også oppgis for å gi en ikke-prosjektspesifikk funksjonalitet som for eksempel org.eclipse.team.core.ProjectSetCapability.

En type datalagerleverandør kan også definere at den kan importere prosjekter fra en andre leverandør, i tilfelle den andre leverandørens plugin-modul ikke er tilgjengelig i den gjeldende installasjonen. Dette er en metode for å støtte migreringen fra en leverandørimplementering til en annen der ombruken av samme ID for de to leverandørene ikke var mulig.

En type datalagerleverandør kan også oppgi en eller flere metafilbaner (atskilt med komma) i forhold til en overordnet container. Hvis et udelt prosjekt eller en udelt mappe inneholder filer som samsvarer med alle metafilbanene som er knyttet til en datalagerdefinisjon, blir metoden RepositoryProviderType#metaFilesDetected startet med den overordnede containeren som et argument. Dette gjøres for å gi datalagertypen en mulighet til å merke filene som private for gruppen, og eventuelt dele prosjektet i tillegg. Se Javadoc for metoden ovenfor hvis du vil ha mer informasjon.

<!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

fileSystemScheme CDATA #IMPLIED>


<extension point=

"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>

Verdien av class-attributtet må representere en subklasse av org.eclipse.team.core.RepositoryProvider, og verdien av typeClass-attributtet må representere en subklasse av org.eclipse.team.core.RepositoryProviderType.

Implementeringen av RepositoryProvider har hjelpemetoder og felleskode for tilordning og fraordning av leverandører til og fra prosjekter. Den valgfrie RepositoryProviderType sørger for import og eksport av prosjektsett gjennom en ProjectSetCapability.