isAncestor

Ověřuje, zda jedna třída je předkem jiné třídy.

Boolean isAncestor ( 
    String base-class ,
    String subclass
)
base-class
Plně kvalifikované jméno potenciální nadtřídy.
subclass
Plně kvalifikované jméno potenciální podtřídy.

Pozor, zde nejde o relaci mezi samotnými daty (například mezi assety v assetovém stromu), ale mezi jejich typy. Ke zjištění vztahu mezi assety slouží funkce isParent.

Funkci je například možné využít k ověření, zda je asset určitého typu nebo jeho podtypu. (V tomto případě by mělo jít spíše o výjimečné případy: tuto logiku při výpisu assetu standardně poskytuje formátovač, což by mělo pokrýt většinu případů užití.)

Příklad: Test na typ assetu
Test na přesný typ
{if _main.assetType ==
       "com.etnetera.projects.jnp.jnpdoc.data.JnpDocumentData"}
  ...
{/if}
Test na typ a podtypy
{if isAncestor(
      "com.etnetera.projects.jnp.jnpdoc.data.JnpDocumentData",
      _main.assetType)}
  ...
{/if}

Při druhém způsobu testování bude podmínka splněna nejen pro daný typ (Článek), ale i pro všechny případné odvozené typy, které mohou být pro daný projekt definované.

Pro vložení příspěvku do diskuse se přihlašte.