<commit_before>/*
 * Copyright 2013 Red Hat, Inc. and/or its affiliates.
 *
 * Licensed under the Eclipse Public License version 1.0, available at
 * http://www.eclipse.org/legal/epl-v10.html
 */

package org.jboss.forge.addon.ui.metadata;

import java.lang.annotation.ElementType;
import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
import java.lang.annotation.Target;

import org.jboss.forge.addon.ui.hints.InputType;
import org.jboss.forge.addon.ui.input.InputComponent;

/**
 * Allows configuration of {@link InputComponent} injected fields
 * 
 * @author <a href="mailto:<EMAIL>"><NAME></a>
 * 
 */
@Retention(RetentionPolicy.RUNTIME)
@Target({ ElementType.FIELD, ElementType.PARAMETER })
public @interface WithAttributes
{
   /**
    * The label of this input
    */
   String label();
   
   char shortName() default ' ';

   /**
    * Is this input required?
    */
   boolean required() default false;

   /**
    * The required message for this input
    */
   String requiredMessage() default "";

   /**
    * The description for this input
    */
   String description() default "";

   /**
    * Is this input enabled?
    */
   boolean enabled() default true;<commit_msg>FORGE-1122: Using constant in InputComponents<commit_after>/*
 * Copyright 2013 Red Hat, Inc. and/or its affiliates.
 *
 * Licensed under the Eclipse Public License version 1.0, available at
 * http://www.eclipse.org/legal/epl-v10.html
 */

package org.jboss.forge.addon.ui.metadata;

import java.lang.annotation.ElementType;
import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
import java.lang.annotation.Target;

import org.jboss.forge.addon.ui.hints.InputType;
import org.jboss.forge.addon.ui.input.InputComponent;
import org.jboss.forge.addon.ui.util.InputComponents;

/**
 * Allows configuration of {@link InputComponent} injected fields
 * 
 * @author <a href="mailto:<EMAIL>"><NAME></a>
 * 
 */
@Retention(RetentionPolicy.RUNTIME)
@Target({ ElementType.FIELD, ElementType.PARAMETER })
public @interface WithAttributes
{
   /**
    * The label of this input
    */
   String label();

   char shortName() default InputComponents.DEFAULT_SHORT_NAME;

   /**
    * Is this input required?
    */
   boolean required() default false;

   /**
    * The required message for this input
    */
   String requiredMessage() default "";

   /**
    * The description for this input
    */
   String description() default "";

   /**
    * Is this input enabled?
    */
   boolean enabled() default true;
{'fraction_non_alphanumeric': 0.12705882352941175, 'fraction_numerical': 0.00784313725490196, 'mean_word_length': 3.4520069808027922, 'pattern_counts': {'":': 0, '<': 11, '<?xml version=': 0, '>': 11, 'https://': 0, 'lorem ipsum': 0, 'www.': 2, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '6543370', 'n_tokens_mistral': 798, 'n_tokens_neox': 754, 'n_words': 194}