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 }