Atributo FILE2 (Expresión común)
- Última actualización2022/05/19
Atributo FILE2 (Expresión común)
Las expresiones comunes (RegEx) son patrones de cadena definidos para buscar un archivo en una ruta especificada. Use el FILE2
cuando utilice expresiones comunes (regex) para crear patrones de cadenas.
Por ejemplo: Si desea buscar un archivo en una ruta de carpeta (por ejemplo Hello.txt
) que contenga una determinada cadena. . Usará File2
para ingresar el siguiente patrón de expresiones comunes: Hell
o ell
encontrarán el archivo que coincida con los criterios de búsqueda. Este tema se basa en la muestra File2TypeDemo disponible dentro del Paquete SDK en la siguiente ubicación <PackageSDK>\src\main\java\com\automationanywhere\botcommand\samples\commands\basic\types\File2TypeDemo.java.
Uso de FILE2
- Asegúrese de que importó los siguientes paquetes para garantizar que todas las funcionalidades funcionan como se describe en el ejemplo.
import com.automationanywhere.commandsdk.annotations.*; import com.automationanywhere.commandsdk.model.AttributeType; import org.apache.logging.log4j.LogManager; import org.apache.logging.log4j.Logger;
- Agregue la anotación
@BotCommand
para hacer una clase como una Acción en Control Room. Para obtener más información sobre anotaciones, consulte Anotaciones.@BotCommand
- Agregue la anotación
@CommandPkg
para definir todos los componentes relacionados con la interfaz de usuario: etiquetas, descripción, ícono, tipo de retorno y nombre.@CommandPkg(label = "[[File2TypeDemo.label]]", description = "[[File2TypeDemo.description]]", icon = "sample.svg", name = "file2TypeDemo")
- Cree un método (Por ejemplo: regexFile) dentro de su clase y defina los campos como se describe a continuación.
- Anote el método con
@Execute
para ejecutar el método durante la compilación. - En la siguiente muestra,
@Idx
,@Pkg
y@NotEmpty
se definen como parámetros del método. Si se utilizan como miembro de la clase, entonces se debe usarset
yget
para definirlos.@Idx
: Define el índice de una acción. (@Idx(index = "1", type = AttributeType.FILE2)
)@Pkg
: Define todos los parámetros y variables miembro que aparecen en la interfaz (@Pkg(label = "[[File2TypeDemo.localFile.label]]")
). Debe ir acompañado de la etiqueta@Idx
, si no es así, se ignora esta anotación.@NotEmpty
: Define que este parámetro no puede estar vacío (@NotEmpty @LocalFile FileValue fileValue)
).@BotCommand @CommandPkg(label = "[[File2TypeDemo.label]]", description = "[[File2TypeDemo.description]]", icon = "sample.svg", name = "file2TypeDemo") public class File2TypeDemo { private static Logger logger = LogManager.getLogger(File2TypeDemo.class); @Execute public void regexFile( @Idx(index = "1", type = AttributeType.FILE2) @Pkg(label = "[[File2TypeDemo.localFile.label]]") @NotEmpty @LocalFile FileValue fileValue)
- Anote el método con
- Cree y cargue el paquete personalizado en Control Room. Para obtener más información sobre cómo cargar el paquete, consulte Uso del paquete SDK.
- Cree un bot.
- Arrastre la acción al lienzo y podrá ingresar la expresión común para encontrar un archivo. Verá un cuadro de entrada similar a esta imagen.
Imprimir la expresión común: nombre de la carpeta y la ubicación del archivo
Use la interfaz Registrador obtenida del paquete Log4j para proporcionar información de los objetos que se están manipulando. En la siguiente muestra, podrá registrar el nombre de la carpeta y la ubicación del archivo local mediante el método debug
.
@BotCommand
@CommandPkg(label = "[[File2TypeDemo.label]]",
description = "[[File2TypeDemo.description]]", icon = "sample.svg", name = "file2TypeDemo")
public class File2TypeDemo {
private static Logger logger = LogManager.getLogger(File2TypeDemo.class);
@Execute
public void regexFile(
@Idx(index = "1", type = AttributeType.FILE2) @Pkg(label = "[[File2TypeDemo.localFile.label]]") @NotEmpty @LocalFile FileValue fileValue) {
if (fileValue.isRegex()) {
RegexFile regexFile = fileValue.getRegex();
logger.debug("folder name {}", regexFile.getFolder());
logger.debug("local file location {}", regexFile.getFileNamePattern().toString());
} else {
logger.debug("Regex option is not selected");
}
}