/* vim: set ts=2 et sw=2 cindent fo=qroca: */
package com.globant.katari.trails;
import org.apache.commons.lang.Validate;
import org.trails.descriptor.IPropertyDescriptor;
import org.trails.descriptor.annotation.AbstractAnnotationHandler;
import org.trails.descriptor.annotation.DescriptorAnnotationHandler;
/**
* Creates a new {@link EditGroupDivisionDescriptorExtension} with the value
* from the {@link EditGroupDivision} annotation.
*
* @author juan.pereyra
*/
public class EditGroupDivisionAnnotationHandler extends
AbstractAnnotationHandler implements
DescriptorAnnotationHandler<EditGroupDivision, IPropertyDescriptor> {
/** Creates a {@link EditGroupDivisionDescriptorExtension} and adds it to the
* property descriptor.
*
* @param annotation Annotation added to the property. It cannot be null.
* @param descriptor The property descriptor. It cannot be null.
*
* @return Returns descriptor, with the possible values extension.
*/
public IPropertyDescriptor decorateFromAnnotation(final EditGroupDivision
annotation, final IPropertyDescriptor descriptor) {
Validate.notNull(annotation, "The annotation cannot be null");
Validate.notNull(descriptor, "The descriptor cannot be null");
EditGroupDivisionDescriptorExtension extension
= new EditGroupDivisionDescriptorExtension(annotation.cssClass());
descriptor.addExtension(
EditGroupDivisionDescriptorExtension.class.getName(), extension);
return descriptor;
}
}