Erőforrás-módosítási csatlakozópontok

Eddig feltételeztük, hogy az erőforrás API módosítja az erőforrásokat, amelyek a felhasználó fájlrendszerében találhatók.  Ez valójában a munkaterület alapvető struktúrája, de az is lehetséges, hogy a bedolgozó jellemzőket biztosít az erőforrások kezeléséhez, amelyek kezelése máshol történik. A platform Csapattámogatás bedolgozói lehetővé teszik például a verziókövetési lerakat felügyelete alá eső erőforrások kezelését.

Az erőforrások API tartalmaz külön hozzáadott képességeket, amelyek lehetővé teszik a csapattámogatási bedolgozókat, valamint azokat a bedolgozókat, amelyek a csapattámogatás segítségével megvalósítják a lerakatszolgáltatókat. Az alábbi leírás az erőforrás-csatlakozások általános mechanizmusaira vonatkozik.  Azzal kapcsolatban, hogy a csapat hogyan használja ezeket a csatlakozókat, tekintse meg a Lerakatszolgáltató megvalósítás részt.  

Erőforrás-áthelyezési/törlési csatlakozások

Ezen csatlakozó segítségével a csapatbedolgozók és ezek szolgáltatói szabályozhatják az erőforrások mozgatásának és törlésének megvalósítását.  A csatlakozó lehetővé teszi ezen műveletek megakadályozását. A megvalósítók alternatív megvalósításokat biztosíthatnak a fájlok, mappák és projektek áthelyezéséhez és törléséhez. 

A csapatbedolgozók az org.eclipse.core.resources.moveDeleteHook kiterjesztési pont segítségével regisztrálják a csatlakozópontokat:

<extension point="org.eclipse.core.resources.moveDeleteHook" id="MoveDeleteHook">
	<moveDeleteHook class="org.eclipse.team.internal.core.MoveDeleteManager"/>
   </extension> 

A biztosított osztálynak meg kell valósítania az IMoveDeleteHook elemet, amelyet a platform hív meg az erőforrás áthelyezésekor vagy törlésekor.  A csapatbedolgozók egy áthelyezés/törlés csatlakozókezelőt telepítenek, amelyek meghatározhatják, hogy mely csapatszolgáltató kezeli az erőforrást, és meghívják a speciális csatlakozópontját.

Fájlmódosítás-érvényesítők

Az is előfordulhat, hogy a csapatlerakat-szolgáltatóknak meg kell akadályozniuk vagy közbe kell lépniük a fájl szerkesztésébe vagy mentésébe. A csapatbedolgozó ezt az org.eclipse.core.resources.fileModificationValidator kiterjesztési pont segítségével regisztrálja az érvényesítőt, amely az erőforrás módosításakor kerül meghívásra.

<extension point="org.eclipse.core.resources.fileModificationValidator" id="FileValidator">
	<fileModificationValidator class="org.eclipse.team.internal.core.FileModificationValidatorManager"/>
</extension>

A biztosított osztálynak meg kell valósítania az IMoveDeleteHook elemet, amelyet a platform hív meg az erőforrás mentésekor vagy megnyitásakor.   A csapatbedolgozó telepít egy fájlmódosítás-kezelőt, amely meg tudja határozni, hogy mely csapaszolgáltató kezeli az erőforrást, és meghívja a speciális érvényesítőjét.

Általános csapat-csatlakozópont

A lerakatszolgáltatókat néha csatlakoztatni kell kiegészítő munkaterület-műveletekhez extra megszorítások kivetése vagy a munkaterület viselkedésének személyre szabása érdekében. Az org.eclipse.core.resources.teamHook kiterjesztési pont néhány további speciális funkciót biztosít a csapatszolgáltatóknak. Ez a csatlakozópont lehetővé teszi egy csapatszolgáltató számára annak eldöntését, hogy a hivatkozott mappák és fájlok engedélyezettek legyenek-e egy adott projekt számára. Néhány lerakatrendszer szigorú szabályokkal rendelkezik a projektek lemezen elhelyezésével kapcsolatosan és nem képes kezelni a tetszőleges helyeket.

A csapat-csatlakozópont lehetővé teszi a lerakatszolgáltató számára egy ütemezési szabály gyár biztosítását, amelyet az összes munkaterület-művelet használni fog. Minden esetben, amikor egy olyan API metódus meghívásra kerül, amely valamilyen módon módosítja a munkaterületet, egy ütemezési szabályt szerez be a munkaterület. Ez az ütemezési szabály megakadályozza a többi szálat ezen erőforrások módosításától az API metódus hívása közben. Ha egy lerakatszolgáltató további feladatokat hajt végre egy fájlmódosítás-érvényesítőben vagy áthelyez/töröl egy csatlakozópontot, akkor a szolgáltatónak azt is meg kell mondania a munkaterületnek, hogy milyen további ütemezési szabályra lesz szüksége. Azzal kapcsolatos további részletek, hogy a munkaterület hogyan használja az ütemezési szabályokat, az erőforrások kötegelt feldolgozása témáról szóló fejezetben találhatók.

A csapat-csatlakozóponthoz biztosított osztálynak meg kell valósítania a TeamHook elemet. A csapatbedolgozók egy egyszerű csapat-csatlakozópontot telepítenek, amelyek meghatározhatják, hogy mely csapatszolgáltató kezeli az erőforrást, és meghívják a speciális csatlakozópontját.

Megjegyzés:  Mindhárom csapat-csatlakozópontot a csapat központi bedolgozó általi használtra alakították ki. Nem általános célra tervezték őket. A csapatszolgáltatóknak nem kell telepíteniük a csatlakozókat a kiterjesztési pontok segítségével, hanem a Repository Provider osztályban kell megvalósítaniuk.  A csatlakozók használatával kapcsolatos további információkat a Csapaterőforrás-módosítási csatlakozók rész tartalmaz.