Viem, že môžem robiť niečo ako:
public class AbstractDao<T extends Bean> {
}
V tomto prípade je Bean trieda alebo rozhranie.
Zaujímalo by ma, či existuje spôsob, ako to urobiť s anotáciami, napríklad:
public class AbstractDao<T extends javax.persistence.Entity> {
}
Je niečo také možné?
Vopred ďakujem!
odpovede:
3 pre odpoveď č. 1Bohužiaľ, v anotáciách nie je dedičstvo, takže to nie je možné.
Tu nájdete odpovede na podobnú otázku:
Prečo nie je možné rozšíriť anotácie v jazyku Java?
3 pre odpoveď č. 2
Nie. Špecifikácia jazyka Java hovorí premenné tohto typu môžu byť obmedzené iba narozširovať / implementovať konkrétne triedy alebo rozhrania. Pretože anotácia triedy nespôsobuje, že trieda rozširuje alebo implementuje konkrétny typ, môžete anotáciou obmedziť.