001    package org.trails.component;
002    
003    import org.apache.tapestry.annotations.ComponentClass;
004    import org.apache.tapestry.form.IPropertySelectionModel;
005    import org.trails.descriptor.extension.EnumReferenceDescriptor;
006    
007    /**
008     * Produces a select list for native java enum types.
009     */
010    @ComponentClass(allowBody = false, allowInformalParameters = true)
011    public abstract class EnumSelect extends AbstractPropertySelection
012    {
013    
014            @Override
015            public IPropertySelectionModel buildSelectionModel()
016            {
017                    EnumPropertySelectionModel selectionModel = new EnumPropertySelectionModel(getPropertyDescriptor().getExtension(EnumReferenceDescriptor.class).getPropertyType(), isAllowNone());
018                    selectionModel.setNoneLabel(getNoneLabel());
019                    return selectionModel;
020            }
021    }