I have this situation:
- a product with an SKU
 - this product has attributes (checkboxes) who have a SKU suffix
 - (imagine a product with addons)
 
Attributes are always in a fixed order and are not manditory. The final SKU for a product is basesku + selected attributes' suffixes.
For example a product with basesku XXX has 3 attributes with suffixes A, B and C.
Possible combinations for this product are:
XXX-A
XXX-A-B
XXX-A-B-C
XXX-A-C
XXX-B
XXX-B-C
XXX-C
Because the attributes are in a fixed order, it is never possible to have XXX-C-B for example.
What is the best way to calculate these SKU's?
Edit: I should have told these attributes are dynamically created. So it is not possible to have attA + "-" + attB. I need a way to dynamically generate the list of possible SKU's