Het pakket org.osmf.traits biedt de bouwstenen voor het maken van specifieke mediatraits. Traits definiëren de mogelijkheden van een media-element.
Verschillende implementaties van een media-element vormen samen verschillende reeksen traits, afhankelijk van de eigenschappen van de media die ze vertegenwoordigen. Een audio-element kan bijvoorbeeld bestaan uit de traits IAudible, IPlayable, ITemporal en ILoadable. Deze afzonderlijke traits definiëren de mogelijkheden van het media-element, onafhankelijk van de specifieke implementatie van media-elementen. Voor een media-element met de trait ILoadable verzorgt de trait de mogelijkheid tot het laden en verwijderen van het media-element. Op vergelijkbare wijze biedt de implementatie van de trait IPlayable het media-element de mogelijkheid om zichzelf af te spelen.
Er wordt een trait aan een media-element toegevoegd via de methode MediaElement.addTrait()
van het element.
De implementatie van mediatraits is gebaseerd op de volgende principes:
- Traits zijn niet afhankelijk van elkaar. Met een mediatrait wordt daarom een ander mediatrait ook niet uitgebreid.
- Traits verzenden hun eigen gebeurtenissen. Implementaties van traits kunnen afkomstig zijn van de klasse MediaTraitBase, waarmee EventDispatcher wordt uitgebreid en ImediaTrait wordt geïmplementeerd om het verzenden van gebeurtenissen af te handelen.
- Traits worden geïdentificeerd door de opsommingsklasse MediaTraitType.
- Traits moeten als afzonderlijke klassen worden geïmplementeerd.
De interfaces van de traits zijn bedoeld voor gebruik door media-elementklassen. Het zijn algemene naar buiten gerichte items die hoofdzakelijk worden gekenmerkt door getters zonder setters, behalve voor traits waarvoor extern instelbare eigenschappen zijn vereist, zoals het volume of de paneigenschappen van een IAudible.
De basistraitklassen zijn bedoeld voor gebruik door implementaties van subklassen onder MediaElement. Ze hebben doorgaans zowel setters als getters.
Klasse | Beschrijving |
---|
Wed Jun 13 2018, 11:57 AM Z