package formdata.shared.ui.template.formfield.replace.levels;

import java.util.List;

import javax.annotation.Generated;

import org.eclipse.scout.rt.shared.data.form.fields.AbstractValueFieldData;

/**
 * <b>NOTE:</b><br>
 * This class is auto generated by the Scout SDK. No manual modifications recommended.
 *
 * @generated
 */
@Generated(value = "org.eclipse.scout.sdk.workspace.dto.formdata.FormDataDtoUpdateOperation", comments = "This class is auto generated by the Scout SDK. No manual modifications recommended.")
public abstract class AbstractTemplateFieldData<T> extends AbstractValueFieldData<List<T>> {

  private static final long serialVersionUID = -1551979337783469107L;
}
