If you want to just see what there is at the moment, the StorageManager mbean IndexInfo attribute shows the toString() representation of the extractor of each index.
If you want to get it programmatically, you can get hold of it by sending an entry-processor to a key, then casting the entry to BinaryEntry, and calling BinaryEntry.getBackingMapContext().getIndexMap() to get the same Map<ValueExtractor,MapIndex> of indexes which the index aware filters get.
Yes, this should give you all the indexes on a cache.
Don't rely on index size(unit) number though ! as i found that actual footprint can be way more than what it tells you.