UPOZORNĚNÍ

Zkoušky OCUP Fundamental a OCUP Intermediate již není možné absolvovat. Nově jsou k dispozici OCUP 2 Foundation a OCUP 2 Intermediate. Texty uvedené na těchto neodpovídají plně novým zkouškám. Aktuální text najdete na nových stránkách.

Testy znalostí UML

Chcete si kdykoliv před, při nebo po čtení těchto stránek udělat test znalostí UML? Máte možnost absolvovat takový, který připravil autor těchto stránek. Vše podstatné najdete na http://www.kurzy-uml.cz.

Akce pracující s vlastnostmi (Structural Feature Actions)

Metamodel: Structural Feature Actions

Akce pracující s vlastnostmi jsou akce, které se používají pro čtení, zápis a mazání hodnot strukturálních vlastností.

Žádná z následujících tříd nepředefinovává notaci danou třídou Action.

Výchozí třídou pro ostatní akce tohoto oddílu je StructuralFeatureAction. Poskytuje jednak objekt (object), který danou strukturovanou vlastnost vlastní, na vstupním pinu a jednak strukturovanou vlastnost (structuralFeature). Viditelnost této vlastnosti musí umožňovat provést požadovanou akci.

Pro čtení slouží třída ReadStructuralFeatureAction. Protože strukturovaná vlastnost je mj. specializací násobnosti (třída MultiplicityElement), je nutné zajistit, aby shodnou násobnost měl i výstupní pin této akce.

Pokud chceme všechny hodnoty dané strukturální vlastnosti odstranit, použijeme třídu ClearStructuralFeatureAction. Pokud je touto vlastností asociační konec, pak se použije sémantika třídy ClearAssociationAction (viz dále). Vymazány jsou opravdu všechny hodnoty i za cenu porušení případného minima daného násobností.

Třída WriteStructuralFeatureAction je abstraktní akce připravená pro konkrétní třídy modifikující strukturální vlastnost. Hodnota, která má být změněná, je připravená na vstupním pinu. Násobnost pinu musí být vždy 1 a typ musí souhlasit s typem strukturované vlastnosti.

Pro přidání hodnoty slouží třída AddStructuralFeatureValueAction. Protože strukturální vlastnost může obsahovat různé (a setříděné) hodnoty, je možné určit pozici pomocí dalšího vstupního pinu (asociace insertAt). Nastavením atributu isReplaceAll na hodnotu true lze zajistit smazání všech současných hodnot před vložením nové.

Konečně poslední akcí je třída RemoveStructuralFeatureValueAction. Jak název napovídá, jejím úkolem je vyjmout danou hodnotu ze strukturální vlastnosti. Pozor na to, že touto akcí lze porušit pravidlo minima dané případnou násobností. Akce se tím netrápí. Podobně jako u předchozí třídy, i zde můžeme pomocí dalšího vstupního pinu určit pořadí, na kterém požadovanou hodnotu odstraníme. Pokud chceme odstranit všechny výskyty dané hodnoty, nastavíme hodnotu atributu isRemoveDuplicate na true.

Žádné komentáře:

Okomentovat

Líbila se vám právě přečtená kapitola?

Líbil se vám článek? Přinesl vám užitek? Pokud ano, můžete mi zaslat pár drobných, čímž jednak dáte najevo, že se vám tu opravdu líbilo, a jednak mi ukážete, že má práce není zbytečná. Informace o darovací platbě zde.