[{"data":1,"prerenderedAt":4430},["ShallowReactive",2],{"navigation_docs":3,"-ejemplos-ejemplo-05":412,"-ejemplos-ejemplo-05-surround":4425},[4,18,43,118,160,200,231,320,346],{"title":5,"path":6,"stem":7,"children":8,"icon":17},"Evaluación","\u002Fintroduction","1.introduction\u002F1.index",[9,12],{"title":10,"path":6,"stem":7,"icon":11},"Método de Evaluación","i-iconamoon-cheque-bold",{"title":13,"path":14,"stem":15,"icon":16},"Plataforma de Aprendizaje","\u002Fintroduction\u002Fplataforma","1.introduction\u002F2.plataforma","i-lucide-book-marked","i-lucide-house",{"title":19,"icon":20,"path":21,"stem":22,"children":23,"page":42},"Entorno de desarrollo","i-codicon-edit-code","\u002Fide","2.ide",[24,28,33,37],{"title":25,"path":26,"stem":27,"icon":20},"¿Qué es un IDE?","\u002Fide\u002Fentorno","2.ide\u002F1.entorno",{"title":29,"path":30,"stem":31,"icon":32},"Estructura de un Proyecto","\u002Fide\u002Festructura","2.ide\u002F2.estructura","i-clarity-tree-view-line",{"title":34,"path":35,"stem":36,"icon":20},"La compilación en un IDE","\u002Fide\u002Fcompilacion","2.ide\u002F3.compilacion",{"title":38,"path":39,"stem":40,"icon":41},"Depuración de Código","\u002Fide\u002Fdepurar","2.ide\u002F4.depurar","i-lucide-bug",false,{"title":44,"icon":45,"path":46,"stem":47,"children":48,"page":42},"Clases y Objetos","i-catppuccin-java-class","\u002Fclases-objetos","3.clases-objetos",[49,53,57,62,66,70,74,78,83,88,92,96,101,106,110,114],{"title":50,"path":51,"stem":52},"Repaso previo a Clases y Objetos","\u002Fclases-objetos\u002Fpreview","3.clases-objetos\u002F00.preview",{"title":54,"path":55,"stem":56,"icon":45},"¿Qué es la Programación Orientada a Objetos (POO)?","\u002Fclases-objetos\u002Fpoo","3.clases-objetos\u002F01.poo",{"title":58,"path":59,"stem":60,"icon":61},"Diagramas de Clases y Objetos","\u002Fclases-objetos\u002Fdiagramas","3.clases-objetos\u002F02.diagramas","i-devicon-uml",{"title":63,"path":64,"stem":65,"icon":45},"Las Clases","\u002Fclases-objetos\u002Fclases","3.clases-objetos\u002F03.clases",{"title":67,"path":68,"stem":69,"icon":45},"Ámbito y Visibilidad","\u002Fclases-objetos\u002Fambito","3.clases-objetos\u002F04.ambito",{"title":71,"path":72,"stem":73,"icon":45},"Declaración e Instanciación de Objetos","\u002Fclases-objetos\u002Fobjetos","3.clases-objetos\u002F05.objetos",{"title":75,"path":76,"stem":77,"icon":45},"Clases Predefinidas en Java","\u002Fclases-objetos\u002Fpredefinidas","3.clases-objetos\u002F06.predefinidas",{"title":79,"path":80,"stem":81,"icon":82},"Paquetes en Java","\u002Fclases-objetos\u002Fpaquetes","3.clases-objetos\u002F07.paquetes","i-material-icon-theme-folder-java-open",{"title":84,"path":85,"stem":86,"icon":87},"Las Excepciones","\u002Fclases-objetos\u002Fexcepciones","3.clases-objetos\u002F08.excepciones","i-catppuccin-java-exception",{"title":89,"path":90,"stem":91,"icon":45},"La clase JOptionPane","\u002Fclases-objetos\u002Fjoptionpane","3.clases-objetos\u002F09.joptionpane",{"title":93,"path":94,"stem":95,"icon":45},"Constructores y Accesores","\u002Fclases-objetos\u002Fconstructores","3.clases-objetos\u002F10.constructores",{"title":97,"path":98,"stem":99,"icon":100},"Tipos Enumerados (Enums)","\u002Fclases-objetos\u002Fenumerados","3.clases-objetos\u002F11.enumerados","i-catppuccin-java-enum",{"title":102,"path":103,"stem":104,"icon":105},"Modificadores de acceso static y final","\u002Fclases-objetos\u002Fmodificadores","3.clases-objetos\u002F12.modificadores","i-mdi-chart-box",{"title":107,"path":108,"stem":109,"icon":105},"El casting en Java","\u002Fclases-objetos\u002Fcasting","3.clases-objetos\u002F13.casting",{"title":111,"path":112,"stem":113},"Las Expresiones Regulares","\u002Fclases-objetos\u002Fexpresiones-regulares","3.clases-objetos\u002F14.expresiones-regulares",{"title":115,"path":116,"stem":117,"icon":105},"Clases Genéricas en Java","\u002Fclases-objetos\u002Fclases-genericas","3.clases-objetos\u002F15.clases-genericas",{"title":119,"icon":120,"path":121,"stem":122,"children":123,"page":42},"Funciones (Métodos)","i-material-symbols-function","\u002Fmetodos","4.metodos",[124,128,132,136,140,144,148,152,156],{"title":125,"path":126,"stem":127},"Funciones Genéricas","\u002Fmetodos\u002Ffuncion-generica","4.metodos\u002F01.funcion-generica",{"title":129,"path":130,"stem":131},"Métodos de Instancia y de Clase","\u002Fmetodos\u002Finstancia-clase","4.metodos\u002F02.instancia-clase",{"title":133,"path":134,"stem":135},"Sobrecarga de Funciones","\u002Fmetodos\u002Fsobrecarga","4.metodos\u002F03.sobrecarga",{"title":137,"path":138,"stem":139},"Alcance de Variables y Métodos","\u002Fmetodos\u002Falcance","4.metodos\u002F04.alcance",{"title":141,"path":142,"stem":143},"Recursividad","\u002Fmetodos\u002Frecursividad","4.metodos\u002F05.recursividad",{"title":145,"path":146,"stem":147},"Puntero this","\u002Fmetodos\u002Fthis","4.metodos\u002F06.this",{"title":149,"path":150,"stem":151},"Los argumentos variables (varargs)","\u002Fmetodos\u002Fvarargs","4.metodos\u002F07.varargs",{"title":153,"path":154,"stem":155},"La clase Arrays","\u002Fmetodos\u002Farrays","4.metodos\u002F08.arrays",{"title":157,"path":158,"stem":159},"Predicados Simples y Compuestos en Java","\u002Fmetodos\u002Fpredicados","4.metodos\u002F09.predicados",{"title":161,"path":162,"stem":163,"children":164,"icon":199},"Herencia","\u002Fherencia","5.herencia\u002F01.index",[165,167,171,175,179,183,187,191,195],{"title":166,"path":162,"stem":163},"¿Qué es la herencia?",{"title":168,"path":169,"stem":170},"Sobreescritura de métodos y uso de `super`","\u002Fherencia\u002Fsobeescritura","5.herencia\u002F02.sobeescritura",{"title":172,"path":173,"stem":174},"Tipos de herencia","\u002Fherencia\u002Ftipos-herencia","5.herencia\u002F03.tipos-herencia",{"title":176,"path":177,"stem":178},"La clase Object en Java","\u002Fherencia\u002Fobject","5.herencia\u002F04.object",{"title":180,"path":181,"stem":182},"Polimorfismo","\u002Fherencia\u002Fpolimorfismo","5.herencia\u002F05.polimorfismo",{"title":184,"path":185,"stem":186},"Clases y Funciones Abstractas","\u002Fherencia\u002Fabstract","5.herencia\u002F06.abstract",{"title":188,"path":189,"stem":190},"Interfaces","\u002Fherencia\u002Finterfaces","5.herencia\u002F07.interfaces",{"title":192,"path":193,"stem":194},"Funciones e Interfaces","\u002Fherencia\u002Ffunciones-interfaces","5.herencia\u002F08.funciones-interfaces",{"title":196,"path":197,"stem":198},"Interfaces y Funciones Lambda","\u002Fherencia\u002Flambda-interface","5.herencia\u002F09.lambda-interface","i-material-symbols-heritage",{"title":201,"path":202,"stem":203,"children":204,"icon":199},"Arreglos","\u002Farreglos","6.arreglos\u002F01.index",[205,207,211,215,219,223,227],{"title":206,"path":202,"stem":203},"Los arreglos en Java",{"title":208,"path":209,"stem":210},"Los arreglos","\u002Farreglos\u002Farray","6.arreglos\u002F02.array",{"title":212,"path":213,"stem":214},"Matrices","\u002Farreglos\u002Fmatrices","6.arreglos\u002F03.matrices",{"title":216,"path":217,"stem":218},"Comparadores","\u002Farreglos\u002Fcomparator","6.arreglos\u002F04.comparator",{"title":220,"path":221,"stem":222},"Arreglos dinámicos: ArrayList","\u002Farreglos\u002Farraylist","6.arreglos\u002F05.arraylist",{"title":224,"path":225,"stem":226},"Arreglos Relacionales: HashMap","\u002Farreglos\u002Fhashmap","6.arreglos\u002F06.hashmap",{"title":228,"path":229,"stem":230},"La clase Stream en Java","\u002Farreglos\u002Fstream","6.arreglos\u002F07.stream",{"title":232,"icon":199,"path":233,"stem":234,"children":235,"page":42},"Archivos e Interfaz de Usuario","\u002Farchivos-ui","7.archivos-ui",[236,240,244,248,252,256,260,264,268,272,276,280,284,288,292,296,300,304,308,312,316],{"title":237,"path":238,"stem":239},"El paquete Swing","\u002Farchivos-ui\u002Fswing","7.archivos-ui\u002F01.swing",{"title":241,"path":242,"stem":243},"La clase JFrame y el JPanel","\u002Farchivos-ui\u002Fjpanel","7.archivos-ui\u002F02.jpanel",{"title":245,"path":246,"stem":247},"Los Layouts en Swing","\u002Farchivos-ui\u002Flayout","7.archivos-ui\u002F03.layout",{"title":249,"path":250,"stem":251},"Iniciando con Swing","\u002Farchivos-ui\u002Finiciando","7.archivos-ui\u002F04.iniciando",{"title":253,"path":254,"stem":255},"Las clases Color y Font en Swing","\u002Farchivos-ui\u002Fcolor-font","7.archivos-ui\u002F05.color-font",{"title":257,"path":258,"stem":259},"Etiquetas en Swing","\u002Farchivos-ui\u002Fetiquetas","7.archivos-ui\u002F06.etiquetas",{"title":261,"path":262,"stem":263},"Personalizando la apariencia de los componentes en Swing","\u002Farchivos-ui\u002Fpersonalizando","7.archivos-ui\u002F07.personalizando",{"title":265,"path":266,"stem":267},"Sobrescribiendo el método drawComponent() en Swing","\u002Farchivos-ui\u002Fdraw","7.archivos-ui\u002F08.draw",{"title":269,"path":270,"stem":271},"Manejando eventos en Swing","\u002Farchivos-ui\u002Feventos","7.archivos-ui\u002F09.eventos",{"title":273,"path":274,"stem":275},"Personalización de Componentes mediante la Extensión de Clases en Swing","\u002Farchivos-ui\u002Fextends-component","7.archivos-ui\u002F10.extends-component",{"title":277,"path":278,"stem":279},"Gradientes","\u002Farchivos-ui\u002Fgradientes","7.archivos-ui\u002F11.gradientes",{"title":281,"path":282,"stem":283},"Botones en Swing","\u002Farchivos-ui\u002Fbotones","7.archivos-ui\u002F12.botones",{"title":285,"path":286,"stem":287},"Los delegadores en Swing","\u002Farchivos-ui\u002Fdelegadores","7.archivos-ui\u002F13.delegadores",{"title":289,"path":290,"stem":291},"UI para nuestro RPG: Parte 1","\u002Farchivos-ui\u002Frpg-ui-1","7.archivos-ui\u002F14.rpg-ui-1",{"title":293,"path":294,"stem":295},"UI para nuestro RPG: Parte 2","\u002Farchivos-ui\u002Frpg-ui-2","7.archivos-ui\u002F15.rpg-ui-2",{"title":297,"path":298,"stem":299},"Los Streams Entrada y Salida","\u002Farchivos-ui\u002Fstreams","7.archivos-ui\u002F16.streams",{"title":301,"path":302,"stem":303},"Archivo tipo Objeto","\u002Farchivos-ui\u002Farchivo-objeto","7.archivos-ui\u002F17.archivo-objeto",{"title":305,"path":306,"stem":307},"UI para nuestro RPG: Parte 3","\u002Farchivos-ui\u002Frpg-ui-3","7.archivos-ui\u002F18.rpg-ui-3",{"title":309,"path":310,"stem":311},"UI para nuestro RPG: Parte 4","\u002Farchivos-ui\u002Frpg-ui-4","7.archivos-ui\u002F19.rpg-ui-4",{"title":313,"path":314,"stem":315},"UI para nuestro RPG: Parte 5","\u002Farchivos-ui\u002Frpg-ui-5","7.archivos-ui\u002F20.rpg-ui-5",{"title":317,"path":318,"stem":319},"UI para nuestro RPG: Parte 6","\u002Farchivos-ui\u002Frpg-ui-6","7.archivos-ui\u002F21.rpg-ui-6",{"title":321,"icon":322,"path":323,"stem":324,"children":325,"page":42},"Ejemplos","i-check-circle","\u002Fejemplos","8.ejemplos",[326,330,334,338,342],{"title":327,"path":328,"stem":329,"icon":105},"Ejemplo 1: Validando entradas con JOptionPane","\u002Fejemplos\u002Fejemplo-01","8.ejemplos\u002F01.ejemplo-01",{"title":331,"path":332,"stem":333},"Ejemplo 02: Uso de clases genéricas en Java","\u002Fejemplos\u002Fejemplo-02","8.ejemplos\u002F02.ejemplo-02",{"title":335,"path":336,"stem":337},"Ejemplo 03: Uso de Enum, Excepciones en Java","\u002Fejemplos\u002Fejemplo-03","8.ejemplos\u002F03.ejemplo-03",{"title":339,"path":340,"stem":341},"Ejemplo 4: Clase con funciones genéricas de validación","\u002Fejemplos\u002Fejemplo-04","8.ejemplos\u002F04.ejemplo-04",{"title":343,"path":344,"stem":345},"Ejemplo 5: Sistema de Gestión de Empleados","\u002Fejemplos\u002Fejemplo-05","8.ejemplos\u002F05.ejemplo-05",{"title":347,"icon":322,"path":348,"stem":349,"children":350,"page":42},"Actividades","\u002Factividades","9.actividades",[351,355,360,364,368,372,376,380,384,388,392,396,400,404,408],{"title":352,"path":353,"stem":354,"icon":105},"Actividad 1: Infografía sobre el proceso de compilación","\u002Factividades\u002Fact-01","9.actividades\u002F01.act-01",{"title":356,"path":357,"stem":358,"icon":359},"Actividad 2: Modelando Diagramas de Clases UML","\u002Factividades\u002Fact-02","9.actividades\u002F02.act-02","i-material-icon-theme-uml",{"title":361,"path":362,"stem":363,"icon":45},"Actividad 3: Creando Clases y Objetos en Java","\u002Factividades\u002Fact-03","9.actividades\u002F03.act-03",{"title":365,"path":366,"stem":367},"Actividad 4: Validando entradas de datos","\u002Factividades\u002Fact-04","9.actividades\u002F04.act-04",{"title":369,"path":370,"stem":371,"icon":105},"Actividad 5: Implementando una clase genérica","\u002Factividades\u002Fact-05","9.actividades\u002F05.act-05",{"title":373,"path":374,"stem":375,"icon":105},"Actividad 6: Expandiendo InputValidator con Predicados y Function","\u002Factividades\u002Fact-06","9.actividades\u002F06.act-06",{"title":377,"path":378,"stem":379,"icon":105},"Actividad 7: Gestor de Biblioteca con InputValidator","\u002Factividades\u002Fact-07","9.actividades\u002F07.act-07",{"title":381,"path":382,"stem":383,"icon":105},"Actividad 8: Calculadora de Figuras Geométricas","\u002Factividades\u002Fact-08","9.actividades\u002F08.act-08",{"title":385,"path":386,"stem":387,"icon":105},"Actividad 9: gestión de una empresa agroalimentaria","\u002Factividades\u002Fact-09","9.actividades\u002F09.act-09",{"title":389,"path":390,"stem":391,"icon":105},"Actividad 10: Sistema de gestión de clínicas veterinarias","\u002Factividades\u002Fact-10","9.actividades\u002F10.act-10",{"title":393,"path":394,"stem":395},"Definición de Proyecto Evolutivo","\u002Factividades\u002Frpg","9.actividades\u002F11.rpg",{"title":397,"path":398,"stem":399},"Actividad 11: Creación de Personajes","\u002Factividades\u002Fact-11","9.actividades\u002F12.act-11",{"title":401,"path":402,"stem":403},"Actividad 12: El Inventario y los Objetos","\u002Factividades\u002Fact-12","9.actividades\u002F13.act-12",{"title":405,"path":406,"stem":407},"Actividad 13: El combate por turnos","\u002Factividades\u002Fact-13","9.actividades\u002F14.act-13",{"title":409,"path":410,"stem":411},"Actividad 14: Guardando y Cargando","\u002Factividades\u002Fact-14","9.actividades\u002F15.act-14",{"id":413,"title":343,"body":414,"description":4419,"extension":4420,"links":4421,"meta":4422,"navigation":498,"path":344,"seo":4423,"stem":345,"__hash__":4424},"docs\u002F8.ejemplos\u002F05.ejemplo-05.md",{"type":415,"value":416,"toc":4400},"minimark",[417,422,432,436,440,448,451,459,463,471,905,912,1446,1452,1831,1838,2020,2026,2263,2269,4386,4390,4396],[418,419,421],"h2",{"id":420},"conceptos-clave","Conceptos clave",[423,424,425,429],"ul",{},[426,427,428],"li",{},"Herencia: Permite que una clase (hija) herede atributos y métodos de otra clase (padre). Así podemos reutilizar código y establecer relaciones \"es-un\".",[426,430,431],{},"Sobrecarga: Consiste en definir varios métodos con el mismo nombre pero diferentes parámetros (tipo, número o ambos). Se resuelve en tiempo de compilación.",[418,433,435],{"id":434},"descripción-del-problema","Descripción del problema",[437,438,439],"p",{},"Tenemos dos tipos principales de empleados:",[423,441,442,445],{},[426,443,444],{},"Empleado a tiempo completo: Tiene un salario mensual fijo.",[426,446,447],{},"Empleado por horas: Se le paga según las horas trabajadas y una tarifa por hora.",[437,449,450],{},"Ambos comparten datos básicos: nombre, ID y departamento. Además, necesitamos calcular su pago, pero de forma distinta. También queremos flexibilidad para calcular pagos considerando horas extra o bonos.",[437,452,453,454,458],{},"Así mismo deberá de contar con un menú de interacción para agregar empleados, mostrar su información y calcular su pago, además de validar los datos ingresados por el usuario utilizando ",[455,456,457],"code",{},"JOptionPane",".",[418,460,462],{"id":461},"implementación","Implementación",[464,465,467,468],"h3",{"id":466},"clase-base-emplployee","Clase base ",[455,469,470],{},"Emplployee",[472,473,478],"pre",{"className":474,"code":475,"language":476,"meta":477,"style":477},"language-java shiki shiki-themes github-dark","package app.empresa;\n\npublic abstract class Employee {\n\n    private static int ID = 1;\n    protected final int idEmployee;\n    protected String name;\n    protected Department department;\n\n    public Employee(String name, Department department) {\n        this.idEmployee = ID++;\n        this.name = name;\n        this.department = department;\n    }\n\n    public abstract double getSalary();\n\n    public int getIdEmployee() {\n        return idEmployee;\n    }\n\n    public String getName() {\n        return name;\n    }\n\n    public Department getDepartment() {\n        return department;\n    }\n\n    public void setDepartment(Department department) {\n        this.department = department;\n    }\n\n    public void setName(String name) {\n        this.name = name;\n    }\n\n    @Override\n    public String toString() {\n        return String.format(\"ID: %d, Nombre: %s\", idEmployee, name);\n    }\n}\n","java","",[455,479,480,493,500,519,524,549,563,571,579,584,608,627,640,653,659,664,680,685,698,706,711,716,729,736,741,746,759,766,771,776,794,805,810,815,831,842,847,852,861,873,894,899],{"__ignoreMap":477},[481,482,485,489],"span",{"class":483,"line":484},"line",1,[481,486,488],{"class":487},"snl16","package",[481,490,492],{"class":491},"s95oV"," app.empresa;\n",[481,494,496],{"class":483,"line":495},2,[481,497,499],{"emptyLinePlaceholder":498},true,"\n",[481,501,503,506,509,512,516],{"class":483,"line":502},3,[481,504,505],{"class":487},"public",[481,507,508],{"class":487}," abstract",[481,510,511],{"class":487}," class",[481,513,515],{"class":514},"svObZ"," Employee",[481,517,518],{"class":491}," {\n",[481,520,522],{"class":483,"line":521},4,[481,523,499],{"emptyLinePlaceholder":498},[481,525,527,530,533,536,539,542,546],{"class":483,"line":526},5,[481,528,529],{"class":487},"    private",[481,531,532],{"class":487}," static",[481,534,535],{"class":487}," int",[481,537,538],{"class":491}," ID ",[481,540,541],{"class":487},"=",[481,543,545],{"class":544},"sDLfK"," 1",[481,547,548],{"class":491},";\n",[481,550,552,555,558,560],{"class":483,"line":551},6,[481,553,554],{"class":487},"    protected",[481,556,557],{"class":487}," final",[481,559,535],{"class":487},[481,561,562],{"class":491}," idEmployee;\n",[481,564,566,568],{"class":483,"line":565},7,[481,567,554],{"class":487},[481,569,570],{"class":491}," String name;\n",[481,572,574,576],{"class":483,"line":573},8,[481,575,554],{"class":487},[481,577,578],{"class":491}," Department department;\n",[481,580,582],{"class":483,"line":581},9,[481,583,499],{"emptyLinePlaceholder":498},[481,585,587,590,592,595,599,602,605],{"class":483,"line":586},10,[481,588,589],{"class":487},"    public",[481,591,515],{"class":514},[481,593,594],{"class":491},"(String ",[481,596,598],{"class":597},"s9osk","name",[481,600,601],{"class":491},", Department ",[481,603,604],{"class":597},"department",[481,606,607],{"class":491},") {\n",[481,609,611,614,617,619,622,625],{"class":483,"line":610},11,[481,612,613],{"class":544},"        this",[481,615,616],{"class":491},".idEmployee ",[481,618,541],{"class":487},[481,620,621],{"class":491}," ID",[481,623,624],{"class":487},"++",[481,626,548],{"class":491},[481,628,630,632,635,637],{"class":483,"line":629},12,[481,631,613],{"class":544},[481,633,634],{"class":491},".name ",[481,636,541],{"class":487},[481,638,639],{"class":491}," name;\n",[481,641,643,645,648,650],{"class":483,"line":642},13,[481,644,613],{"class":544},[481,646,647],{"class":491},".department ",[481,649,541],{"class":487},[481,651,652],{"class":491}," department;\n",[481,654,656],{"class":483,"line":655},14,[481,657,658],{"class":491},"    }\n",[481,660,662],{"class":483,"line":661},15,[481,663,499],{"emptyLinePlaceholder":498},[481,665,667,669,671,674,677],{"class":483,"line":666},16,[481,668,589],{"class":487},[481,670,508],{"class":487},[481,672,673],{"class":487}," double",[481,675,676],{"class":514}," getSalary",[481,678,679],{"class":491},"();\n",[481,681,683],{"class":483,"line":682},17,[481,684,499],{"emptyLinePlaceholder":498},[481,686,688,690,692,695],{"class":483,"line":687},18,[481,689,589],{"class":487},[481,691,535],{"class":487},[481,693,694],{"class":514}," getIdEmployee",[481,696,697],{"class":491},"() {\n",[481,699,701,704],{"class":483,"line":700},19,[481,702,703],{"class":487},"        return",[481,705,562],{"class":491},[481,707,709],{"class":483,"line":708},20,[481,710,658],{"class":491},[481,712,714],{"class":483,"line":713},21,[481,715,499],{"emptyLinePlaceholder":498},[481,717,719,721,724,727],{"class":483,"line":718},22,[481,720,589],{"class":487},[481,722,723],{"class":491}," String ",[481,725,726],{"class":514},"getName",[481,728,697],{"class":491},[481,730,732,734],{"class":483,"line":731},23,[481,733,703],{"class":487},[481,735,639],{"class":491},[481,737,739],{"class":483,"line":738},24,[481,740,658],{"class":491},[481,742,744],{"class":483,"line":743},25,[481,745,499],{"emptyLinePlaceholder":498},[481,747,749,751,754,757],{"class":483,"line":748},26,[481,750,589],{"class":487},[481,752,753],{"class":491}," Department ",[481,755,756],{"class":514},"getDepartment",[481,758,697],{"class":491},[481,760,762,764],{"class":483,"line":761},27,[481,763,703],{"class":487},[481,765,652],{"class":491},[481,767,769],{"class":483,"line":768},28,[481,770,658],{"class":491},[481,772,774],{"class":483,"line":773},29,[481,775,499],{"emptyLinePlaceholder":498},[481,777,779,781,784,787,790,792],{"class":483,"line":778},30,[481,780,589],{"class":487},[481,782,783],{"class":487}," void",[481,785,786],{"class":514}," setDepartment",[481,788,789],{"class":491},"(Department ",[481,791,604],{"class":597},[481,793,607],{"class":491},[481,795,797,799,801,803],{"class":483,"line":796},31,[481,798,613],{"class":544},[481,800,647],{"class":491},[481,802,541],{"class":487},[481,804,652],{"class":491},[481,806,808],{"class":483,"line":807},32,[481,809,658],{"class":491},[481,811,813],{"class":483,"line":812},33,[481,814,499],{"emptyLinePlaceholder":498},[481,816,818,820,822,825,827,829],{"class":483,"line":817},34,[481,819,589],{"class":487},[481,821,783],{"class":487},[481,823,824],{"class":514}," setName",[481,826,594],{"class":491},[481,828,598],{"class":597},[481,830,607],{"class":491},[481,832,834,836,838,840],{"class":483,"line":833},35,[481,835,613],{"class":544},[481,837,634],{"class":491},[481,839,541],{"class":487},[481,841,639],{"class":491},[481,843,845],{"class":483,"line":844},36,[481,846,658],{"class":491},[481,848,850],{"class":483,"line":849},37,[481,851,499],{"emptyLinePlaceholder":498},[481,853,855,858],{"class":483,"line":854},38,[481,856,857],{"class":491},"    @",[481,859,860],{"class":487},"Override\n",[481,862,864,866,868,871],{"class":483,"line":863},39,[481,865,589],{"class":487},[481,867,723],{"class":491},[481,869,870],{"class":514},"toString",[481,872,697],{"class":491},[481,874,876,878,881,884,887,891],{"class":483,"line":875},40,[481,877,703],{"class":487},[481,879,880],{"class":491}," String.",[481,882,883],{"class":514},"format",[481,885,886],{"class":491},"(",[481,888,890],{"class":889},"sU2Wk","\"ID: %d, Nombre: %s\"",[481,892,893],{"class":491},", idEmployee, name);\n",[481,895,897],{"class":483,"line":896},41,[481,898,658],{"class":491},[481,900,902],{"class":483,"line":901},42,[481,903,904],{"class":491},"}\n",[464,906,908,909],{"id":907},"clase-fulltimeemployee","Clase ",[455,910,911],{},"FullTimeEmployee",[472,913,915],{"className":474,"code":914,"language":476,"meta":477,"style":477},"package app.empresa;\n\nimport java.util.Arrays;\nimport java.util.stream.IntStream;\n\npublic class FullTimeEmployee extends Employee {\n\n    private final double salary;\n    private final double[] benefits;\n\n    public FullTimeEmployee(String name, Department department, double salary) {\n        super(name, department);\n        this.salary = salary;\n        this.benefits = new double[5];\n    }\n\n    public void addBenefit(double benefit) {\n\n        IntStream.range(0, benefits.length).filter(i -> benefits[i] == 0).findFirst().ifPresent(i -> benefits[i] = benefit);\n    }\n\n    public void deleteBenefit(double benefit) {\n\n        IntStream.range(0, benefits.length).filter(i -> benefits[i] == benefit).findFirst().ifPresent(i -> benefits[i] = 0);\n    }\n\n    @Override\n    public double getSalary() {\n\n        double finalSalary = salary;\n        finalSalary += Arrays.stream(benefits).sum();\n        return finalSalary;\n    }\n\n    public boolean isBenefitsFull() {\n        return Arrays.stream(benefits).allMatch(b -> b > 0);\n    }\n\n    public boolean hasBenefits() {\n        return Arrays.stream(benefits).anyMatch(b -> b > 0);\n    }\n\n    public Double[] getBenefits() {\n        return Arrays.stream(benefits).boxed().toArray(Double[]::new);\n    }\n}\n",[455,916,917,923,927,935,942,946,962,966,977,988,992,1017,1025,1036,1059,1063,1067,1085,1089,1146,1150,1154,1171,1175,1219,1223,1227,1233,1243,1247,1259,1281,1288,1292,1296,1308,1336,1340,1344,1355,1380,1384,1388,1404,1436,1441],{"__ignoreMap":477},[481,918,919,921],{"class":483,"line":484},[481,920,488],{"class":487},[481,922,492],{"class":491},[481,924,925],{"class":483,"line":495},[481,926,499],{"emptyLinePlaceholder":498},[481,928,929,932],{"class":483,"line":502},[481,930,931],{"class":487},"import",[481,933,934],{"class":491}," java.util.Arrays;\n",[481,936,937,939],{"class":483,"line":521},[481,938,931],{"class":487},[481,940,941],{"class":491}," java.util.stream.IntStream;\n",[481,943,944],{"class":483,"line":526},[481,945,499],{"emptyLinePlaceholder":498},[481,947,948,950,952,955,958,960],{"class":483,"line":551},[481,949,505],{"class":487},[481,951,511],{"class":487},[481,953,954],{"class":514}," FullTimeEmployee",[481,956,957],{"class":487}," extends",[481,959,515],{"class":514},[481,961,518],{"class":491},[481,963,964],{"class":483,"line":565},[481,965,499],{"emptyLinePlaceholder":498},[481,967,968,970,972,974],{"class":483,"line":573},[481,969,529],{"class":487},[481,971,557],{"class":487},[481,973,673],{"class":487},[481,975,976],{"class":491}," salary;\n",[481,978,979,981,983,985],{"class":483,"line":581},[481,980,529],{"class":487},[481,982,557],{"class":487},[481,984,673],{"class":487},[481,986,987],{"class":491},"[] benefits;\n",[481,989,990],{"class":483,"line":586},[481,991,499],{"emptyLinePlaceholder":498},[481,993,994,996,998,1000,1002,1004,1006,1009,1012,1015],{"class":483,"line":610},[481,995,589],{"class":487},[481,997,954],{"class":514},[481,999,594],{"class":491},[481,1001,598],{"class":597},[481,1003,601],{"class":491},[481,1005,604],{"class":597},[481,1007,1008],{"class":491},", ",[481,1010,1011],{"class":487},"double",[481,1013,1014],{"class":597}," salary",[481,1016,607],{"class":491},[481,1018,1019,1022],{"class":483,"line":629},[481,1020,1021],{"class":544},"        super",[481,1023,1024],{"class":491},"(name, department);\n",[481,1026,1027,1029,1032,1034],{"class":483,"line":642},[481,1028,613],{"class":544},[481,1030,1031],{"class":491},".salary ",[481,1033,541],{"class":487},[481,1035,976],{"class":491},[481,1037,1038,1040,1043,1045,1048,1050,1053,1056],{"class":483,"line":655},[481,1039,613],{"class":544},[481,1041,1042],{"class":491},".benefits ",[481,1044,541],{"class":487},[481,1046,1047],{"class":487}," new",[481,1049,673],{"class":487},[481,1051,1052],{"class":491},"[",[481,1054,1055],{"class":544},"5",[481,1057,1058],{"class":491},"];\n",[481,1060,1061],{"class":483,"line":661},[481,1062,658],{"class":491},[481,1064,1065],{"class":483,"line":666},[481,1066,499],{"emptyLinePlaceholder":498},[481,1068,1069,1071,1073,1076,1078,1080,1083],{"class":483,"line":682},[481,1070,589],{"class":487},[481,1072,783],{"class":487},[481,1074,1075],{"class":514}," addBenefit",[481,1077,886],{"class":491},[481,1079,1011],{"class":487},[481,1081,1082],{"class":597}," benefit",[481,1084,607],{"class":491},[481,1086,1087],{"class":483,"line":687},[481,1088,499],{"emptyLinePlaceholder":498},[481,1090,1091,1094,1097,1099,1102,1105,1108,1111,1114,1117,1120,1123,1126,1129,1132,1135,1137,1139,1141,1143],{"class":483,"line":700},[481,1092,1093],{"class":491},"        IntStream.",[481,1095,1096],{"class":514},"range",[481,1098,886],{"class":491},[481,1100,1101],{"class":544},"0",[481,1103,1104],{"class":491},", benefits.length).",[481,1106,1107],{"class":514},"filter",[481,1109,1110],{"class":491},"(i ",[481,1112,1113],{"class":487},"->",[481,1115,1116],{"class":491}," benefits[i] ",[481,1118,1119],{"class":487},"==",[481,1121,1122],{"class":544}," 0",[481,1124,1125],{"class":491},").",[481,1127,1128],{"class":514},"findFirst",[481,1130,1131],{"class":491},"().",[481,1133,1134],{"class":514},"ifPresent",[481,1136,1110],{"class":491},[481,1138,1113],{"class":487},[481,1140,1116],{"class":491},[481,1142,541],{"class":487},[481,1144,1145],{"class":491}," benefit);\n",[481,1147,1148],{"class":483,"line":708},[481,1149,658],{"class":491},[481,1151,1152],{"class":483,"line":713},[481,1153,499],{"emptyLinePlaceholder":498},[481,1155,1156,1158,1160,1163,1165,1167,1169],{"class":483,"line":718},[481,1157,589],{"class":487},[481,1159,783],{"class":487},[481,1161,1162],{"class":514}," deleteBenefit",[481,1164,886],{"class":491},[481,1166,1011],{"class":487},[481,1168,1082],{"class":597},[481,1170,607],{"class":491},[481,1172,1173],{"class":483,"line":731},[481,1174,499],{"emptyLinePlaceholder":498},[481,1176,1177,1179,1181,1183,1185,1187,1189,1191,1193,1195,1197,1200,1202,1204,1206,1208,1210,1212,1214,1216],{"class":483,"line":738},[481,1178,1093],{"class":491},[481,1180,1096],{"class":514},[481,1182,886],{"class":491},[481,1184,1101],{"class":544},[481,1186,1104],{"class":491},[481,1188,1107],{"class":514},[481,1190,1110],{"class":491},[481,1192,1113],{"class":487},[481,1194,1116],{"class":491},[481,1196,1119],{"class":487},[481,1198,1199],{"class":491}," benefit).",[481,1201,1128],{"class":514},[481,1203,1131],{"class":491},[481,1205,1134],{"class":514},[481,1207,1110],{"class":491},[481,1209,1113],{"class":487},[481,1211,1116],{"class":491},[481,1213,541],{"class":487},[481,1215,1122],{"class":544},[481,1217,1218],{"class":491},");\n",[481,1220,1221],{"class":483,"line":743},[481,1222,658],{"class":491},[481,1224,1225],{"class":483,"line":748},[481,1226,499],{"emptyLinePlaceholder":498},[481,1228,1229,1231],{"class":483,"line":761},[481,1230,857],{"class":491},[481,1232,860],{"class":487},[481,1234,1235,1237,1239,1241],{"class":483,"line":768},[481,1236,589],{"class":487},[481,1238,673],{"class":487},[481,1240,676],{"class":514},[481,1242,697],{"class":491},[481,1244,1245],{"class":483,"line":773},[481,1246,499],{"emptyLinePlaceholder":498},[481,1248,1249,1252,1255,1257],{"class":483,"line":778},[481,1250,1251],{"class":487},"        double",[481,1253,1254],{"class":491}," finalSalary ",[481,1256,541],{"class":487},[481,1258,976],{"class":491},[481,1260,1261,1264,1267,1270,1273,1276,1279],{"class":483,"line":796},[481,1262,1263],{"class":491},"        finalSalary ",[481,1265,1266],{"class":487},"+=",[481,1268,1269],{"class":491}," Arrays.",[481,1271,1272],{"class":514},"stream",[481,1274,1275],{"class":491},"(benefits).",[481,1277,1278],{"class":514},"sum",[481,1280,679],{"class":491},[481,1282,1283,1285],{"class":483,"line":807},[481,1284,703],{"class":487},[481,1286,1287],{"class":491}," finalSalary;\n",[481,1289,1290],{"class":483,"line":812},[481,1291,658],{"class":491},[481,1293,1294],{"class":483,"line":817},[481,1295,499],{"emptyLinePlaceholder":498},[481,1297,1298,1300,1303,1306],{"class":483,"line":833},[481,1299,589],{"class":487},[481,1301,1302],{"class":487}," boolean",[481,1304,1305],{"class":514}," isBenefitsFull",[481,1307,697],{"class":491},[481,1309,1310,1312,1314,1316,1318,1321,1324,1326,1329,1332,1334],{"class":483,"line":844},[481,1311,703],{"class":487},[481,1313,1269],{"class":491},[481,1315,1272],{"class":514},[481,1317,1275],{"class":491},[481,1319,1320],{"class":514},"allMatch",[481,1322,1323],{"class":491},"(b ",[481,1325,1113],{"class":487},[481,1327,1328],{"class":491}," b ",[481,1330,1331],{"class":487},">",[481,1333,1122],{"class":544},[481,1335,1218],{"class":491},[481,1337,1338],{"class":483,"line":849},[481,1339,658],{"class":491},[481,1341,1342],{"class":483,"line":854},[481,1343,499],{"emptyLinePlaceholder":498},[481,1345,1346,1348,1350,1353],{"class":483,"line":863},[481,1347,589],{"class":487},[481,1349,1302],{"class":487},[481,1351,1352],{"class":514}," hasBenefits",[481,1354,697],{"class":491},[481,1356,1357,1359,1361,1363,1365,1368,1370,1372,1374,1376,1378],{"class":483,"line":875},[481,1358,703],{"class":487},[481,1360,1269],{"class":491},[481,1362,1272],{"class":514},[481,1364,1275],{"class":491},[481,1366,1367],{"class":514},"anyMatch",[481,1369,1323],{"class":491},[481,1371,1113],{"class":487},[481,1373,1328],{"class":491},[481,1375,1331],{"class":487},[481,1377,1122],{"class":544},[481,1379,1218],{"class":491},[481,1381,1382],{"class":483,"line":896},[481,1383,658],{"class":491},[481,1385,1386],{"class":483,"line":901},[481,1387,499],{"emptyLinePlaceholder":498},[481,1389,1391,1393,1396,1399,1402],{"class":483,"line":1390},43,[481,1392,589],{"class":487},[481,1394,1395],{"class":487}," Double",[481,1397,1398],{"class":491},"[] ",[481,1400,1401],{"class":514},"getBenefits",[481,1403,697],{"class":491},[481,1405,1407,1409,1411,1413,1415,1418,1420,1423,1425,1428,1431,1434],{"class":483,"line":1406},44,[481,1408,703],{"class":487},[481,1410,1269],{"class":491},[481,1412,1272],{"class":514},[481,1414,1275],{"class":491},[481,1416,1417],{"class":514},"boxed",[481,1419,1131],{"class":491},[481,1421,1422],{"class":514},"toArray",[481,1424,886],{"class":491},[481,1426,1427],{"class":487},"Double",[481,1429,1430],{"class":491},"[]",[481,1432,1433],{"class":487},"::new",[481,1435,1218],{"class":491},[481,1437,1439],{"class":483,"line":1438},45,[481,1440,658],{"class":491},[481,1442,1444],{"class":483,"line":1443},46,[481,1445,904],{"class":491},[464,1447,908,1449],{"id":1448},"clase-hourlyemployee",[455,1450,1451],{},"HourlyEmployee",[472,1453,1455],{"className":474,"code":1454,"language":476,"meta":477,"style":477},"package app.empresa;\n\npublic class HourlyEmployee extends Employee {\n\n    private final double hourlyRate;\n    private int extraHours;\n    private int hoursWorked;\n\n    public HourlyEmployee(String name, Department department, double hourlyRate) {\n        super(name, department);\n        this.hourlyRate = hourlyRate;\n        this.hoursWorked = 0;\n        this.extraHours = 0;\n    }\n\n    public void addExtraHours(int hours) {\n        addHours(hours, false);\n    }\n\n    public void addHours(int hours) {\n        addHours(hours, true);\n    }\n\n    private void addHours(int hours, boolean isExtra) {\n\n        if (isExtra) {\n            this.extraHours += hours;\n        } else {\n            this.hoursWorked += hours;\n        }\n    }\n\n    @Override\n    public double getSalary() {\n\n        double baseSalary = hourlyRate * hoursWorked;\n        double extraSalary = (hourlyRate * 1.5) * extraHours;\n        return baseSalary + extraSalary;\n    }\n}\n",[455,1456,1457,1463,1467,1482,1486,1497,1506,1515,1519,1542,1548,1559,1572,1585,1589,1593,1612,1625,1629,1633,1650,1661,1665,1669,1693,1697,1705,1717,1727,1737,1742,1746,1750,1756,1766,1770,1787,1811,1823,1827],{"__ignoreMap":477},[481,1458,1459,1461],{"class":483,"line":484},[481,1460,488],{"class":487},[481,1462,492],{"class":491},[481,1464,1465],{"class":483,"line":495},[481,1466,499],{"emptyLinePlaceholder":498},[481,1468,1469,1471,1473,1476,1478,1480],{"class":483,"line":502},[481,1470,505],{"class":487},[481,1472,511],{"class":487},[481,1474,1475],{"class":514}," HourlyEmployee",[481,1477,957],{"class":487},[481,1479,515],{"class":514},[481,1481,518],{"class":491},[481,1483,1484],{"class":483,"line":521},[481,1485,499],{"emptyLinePlaceholder":498},[481,1487,1488,1490,1492,1494],{"class":483,"line":526},[481,1489,529],{"class":487},[481,1491,557],{"class":487},[481,1493,673],{"class":487},[481,1495,1496],{"class":491}," hourlyRate;\n",[481,1498,1499,1501,1503],{"class":483,"line":551},[481,1500,529],{"class":487},[481,1502,535],{"class":487},[481,1504,1505],{"class":491}," extraHours;\n",[481,1507,1508,1510,1512],{"class":483,"line":565},[481,1509,529],{"class":487},[481,1511,535],{"class":487},[481,1513,1514],{"class":491}," hoursWorked;\n",[481,1516,1517],{"class":483,"line":573},[481,1518,499],{"emptyLinePlaceholder":498},[481,1520,1521,1523,1525,1527,1529,1531,1533,1535,1537,1540],{"class":483,"line":581},[481,1522,589],{"class":487},[481,1524,1475],{"class":514},[481,1526,594],{"class":491},[481,1528,598],{"class":597},[481,1530,601],{"class":491},[481,1532,604],{"class":597},[481,1534,1008],{"class":491},[481,1536,1011],{"class":487},[481,1538,1539],{"class":597}," hourlyRate",[481,1541,607],{"class":491},[481,1543,1544,1546],{"class":483,"line":586},[481,1545,1021],{"class":544},[481,1547,1024],{"class":491},[481,1549,1550,1552,1555,1557],{"class":483,"line":610},[481,1551,613],{"class":544},[481,1553,1554],{"class":491},".hourlyRate ",[481,1556,541],{"class":487},[481,1558,1496],{"class":491},[481,1560,1561,1563,1566,1568,1570],{"class":483,"line":629},[481,1562,613],{"class":544},[481,1564,1565],{"class":491},".hoursWorked ",[481,1567,541],{"class":487},[481,1569,1122],{"class":544},[481,1571,548],{"class":491},[481,1573,1574,1576,1579,1581,1583],{"class":483,"line":642},[481,1575,613],{"class":544},[481,1577,1578],{"class":491},".extraHours ",[481,1580,541],{"class":487},[481,1582,1122],{"class":544},[481,1584,548],{"class":491},[481,1586,1587],{"class":483,"line":655},[481,1588,658],{"class":491},[481,1590,1591],{"class":483,"line":661},[481,1592,499],{"emptyLinePlaceholder":498},[481,1594,1595,1597,1599,1602,1604,1607,1610],{"class":483,"line":666},[481,1596,589],{"class":487},[481,1598,783],{"class":487},[481,1600,1601],{"class":514}," addExtraHours",[481,1603,886],{"class":491},[481,1605,1606],{"class":487},"int",[481,1608,1609],{"class":597}," hours",[481,1611,607],{"class":491},[481,1613,1614,1617,1620,1623],{"class":483,"line":682},[481,1615,1616],{"class":514},"        addHours",[481,1618,1619],{"class":491},"(hours, ",[481,1621,1622],{"class":544},"false",[481,1624,1218],{"class":491},[481,1626,1627],{"class":483,"line":687},[481,1628,658],{"class":491},[481,1630,1631],{"class":483,"line":700},[481,1632,499],{"emptyLinePlaceholder":498},[481,1634,1635,1637,1639,1642,1644,1646,1648],{"class":483,"line":708},[481,1636,589],{"class":487},[481,1638,783],{"class":487},[481,1640,1641],{"class":514}," addHours",[481,1643,886],{"class":491},[481,1645,1606],{"class":487},[481,1647,1609],{"class":597},[481,1649,607],{"class":491},[481,1651,1652,1654,1656,1659],{"class":483,"line":713},[481,1653,1616],{"class":514},[481,1655,1619],{"class":491},[481,1657,1658],{"class":544},"true",[481,1660,1218],{"class":491},[481,1662,1663],{"class":483,"line":718},[481,1664,658],{"class":491},[481,1666,1667],{"class":483,"line":731},[481,1668,499],{"emptyLinePlaceholder":498},[481,1670,1671,1673,1675,1677,1679,1681,1683,1685,1688,1691],{"class":483,"line":738},[481,1672,529],{"class":487},[481,1674,783],{"class":487},[481,1676,1641],{"class":514},[481,1678,886],{"class":491},[481,1680,1606],{"class":487},[481,1682,1609],{"class":597},[481,1684,1008],{"class":491},[481,1686,1687],{"class":487},"boolean",[481,1689,1690],{"class":597}," isExtra",[481,1692,607],{"class":491},[481,1694,1695],{"class":483,"line":743},[481,1696,499],{"emptyLinePlaceholder":498},[481,1698,1699,1702],{"class":483,"line":748},[481,1700,1701],{"class":487},"        if",[481,1703,1704],{"class":491}," (isExtra) {\n",[481,1706,1707,1710,1712,1714],{"class":483,"line":761},[481,1708,1709],{"class":544},"            this",[481,1711,1578],{"class":491},[481,1713,1266],{"class":487},[481,1715,1716],{"class":491}," hours;\n",[481,1718,1719,1722,1725],{"class":483,"line":768},[481,1720,1721],{"class":491},"        } ",[481,1723,1724],{"class":487},"else",[481,1726,518],{"class":491},[481,1728,1729,1731,1733,1735],{"class":483,"line":773},[481,1730,1709],{"class":544},[481,1732,1565],{"class":491},[481,1734,1266],{"class":487},[481,1736,1716],{"class":491},[481,1738,1739],{"class":483,"line":778},[481,1740,1741],{"class":491},"        }\n",[481,1743,1744],{"class":483,"line":796},[481,1745,658],{"class":491},[481,1747,1748],{"class":483,"line":807},[481,1749,499],{"emptyLinePlaceholder":498},[481,1751,1752,1754],{"class":483,"line":812},[481,1753,857],{"class":491},[481,1755,860],{"class":487},[481,1757,1758,1760,1762,1764],{"class":483,"line":817},[481,1759,589],{"class":487},[481,1761,673],{"class":487},[481,1763,676],{"class":514},[481,1765,697],{"class":491},[481,1767,1768],{"class":483,"line":833},[481,1769,499],{"emptyLinePlaceholder":498},[481,1771,1772,1774,1777,1779,1782,1785],{"class":483,"line":844},[481,1773,1251],{"class":487},[481,1775,1776],{"class":491}," baseSalary ",[481,1778,541],{"class":487},[481,1780,1781],{"class":491}," hourlyRate ",[481,1783,1784],{"class":487},"*",[481,1786,1514],{"class":491},[481,1788,1789,1791,1794,1796,1799,1801,1804,1807,1809],{"class":483,"line":849},[481,1790,1251],{"class":487},[481,1792,1793],{"class":491}," extraSalary ",[481,1795,541],{"class":487},[481,1797,1798],{"class":491}," (hourlyRate ",[481,1800,1784],{"class":487},[481,1802,1803],{"class":544}," 1.5",[481,1805,1806],{"class":491},") ",[481,1808,1784],{"class":487},[481,1810,1505],{"class":491},[481,1812,1813,1815,1817,1820],{"class":483,"line":854},[481,1814,703],{"class":487},[481,1816,1776],{"class":491},[481,1818,1819],{"class":487},"+",[481,1821,1822],{"class":491}," extraSalary;\n",[481,1824,1825],{"class":483,"line":863},[481,1826,658],{"class":491},[481,1828,1829],{"class":483,"line":875},[481,1830,904],{"class":491},[464,1832,1834,1835],{"id":1833},"enum-department","Enum ",[455,1836,1837],{},"Department",[472,1839,1841],{"className":474,"code":1840,"language":476,"meta":477,"style":477},"package app.empresa;\n\npublic enum Department {\n\n    HR(\"Human Resources\"),\n    IT(\"Information Technology\"),\n    SALES(\"Sales\"),\n    MARKETING(\"Marketing\");\n\n    private final String name;\n\n    Department(String name) {\n        this.name = name;\n    }\n\n    public String getName() {\n        return name;\n    }\n\n    @Override\n    public String toString() {\n        return getName();\n    }\n}\n",[455,1842,1843,1849,1853,1865,1869,1882,1894,1906,1918,1922,1930,1934,1945,1955,1959,1963,1973,1979,1983,1987,1993,2003,2012,2016],{"__ignoreMap":477},[481,1844,1845,1847],{"class":483,"line":484},[481,1846,488],{"class":487},[481,1848,492],{"class":491},[481,1850,1851],{"class":483,"line":495},[481,1852,499],{"emptyLinePlaceholder":498},[481,1854,1855,1857,1860,1863],{"class":483,"line":502},[481,1856,505],{"class":487},[481,1858,1859],{"class":487}," enum",[481,1861,1862],{"class":514}," Department",[481,1864,518],{"class":491},[481,1866,1867],{"class":483,"line":521},[481,1868,499],{"emptyLinePlaceholder":498},[481,1870,1871,1874,1876,1879],{"class":483,"line":526},[481,1872,1873],{"class":544},"    HR",[481,1875,886],{"class":491},[481,1877,1878],{"class":889},"\"Human Resources\"",[481,1880,1881],{"class":491},"),\n",[481,1883,1884,1887,1889,1892],{"class":483,"line":551},[481,1885,1886],{"class":544},"    IT",[481,1888,886],{"class":491},[481,1890,1891],{"class":889},"\"Information Technology\"",[481,1893,1881],{"class":491},[481,1895,1896,1899,1901,1904],{"class":483,"line":565},[481,1897,1898],{"class":544},"    SALES",[481,1900,886],{"class":491},[481,1902,1903],{"class":889},"\"Sales\"",[481,1905,1881],{"class":491},[481,1907,1908,1911,1913,1916],{"class":483,"line":573},[481,1909,1910],{"class":544},"    MARKETING",[481,1912,886],{"class":491},[481,1914,1915],{"class":889},"\"Marketing\"",[481,1917,1218],{"class":491},[481,1919,1920],{"class":483,"line":581},[481,1921,499],{"emptyLinePlaceholder":498},[481,1923,1924,1926,1928],{"class":483,"line":586},[481,1925,529],{"class":487},[481,1927,557],{"class":487},[481,1929,570],{"class":491},[481,1931,1932],{"class":483,"line":610},[481,1933,499],{"emptyLinePlaceholder":498},[481,1935,1936,1939,1941,1943],{"class":483,"line":629},[481,1937,1938],{"class":514},"    Department",[481,1940,594],{"class":491},[481,1942,598],{"class":597},[481,1944,607],{"class":491},[481,1946,1947,1949,1951,1953],{"class":483,"line":642},[481,1948,613],{"class":544},[481,1950,634],{"class":491},[481,1952,541],{"class":487},[481,1954,639],{"class":491},[481,1956,1957],{"class":483,"line":655},[481,1958,658],{"class":491},[481,1960,1961],{"class":483,"line":661},[481,1962,499],{"emptyLinePlaceholder":498},[481,1964,1965,1967,1969,1971],{"class":483,"line":666},[481,1966,589],{"class":487},[481,1968,723],{"class":491},[481,1970,726],{"class":514},[481,1972,697],{"class":491},[481,1974,1975,1977],{"class":483,"line":682},[481,1976,703],{"class":487},[481,1978,639],{"class":491},[481,1980,1981],{"class":483,"line":687},[481,1982,658],{"class":491},[481,1984,1985],{"class":483,"line":700},[481,1986,499],{"emptyLinePlaceholder":498},[481,1988,1989,1991],{"class":483,"line":708},[481,1990,857],{"class":491},[481,1992,860],{"class":487},[481,1994,1995,1997,1999,2001],{"class":483,"line":713},[481,1996,589],{"class":487},[481,1998,723],{"class":491},[481,2000,870],{"class":514},[481,2002,697],{"class":491},[481,2004,2005,2007,2010],{"class":483,"line":718},[481,2006,703],{"class":487},[481,2008,2009],{"class":514}," getName",[481,2011,679],{"class":491},[481,2013,2014],{"class":483,"line":731},[481,2015,658],{"class":491},[481,2017,2018],{"class":483,"line":738},[481,2019,904],{"class":491},[464,2021,1834,2023],{"id":2022},"enum-menuoption",[455,2024,2025],{},"MenuOption",[472,2027,2029],{"className":474,"code":2028,"language":476,"meta":477,"style":477},"package app.empresa;\n\npublic enum MenuOption {\n\n    ADD_EMPLOYEE(\"Agregar Empleado\"),\n    DELETE_EMPLOYEE(\"Eliminar Empleado\"),\n    ADD_HOURS(\"Agregar Horas\"),\n    ADD_EXTRA_HOURS(\"Agregar Horas Extra\"),\n    ADD_BENEFIT(\"Agregar Beneficio\"),\n    DELETE_BENEFIT(\"Eliminar Beneficio\"),\n    CALCULATE_SALARY(\"Calcular Salario\"),\n    CALCULAR_NOMINA(\"Calcular Nómina\"),\n    EXIT(\"Salir\");\n\n    private String name;\n\n    MenuOption(String name) {\n        this.name = name;\n    }\n\n    public String getName() {\n        return name;\n    }\n\n    @Override\n    public String toString() {\n        return getName();\n    }\n}\n",[455,2030,2031,2037,2041,2052,2056,2068,2080,2092,2104,2116,2128,2140,2152,2164,2168,2174,2178,2189,2199,2203,2207,2217,2223,2227,2231,2237,2247,2255,2259],{"__ignoreMap":477},[481,2032,2033,2035],{"class":483,"line":484},[481,2034,488],{"class":487},[481,2036,492],{"class":491},[481,2038,2039],{"class":483,"line":495},[481,2040,499],{"emptyLinePlaceholder":498},[481,2042,2043,2045,2047,2050],{"class":483,"line":502},[481,2044,505],{"class":487},[481,2046,1859],{"class":487},[481,2048,2049],{"class":514}," MenuOption",[481,2051,518],{"class":491},[481,2053,2054],{"class":483,"line":521},[481,2055,499],{"emptyLinePlaceholder":498},[481,2057,2058,2061,2063,2066],{"class":483,"line":526},[481,2059,2060],{"class":544},"    ADD_EMPLOYEE",[481,2062,886],{"class":491},[481,2064,2065],{"class":889},"\"Agregar Empleado\"",[481,2067,1881],{"class":491},[481,2069,2070,2073,2075,2078],{"class":483,"line":551},[481,2071,2072],{"class":544},"    DELETE_EMPLOYEE",[481,2074,886],{"class":491},[481,2076,2077],{"class":889},"\"Eliminar Empleado\"",[481,2079,1881],{"class":491},[481,2081,2082,2085,2087,2090],{"class":483,"line":565},[481,2083,2084],{"class":544},"    ADD_HOURS",[481,2086,886],{"class":491},[481,2088,2089],{"class":889},"\"Agregar Horas\"",[481,2091,1881],{"class":491},[481,2093,2094,2097,2099,2102],{"class":483,"line":573},[481,2095,2096],{"class":544},"    ADD_EXTRA_HOURS",[481,2098,886],{"class":491},[481,2100,2101],{"class":889},"\"Agregar Horas Extra\"",[481,2103,1881],{"class":491},[481,2105,2106,2109,2111,2114],{"class":483,"line":581},[481,2107,2108],{"class":544},"    ADD_BENEFIT",[481,2110,886],{"class":491},[481,2112,2113],{"class":889},"\"Agregar Beneficio\"",[481,2115,1881],{"class":491},[481,2117,2118,2121,2123,2126],{"class":483,"line":586},[481,2119,2120],{"class":544},"    DELETE_BENEFIT",[481,2122,886],{"class":491},[481,2124,2125],{"class":889},"\"Eliminar Beneficio\"",[481,2127,1881],{"class":491},[481,2129,2130,2133,2135,2138],{"class":483,"line":610},[481,2131,2132],{"class":544},"    CALCULATE_SALARY",[481,2134,886],{"class":491},[481,2136,2137],{"class":889},"\"Calcular Salario\"",[481,2139,1881],{"class":491},[481,2141,2142,2145,2147,2150],{"class":483,"line":629},[481,2143,2144],{"class":544},"    CALCULAR_NOMINA",[481,2146,886],{"class":491},[481,2148,2149],{"class":889},"\"Calcular Nómina\"",[481,2151,1881],{"class":491},[481,2153,2154,2157,2159,2162],{"class":483,"line":642},[481,2155,2156],{"class":544},"    EXIT",[481,2158,886],{"class":491},[481,2160,2161],{"class":889},"\"Salir\"",[481,2163,1218],{"class":491},[481,2165,2166],{"class":483,"line":655},[481,2167,499],{"emptyLinePlaceholder":498},[481,2169,2170,2172],{"class":483,"line":661},[481,2171,529],{"class":487},[481,2173,570],{"class":491},[481,2175,2176],{"class":483,"line":666},[481,2177,499],{"emptyLinePlaceholder":498},[481,2179,2180,2183,2185,2187],{"class":483,"line":682},[481,2181,2182],{"class":514},"    MenuOption",[481,2184,594],{"class":491},[481,2186,598],{"class":597},[481,2188,607],{"class":491},[481,2190,2191,2193,2195,2197],{"class":483,"line":687},[481,2192,613],{"class":544},[481,2194,634],{"class":491},[481,2196,541],{"class":487},[481,2198,639],{"class":491},[481,2200,2201],{"class":483,"line":700},[481,2202,658],{"class":491},[481,2204,2205],{"class":483,"line":708},[481,2206,499],{"emptyLinePlaceholder":498},[481,2208,2209,2211,2213,2215],{"class":483,"line":713},[481,2210,589],{"class":487},[481,2212,723],{"class":491},[481,2214,726],{"class":514},[481,2216,697],{"class":491},[481,2218,2219,2221],{"class":483,"line":718},[481,2220,703],{"class":487},[481,2222,639],{"class":491},[481,2224,2225],{"class":483,"line":731},[481,2226,658],{"class":491},[481,2228,2229],{"class":483,"line":738},[481,2230,499],{"emptyLinePlaceholder":498},[481,2232,2233,2235],{"class":483,"line":743},[481,2234,857],{"class":491},[481,2236,860],{"class":487},[481,2238,2239,2241,2243,2245],{"class":483,"line":748},[481,2240,589],{"class":487},[481,2242,723],{"class":491},[481,2244,870],{"class":514},[481,2246,697],{"class":491},[481,2248,2249,2251,2253],{"class":483,"line":761},[481,2250,703],{"class":487},[481,2252,2009],{"class":514},[481,2254,679],{"class":491},[481,2256,2257],{"class":483,"line":768},[481,2258,658],{"class":491},[481,2260,2261],{"class":483,"line":773},[481,2262,904],{"class":491},[464,2264,908,2266],{"id":2265},"clase-employeemanagementsystem",[455,2267,2268],{},"EmployeeManagementSystem",[472,2270,2272],{"className":474,"code":2271,"language":476,"meta":477,"style":477},"package app.empresa;\n\nimport com.utils.validate.InputValidator;\n\nimport java.util.Arrays;\nimport java.util.Objects;\nimport java.util.function.Predicate;\n\npublic class EmployeeManagementSystem {\n\n    private final Employee[] employees;\n\n    public EmployeeManagementSystem() {\n        this.employees = new Employee[500];\n        showMenu();\n    }\n\n    public void showMenu() {\n\n        MenuOption option;\n        do {\n            option = InputValidator.validateInput(\n                    \"Seleccione una opción\",\n                    MenuOption.values());\n            switch (option) {\n                case ADD_EMPLOYEE -> addEmployee();\n                case DELETE_EMPLOYEE -> deleteEmployee();\n                case ADD_HOURS -> addHours();\n                case ADD_EXTRA_HOURS -> addExtraHours();\n                case ADD_BENEFIT -> addBenefit();\n                case DELETE_BENEFIT -> deleteBenefit();\n                case CALCULATE_SALARY -> showSalary();\n                case CALCULAR_NOMINA -> calculatePayroll();\n                case EXIT -> InputValidator.showInfoMessage(\"Saliendo de la aplicación...\");\n            }\n        } while (option != MenuOption.EXIT);\n    }\n\n    private void showSalary() {\n\n        Employee employee = selectEmployee(employees);\n        if (employee != null) {\n            InputValidator.showInfoMessage(String.format(\"El salario de %s es: %.2f\", employee.getName(), employee.getSalary()));\n        } else {\n            InputValidator.showErrorMessage(\"No se pudo calcular el salario, no hay empleados disponibles.\");\n        }\n    }\n\n    private void calculatePayroll() {\n\n        double totalPayroll = Arrays.stream(employees)\n                .filter(Objects::nonNull)\n                .mapToDouble(Employee::getSalary)\n                .sum();\n        InputValidator.showInfoMessage(String.format(\"La nómina total es: %.2f\", totalPayroll));\n    }\n\n    private void addBenefit() {\n\n        FullTimeEmployee employee = (FullTimeEmployee) selectFullTimeEmployee();\n        if (employee != null) {\n            if (employee.isBenefitsFull()) {\n                InputValidator.showErrorMessage(\"No se pueden agregar más beneficios a este empleado, la capacidad máxima ha sido alcanzada.\");\n            } else {\n                double benefit = InputValidator.validateInput(\n                        \"Ingrese el monto del beneficio a agregar\",\n                        Double.class, s -> s > 0);\n                employee.addBenefit(benefit);\n                InputValidator.showInfoMessage(\"Beneficio agregado exitosamente.\");\n            }\n        } else {\n            InputValidator.showErrorMessage(\"No se pudo agregar beneficios, no hay empleados de tiempo completo disponibles.\");\n        }\n    }\n\n    private void deleteBenefit() {\n\n        FullTimeEmployee employee = (FullTimeEmployee) selectFullTimeEmployee();\n        if (employee != null) {\n            if (employee.hasBenefits()) {\n                double benefit = InputValidator.validateInput(\n                        \"Seleccione el monto del beneficio a eliminar\",\n                        employee.getBenefits());\n                employee.deleteBenefit(benefit);\n                InputValidator.showInfoMessage(\"Beneficio eliminado exitosamente.\");\n            } else {\n                InputValidator.showErrorMessage(\"No se pueden eliminar beneficios de este empleado, no tiene beneficios registrados.\");\n            }\n        } else {\n            InputValidator.showErrorMessage(\"No se pudo eliminar beneficios, no hay empleados de tiempo completo disponibles.\");\n        }\n    }\n\n    private void addHour(boolean isExtra) {\n\n        HourlyEmployee employee = (HourlyEmployee) selectHoursEmployee();\n        if (employee != null) {\n            int hours = InputValidator.validateInput(\n                    \"Ingrese la cantidad de horas a agregar\",\n                    Integer.class, s -> s > 0);\n            if (isExtra) {\n                employee.addExtraHours(hours);\n                InputValidator.showInfoMessage(\"Horas extra agregadas exitosamente.\");\n            } else {\n                employee.addHours(hours);\n                InputValidator.showInfoMessage(\"Horas agregadas exitosamente.\");\n            }\n        } else {\n            InputValidator.showErrorMessage(\"No se pudo agregar horas, no hay empleados de horas disponibles.\");\n        }\n    }\n\n    private void addHours() {\n\n        addHour(false);\n    }\n\n    private void addExtraHours() {\n\n        addHour(true);\n    }\n\n    private Employee selectEmployee(Employee[] employees) {\n\n        if (Arrays.stream(employees).noneMatch(Objects::nonNull)) {\n            InputValidator.showErrorMessage(\"No hay empleados disponibles para esta selección.\");\n            return null;\n        } else {\n            return InputValidator.validateInput(\n                    \"Seleccione un empleado\",\n                    employees);\n        }\n    }\n\n    private Employee selectEmployee(Predicate\u003CEmployee> predicate) {\n        Employee[] filteredEmployees = Arrays.stream(employees)\n                .filter(predicate)\n                .toArray(Employee[]::new);\n        if (filteredEmployees.length == 0) {\n            InputValidator.showErrorMessage(\"No hay empleados disponibles para esta selección.\");\n            return null;\n        } else {\n            return selectEmployee(filteredEmployees);\n        }\n    }\n\n    private Employee selectFullTimeEmployee() {\n\n        return selectEmployee(T -> T instanceof FullTimeEmployee);\n    }\n\n    private Employee selectHoursEmployee() {\n\n        return selectEmployee(T -> T instanceof HourlyEmployee);\n    }\n\n    private void deleteEmployee() {\n\n        Employee employee = selectEmployee(employees);\n        for (int i = 0; i \u003C employees.length; i++) {\n            if (employees[i] != null && employees[i].equals(employee)) {\n                employees[i] = null;\n                InputValidator.showInfoMessage(\"Empleado eliminado exitosamente.\");\n                return;\n            }\n        }\n        InputValidator.showErrorMessage(\"Empleado no encontrado.\");\n    }\n\n    private void addEmployee() {\n\n        boolean isFull = InputValidator.validateInput(\n                \"¿El empleado es de tiempo completo? (s\u002Fn)\",\n                Boolean.class);\n        Predicate\u003CDouble> positiveDouble = s -> s > 0;\n        String name = InputValidator.validateInput(\n                \"Ingrese el nombre del empleado\",\n                String.class, s -> !s.trim().isEmpty());\n        Department department = selectDepartment();\n        Employee employee = isFull ?\n                new FullTimeEmployee(name, department, InputValidator.validateInput(\n                        \"Ingrese el salario del empleado\",\n                        Double.class, positiveDouble)) :\n                new HourlyEmployee(name, department, InputValidator.validateInput(\n                        \"Ingrese la tarifa por hora del empleado\",\n                        Double.class, positiveDouble));\n        addEmployee(employee);\n    }\n\n    private void addEmployee(Employee employee) {\n\n        for (int i = 0; i \u003C employees.length; i++) {\n            if (employees[i] == null) {\n                employees[i] = employee;\n                InputValidator.showInfoMessage(\"Empleado agregado exitosamente.\");\n                return;\n            }\n        }\n        InputValidator.showErrorMessage(\"No se pueden agregar más empleados, la capacidad máxima ha sido alcanzada.\");\n    }\n\n    private Department selectDepartment() {\n\n        return InputValidator.validateInput(\n                \"Seleccione el departamento\",\n                Department.values());\n    }\n}\n",[455,2273,2274,2280,2284,2291,2295,2301,2308,2315,2319,2330,2334,2345,2349,2357,2377,2384,2388,2392,2403,2407,2412,2419,2435,2443,2454,2462,2477,2491,2504,2517,2530,2543,2557,2571,2592,2597,2613,2617,2621,2631,2635,2648,2662,2693,2701,2715,2719,2724,2729,2740,2745,2762,2779,2795,2804,2824,2829,2834,2845,2850,2866,2879,2894,2909,2919,2936,2944,2961,2973,2987,2992,3001,3015,3020,3025,3030,3041,3046,3059,3072,3084,3099,3107,3117,3127,3141,3150,3164,3169,3178,3192,3197,3202,3207,3225,3230,3246,3259,3276,3284,3300,3307,3318,3332,3341,3351,3365,3370,3379,3393,3398,3403,3408,3419,3424,3436,3441,3446,3457,3462,3473,3478,3483,3506,3511,3534,3548,3558,3567,3578,3586,3592,3597,3602,3607,3629,3646,3656,3673,3687,3700,3709,3718,3728,3733,3738,3743,3754,3759,3780,3785,3790,3801,3806,3824,3829,3834,3845,3850,3861,3892,3916,3928,3942,3950,3955,3960,3974,3979,3984,3995,4000,4017,4025,4031,4056,4070,4078,4102,4115,4127,4142,4150,4159,4172,4180,4186,4195,4200,4205,4222,4227,4252,4265,4275,4289,4296,4301,4306,4320,4325,4330,4342,4347,4358,4366,4376,4381],{"__ignoreMap":477},[481,2275,2276,2278],{"class":483,"line":484},[481,2277,488],{"class":487},[481,2279,492],{"class":491},[481,2281,2282],{"class":483,"line":495},[481,2283,499],{"emptyLinePlaceholder":498},[481,2285,2286,2288],{"class":483,"line":502},[481,2287,931],{"class":487},[481,2289,2290],{"class":491}," com.utils.validate.InputValidator;\n",[481,2292,2293],{"class":483,"line":521},[481,2294,499],{"emptyLinePlaceholder":498},[481,2296,2297,2299],{"class":483,"line":526},[481,2298,931],{"class":487},[481,2300,934],{"class":491},[481,2302,2303,2305],{"class":483,"line":551},[481,2304,931],{"class":487},[481,2306,2307],{"class":491}," java.util.Objects;\n",[481,2309,2310,2312],{"class":483,"line":565},[481,2311,931],{"class":487},[481,2313,2314],{"class":491}," java.util.function.Predicate;\n",[481,2316,2317],{"class":483,"line":573},[481,2318,499],{"emptyLinePlaceholder":498},[481,2320,2321,2323,2325,2328],{"class":483,"line":581},[481,2322,505],{"class":487},[481,2324,511],{"class":487},[481,2326,2327],{"class":514}," EmployeeManagementSystem",[481,2329,518],{"class":491},[481,2331,2332],{"class":483,"line":586},[481,2333,499],{"emptyLinePlaceholder":498},[481,2335,2336,2338,2340,2342],{"class":483,"line":610},[481,2337,529],{"class":487},[481,2339,557],{"class":487},[481,2341,515],{"class":487},[481,2343,2344],{"class":491},"[] employees;\n",[481,2346,2347],{"class":483,"line":629},[481,2348,499],{"emptyLinePlaceholder":498},[481,2350,2351,2353,2355],{"class":483,"line":642},[481,2352,589],{"class":487},[481,2354,2327],{"class":514},[481,2356,697],{"class":491},[481,2358,2359,2361,2364,2366,2368,2370,2372,2375],{"class":483,"line":655},[481,2360,613],{"class":544},[481,2362,2363],{"class":491},".employees ",[481,2365,541],{"class":487},[481,2367,1047],{"class":487},[481,2369,515],{"class":487},[481,2371,1052],{"class":491},[481,2373,2374],{"class":544},"500",[481,2376,1058],{"class":491},[481,2378,2379,2382],{"class":483,"line":661},[481,2380,2381],{"class":514},"        showMenu",[481,2383,679],{"class":491},[481,2385,2386],{"class":483,"line":666},[481,2387,658],{"class":491},[481,2389,2390],{"class":483,"line":682},[481,2391,499],{"emptyLinePlaceholder":498},[481,2393,2394,2396,2398,2401],{"class":483,"line":687},[481,2395,589],{"class":487},[481,2397,783],{"class":487},[481,2399,2400],{"class":514}," showMenu",[481,2402,697],{"class":491},[481,2404,2405],{"class":483,"line":700},[481,2406,499],{"emptyLinePlaceholder":498},[481,2408,2409],{"class":483,"line":708},[481,2410,2411],{"class":491},"        MenuOption option;\n",[481,2413,2414,2417],{"class":483,"line":713},[481,2415,2416],{"class":487},"        do",[481,2418,518],{"class":491},[481,2420,2421,2424,2426,2429,2432],{"class":483,"line":718},[481,2422,2423],{"class":491},"            option ",[481,2425,541],{"class":487},[481,2427,2428],{"class":491}," InputValidator.",[481,2430,2431],{"class":514},"validateInput",[481,2433,2434],{"class":491},"(\n",[481,2436,2437,2440],{"class":483,"line":731},[481,2438,2439],{"class":889},"                    \"Seleccione una opción\"",[481,2441,2442],{"class":491},",\n",[481,2444,2445,2448,2451],{"class":483,"line":738},[481,2446,2447],{"class":491},"                    MenuOption.",[481,2449,2450],{"class":514},"values",[481,2452,2453],{"class":491},"());\n",[481,2455,2456,2459],{"class":483,"line":743},[481,2457,2458],{"class":487},"            switch",[481,2460,2461],{"class":491}," (option) {\n",[481,2463,2464,2467,2470,2472,2475],{"class":483,"line":748},[481,2465,2466],{"class":487},"                case",[481,2468,2469],{"class":491}," ADD_EMPLOYEE ",[481,2471,1113],{"class":487},[481,2473,2474],{"class":514}," addEmployee",[481,2476,679],{"class":491},[481,2478,2479,2481,2484,2486,2489],{"class":483,"line":761},[481,2480,2466],{"class":487},[481,2482,2483],{"class":491}," DELETE_EMPLOYEE ",[481,2485,1113],{"class":487},[481,2487,2488],{"class":514}," deleteEmployee",[481,2490,679],{"class":491},[481,2492,2493,2495,2498,2500,2502],{"class":483,"line":768},[481,2494,2466],{"class":487},[481,2496,2497],{"class":491}," ADD_HOURS ",[481,2499,1113],{"class":487},[481,2501,1641],{"class":514},[481,2503,679],{"class":491},[481,2505,2506,2508,2511,2513,2515],{"class":483,"line":773},[481,2507,2466],{"class":487},[481,2509,2510],{"class":491}," ADD_EXTRA_HOURS ",[481,2512,1113],{"class":487},[481,2514,1601],{"class":514},[481,2516,679],{"class":491},[481,2518,2519,2521,2524,2526,2528],{"class":483,"line":778},[481,2520,2466],{"class":487},[481,2522,2523],{"class":491}," ADD_BENEFIT ",[481,2525,1113],{"class":487},[481,2527,1075],{"class":514},[481,2529,679],{"class":491},[481,2531,2532,2534,2537,2539,2541],{"class":483,"line":796},[481,2533,2466],{"class":487},[481,2535,2536],{"class":491}," DELETE_BENEFIT ",[481,2538,1113],{"class":487},[481,2540,1162],{"class":514},[481,2542,679],{"class":491},[481,2544,2545,2547,2550,2552,2555],{"class":483,"line":807},[481,2546,2466],{"class":487},[481,2548,2549],{"class":491}," CALCULATE_SALARY ",[481,2551,1113],{"class":487},[481,2553,2554],{"class":514}," showSalary",[481,2556,679],{"class":491},[481,2558,2559,2561,2564,2566,2569],{"class":483,"line":812},[481,2560,2466],{"class":487},[481,2562,2563],{"class":491}," CALCULAR_NOMINA ",[481,2565,1113],{"class":487},[481,2567,2568],{"class":514}," calculatePayroll",[481,2570,679],{"class":491},[481,2572,2573,2575,2578,2580,2582,2585,2587,2590],{"class":483,"line":817},[481,2574,2466],{"class":487},[481,2576,2577],{"class":491}," EXIT ",[481,2579,1113],{"class":487},[481,2581,2428],{"class":491},[481,2583,2584],{"class":514},"showInfoMessage",[481,2586,886],{"class":491},[481,2588,2589],{"class":889},"\"Saliendo de la aplicación...\"",[481,2591,1218],{"class":491},[481,2593,2594],{"class":483,"line":833},[481,2595,2596],{"class":491},"            }\n",[481,2598,2599,2601,2604,2607,2610],{"class":483,"line":844},[481,2600,1721],{"class":491},[481,2602,2603],{"class":487},"while",[481,2605,2606],{"class":491}," (option ",[481,2608,2609],{"class":487},"!=",[481,2611,2612],{"class":491}," MenuOption.EXIT);\n",[481,2614,2615],{"class":483,"line":849},[481,2616,658],{"class":491},[481,2618,2619],{"class":483,"line":854},[481,2620,499],{"emptyLinePlaceholder":498},[481,2622,2623,2625,2627,2629],{"class":483,"line":863},[481,2624,529],{"class":487},[481,2626,783],{"class":487},[481,2628,2554],{"class":514},[481,2630,697],{"class":491},[481,2632,2633],{"class":483,"line":875},[481,2634,499],{"emptyLinePlaceholder":498},[481,2636,2637,2640,2642,2645],{"class":483,"line":896},[481,2638,2639],{"class":491},"        Employee employee ",[481,2641,541],{"class":487},[481,2643,2644],{"class":514}," selectEmployee",[481,2646,2647],{"class":491},"(employees);\n",[481,2649,2650,2652,2655,2657,2660],{"class":483,"line":901},[481,2651,1701],{"class":487},[481,2653,2654],{"class":491}," (employee ",[481,2656,2609],{"class":487},[481,2658,2659],{"class":544}," null",[481,2661,607],{"class":491},[481,2663,2664,2667,2669,2672,2674,2676,2679,2682,2684,2687,2690],{"class":483,"line":1390},[481,2665,2666],{"class":491},"            InputValidator.",[481,2668,2584],{"class":514},[481,2670,2671],{"class":491},"(String.",[481,2673,883],{"class":514},[481,2675,886],{"class":491},[481,2677,2678],{"class":889},"\"El salario de %s es: %.2f\"",[481,2680,2681],{"class":491},", employee.",[481,2683,726],{"class":514},[481,2685,2686],{"class":491},"(), employee.",[481,2688,2689],{"class":514},"getSalary",[481,2691,2692],{"class":491},"()));\n",[481,2694,2695,2697,2699],{"class":483,"line":1406},[481,2696,1721],{"class":491},[481,2698,1724],{"class":487},[481,2700,518],{"class":491},[481,2702,2703,2705,2708,2710,2713],{"class":483,"line":1438},[481,2704,2666],{"class":491},[481,2706,2707],{"class":514},"showErrorMessage",[481,2709,886],{"class":491},[481,2711,2712],{"class":889},"\"No se pudo calcular el salario, no hay empleados disponibles.\"",[481,2714,1218],{"class":491},[481,2716,2717],{"class":483,"line":1443},[481,2718,1741],{"class":491},[481,2720,2722],{"class":483,"line":2721},47,[481,2723,658],{"class":491},[481,2725,2727],{"class":483,"line":2726},48,[481,2728,499],{"emptyLinePlaceholder":498},[481,2730,2732,2734,2736,2738],{"class":483,"line":2731},49,[481,2733,529],{"class":487},[481,2735,783],{"class":487},[481,2737,2568],{"class":514},[481,2739,697],{"class":491},[481,2741,2743],{"class":483,"line":2742},50,[481,2744,499],{"emptyLinePlaceholder":498},[481,2746,2748,2750,2753,2755,2757,2759],{"class":483,"line":2747},51,[481,2749,1251],{"class":487},[481,2751,2752],{"class":491}," totalPayroll ",[481,2754,541],{"class":487},[481,2756,1269],{"class":491},[481,2758,1272],{"class":514},[481,2760,2761],{"class":491},"(employees)\n",[481,2763,2765,2768,2770,2773,2776],{"class":483,"line":2764},52,[481,2766,2767],{"class":491},"                .",[481,2769,1107],{"class":514},[481,2771,2772],{"class":491},"(Objects",[481,2774,2775],{"class":487},"::",[481,2777,2778],{"class":491},"nonNull)\n",[481,2780,2782,2784,2787,2790,2792],{"class":483,"line":2781},53,[481,2783,2767],{"class":491},[481,2785,2786],{"class":514},"mapToDouble",[481,2788,2789],{"class":491},"(Employee",[481,2791,2775],{"class":487},[481,2793,2794],{"class":491},"getSalary)\n",[481,2796,2798,2800,2802],{"class":483,"line":2797},54,[481,2799,2767],{"class":491},[481,2801,1278],{"class":514},[481,2803,679],{"class":491},[481,2805,2807,2810,2812,2814,2816,2818,2821],{"class":483,"line":2806},55,[481,2808,2809],{"class":491},"        InputValidator.",[481,2811,2584],{"class":514},[481,2813,2671],{"class":491},[481,2815,883],{"class":514},[481,2817,886],{"class":491},[481,2819,2820],{"class":889},"\"La nómina total es: %.2f\"",[481,2822,2823],{"class":491},", totalPayroll));\n",[481,2825,2827],{"class":483,"line":2826},56,[481,2828,658],{"class":491},[481,2830,2832],{"class":483,"line":2831},57,[481,2833,499],{"emptyLinePlaceholder":498},[481,2835,2837,2839,2841,2843],{"class":483,"line":2836},58,[481,2838,529],{"class":487},[481,2840,783],{"class":487},[481,2842,1075],{"class":514},[481,2844,697],{"class":491},[481,2846,2848],{"class":483,"line":2847},59,[481,2849,499],{"emptyLinePlaceholder":498},[481,2851,2853,2856,2858,2861,2864],{"class":483,"line":2852},60,[481,2854,2855],{"class":491},"        FullTimeEmployee employee ",[481,2857,541],{"class":487},[481,2859,2860],{"class":491}," (FullTimeEmployee) ",[481,2862,2863],{"class":514},"selectFullTimeEmployee",[481,2865,679],{"class":491},[481,2867,2869,2871,2873,2875,2877],{"class":483,"line":2868},61,[481,2870,1701],{"class":487},[481,2872,2654],{"class":491},[481,2874,2609],{"class":487},[481,2876,2659],{"class":544},[481,2878,607],{"class":491},[481,2880,2882,2885,2888,2891],{"class":483,"line":2881},62,[481,2883,2884],{"class":487},"            if",[481,2886,2887],{"class":491}," (employee.",[481,2889,2890],{"class":514},"isBenefitsFull",[481,2892,2893],{"class":491},"()) {\n",[481,2895,2897,2900,2902,2904,2907],{"class":483,"line":2896},63,[481,2898,2899],{"class":491},"                InputValidator.",[481,2901,2707],{"class":514},[481,2903,886],{"class":491},[481,2905,2906],{"class":889},"\"No se pueden agregar más beneficios a este empleado, la capacidad máxima ha sido alcanzada.\"",[481,2908,1218],{"class":491},[481,2910,2912,2915,2917],{"class":483,"line":2911},64,[481,2913,2914],{"class":491},"            } ",[481,2916,1724],{"class":487},[481,2918,518],{"class":491},[481,2920,2922,2925,2928,2930,2932,2934],{"class":483,"line":2921},65,[481,2923,2924],{"class":487},"                double",[481,2926,2927],{"class":491}," benefit ",[481,2929,541],{"class":487},[481,2931,2428],{"class":491},[481,2933,2431],{"class":514},[481,2935,2434],{"class":491},[481,2937,2939,2942],{"class":483,"line":2938},66,[481,2940,2941],{"class":889},"                        \"Ingrese el monto del beneficio a agregar\"",[481,2943,2442],{"class":491},[481,2945,2947,2950,2952,2955,2957,2959],{"class":483,"line":2946},67,[481,2948,2949],{"class":491},"                        Double.class, s ",[481,2951,1113],{"class":487},[481,2953,2954],{"class":491}," s ",[481,2956,1331],{"class":487},[481,2958,1122],{"class":544},[481,2960,1218],{"class":491},[481,2962,2964,2967,2970],{"class":483,"line":2963},68,[481,2965,2966],{"class":491},"                employee.",[481,2968,2969],{"class":514},"addBenefit",[481,2971,2972],{"class":491},"(benefit);\n",[481,2974,2976,2978,2980,2982,2985],{"class":483,"line":2975},69,[481,2977,2899],{"class":491},[481,2979,2584],{"class":514},[481,2981,886],{"class":491},[481,2983,2984],{"class":889},"\"Beneficio agregado exitosamente.\"",[481,2986,1218],{"class":491},[481,2988,2990],{"class":483,"line":2989},70,[481,2991,2596],{"class":491},[481,2993,2995,2997,2999],{"class":483,"line":2994},71,[481,2996,1721],{"class":491},[481,2998,1724],{"class":487},[481,3000,518],{"class":491},[481,3002,3004,3006,3008,3010,3013],{"class":483,"line":3003},72,[481,3005,2666],{"class":491},[481,3007,2707],{"class":514},[481,3009,886],{"class":491},[481,3011,3012],{"class":889},"\"No se pudo agregar beneficios, no hay empleados de tiempo completo disponibles.\"",[481,3014,1218],{"class":491},[481,3016,3018],{"class":483,"line":3017},73,[481,3019,1741],{"class":491},[481,3021,3023],{"class":483,"line":3022},74,[481,3024,658],{"class":491},[481,3026,3028],{"class":483,"line":3027},75,[481,3029,499],{"emptyLinePlaceholder":498},[481,3031,3033,3035,3037,3039],{"class":483,"line":3032},76,[481,3034,529],{"class":487},[481,3036,783],{"class":487},[481,3038,1162],{"class":514},[481,3040,697],{"class":491},[481,3042,3044],{"class":483,"line":3043},77,[481,3045,499],{"emptyLinePlaceholder":498},[481,3047,3049,3051,3053,3055,3057],{"class":483,"line":3048},78,[481,3050,2855],{"class":491},[481,3052,541],{"class":487},[481,3054,2860],{"class":491},[481,3056,2863],{"class":514},[481,3058,679],{"class":491},[481,3060,3062,3064,3066,3068,3070],{"class":483,"line":3061},79,[481,3063,1701],{"class":487},[481,3065,2654],{"class":491},[481,3067,2609],{"class":487},[481,3069,2659],{"class":544},[481,3071,607],{"class":491},[481,3073,3075,3077,3079,3082],{"class":483,"line":3074},80,[481,3076,2884],{"class":487},[481,3078,2887],{"class":491},[481,3080,3081],{"class":514},"hasBenefits",[481,3083,2893],{"class":491},[481,3085,3087,3089,3091,3093,3095,3097],{"class":483,"line":3086},81,[481,3088,2924],{"class":487},[481,3090,2927],{"class":491},[481,3092,541],{"class":487},[481,3094,2428],{"class":491},[481,3096,2431],{"class":514},[481,3098,2434],{"class":491},[481,3100,3102,3105],{"class":483,"line":3101},82,[481,3103,3104],{"class":889},"                        \"Seleccione el monto del beneficio a eliminar\"",[481,3106,2442],{"class":491},[481,3108,3110,3113,3115],{"class":483,"line":3109},83,[481,3111,3112],{"class":491},"                        employee.",[481,3114,1401],{"class":514},[481,3116,2453],{"class":491},[481,3118,3120,3122,3125],{"class":483,"line":3119},84,[481,3121,2966],{"class":491},[481,3123,3124],{"class":514},"deleteBenefit",[481,3126,2972],{"class":491},[481,3128,3130,3132,3134,3136,3139],{"class":483,"line":3129},85,[481,3131,2899],{"class":491},[481,3133,2584],{"class":514},[481,3135,886],{"class":491},[481,3137,3138],{"class":889},"\"Beneficio eliminado exitosamente.\"",[481,3140,1218],{"class":491},[481,3142,3144,3146,3148],{"class":483,"line":3143},86,[481,3145,2914],{"class":491},[481,3147,1724],{"class":487},[481,3149,518],{"class":491},[481,3151,3153,3155,3157,3159,3162],{"class":483,"line":3152},87,[481,3154,2899],{"class":491},[481,3156,2707],{"class":514},[481,3158,886],{"class":491},[481,3160,3161],{"class":889},"\"No se pueden eliminar beneficios de este empleado, no tiene beneficios registrados.\"",[481,3163,1218],{"class":491},[481,3165,3167],{"class":483,"line":3166},88,[481,3168,2596],{"class":491},[481,3170,3172,3174,3176],{"class":483,"line":3171},89,[481,3173,1721],{"class":491},[481,3175,1724],{"class":487},[481,3177,518],{"class":491},[481,3179,3181,3183,3185,3187,3190],{"class":483,"line":3180},90,[481,3182,2666],{"class":491},[481,3184,2707],{"class":514},[481,3186,886],{"class":491},[481,3188,3189],{"class":889},"\"No se pudo eliminar beneficios, no hay empleados de tiempo completo disponibles.\"",[481,3191,1218],{"class":491},[481,3193,3195],{"class":483,"line":3194},91,[481,3196,1741],{"class":491},[481,3198,3200],{"class":483,"line":3199},92,[481,3201,658],{"class":491},[481,3203,3205],{"class":483,"line":3204},93,[481,3206,499],{"emptyLinePlaceholder":498},[481,3208,3210,3212,3214,3217,3219,3221,3223],{"class":483,"line":3209},94,[481,3211,529],{"class":487},[481,3213,783],{"class":487},[481,3215,3216],{"class":514}," addHour",[481,3218,886],{"class":491},[481,3220,1687],{"class":487},[481,3222,1690],{"class":597},[481,3224,607],{"class":491},[481,3226,3228],{"class":483,"line":3227},95,[481,3229,499],{"emptyLinePlaceholder":498},[481,3231,3233,3236,3238,3241,3244],{"class":483,"line":3232},96,[481,3234,3235],{"class":491},"        HourlyEmployee employee ",[481,3237,541],{"class":487},[481,3239,3240],{"class":491}," (HourlyEmployee) ",[481,3242,3243],{"class":514},"selectHoursEmployee",[481,3245,679],{"class":491},[481,3247,3249,3251,3253,3255,3257],{"class":483,"line":3248},97,[481,3250,1701],{"class":487},[481,3252,2654],{"class":491},[481,3254,2609],{"class":487},[481,3256,2659],{"class":544},[481,3258,607],{"class":491},[481,3260,3262,3265,3268,3270,3272,3274],{"class":483,"line":3261},98,[481,3263,3264],{"class":487},"            int",[481,3266,3267],{"class":491}," hours ",[481,3269,541],{"class":487},[481,3271,2428],{"class":491},[481,3273,2431],{"class":514},[481,3275,2434],{"class":491},[481,3277,3279,3282],{"class":483,"line":3278},99,[481,3280,3281],{"class":889},"                    \"Ingrese la cantidad de horas a agregar\"",[481,3283,2442],{"class":491},[481,3285,3287,3290,3292,3294,3296,3298],{"class":483,"line":3286},100,[481,3288,3289],{"class":491},"                    Integer.class, s ",[481,3291,1113],{"class":487},[481,3293,2954],{"class":491},[481,3295,1331],{"class":487},[481,3297,1122],{"class":544},[481,3299,1218],{"class":491},[481,3301,3303,3305],{"class":483,"line":3302},101,[481,3304,2884],{"class":487},[481,3306,1704],{"class":491},[481,3308,3310,3312,3315],{"class":483,"line":3309},102,[481,3311,2966],{"class":491},[481,3313,3314],{"class":514},"addExtraHours",[481,3316,3317],{"class":491},"(hours);\n",[481,3319,3321,3323,3325,3327,3330],{"class":483,"line":3320},103,[481,3322,2899],{"class":491},[481,3324,2584],{"class":514},[481,3326,886],{"class":491},[481,3328,3329],{"class":889},"\"Horas extra agregadas exitosamente.\"",[481,3331,1218],{"class":491},[481,3333,3335,3337,3339],{"class":483,"line":3334},104,[481,3336,2914],{"class":491},[481,3338,1724],{"class":487},[481,3340,518],{"class":491},[481,3342,3344,3346,3349],{"class":483,"line":3343},105,[481,3345,2966],{"class":491},[481,3347,3348],{"class":514},"addHours",[481,3350,3317],{"class":491},[481,3352,3354,3356,3358,3360,3363],{"class":483,"line":3353},106,[481,3355,2899],{"class":491},[481,3357,2584],{"class":514},[481,3359,886],{"class":491},[481,3361,3362],{"class":889},"\"Horas agregadas exitosamente.\"",[481,3364,1218],{"class":491},[481,3366,3368],{"class":483,"line":3367},107,[481,3369,2596],{"class":491},[481,3371,3373,3375,3377],{"class":483,"line":3372},108,[481,3374,1721],{"class":491},[481,3376,1724],{"class":487},[481,3378,518],{"class":491},[481,3380,3382,3384,3386,3388,3391],{"class":483,"line":3381},109,[481,3383,2666],{"class":491},[481,3385,2707],{"class":514},[481,3387,886],{"class":491},[481,3389,3390],{"class":889},"\"No se pudo agregar horas, no hay empleados de horas disponibles.\"",[481,3392,1218],{"class":491},[481,3394,3396],{"class":483,"line":3395},110,[481,3397,1741],{"class":491},[481,3399,3401],{"class":483,"line":3400},111,[481,3402,658],{"class":491},[481,3404,3406],{"class":483,"line":3405},112,[481,3407,499],{"emptyLinePlaceholder":498},[481,3409,3411,3413,3415,3417],{"class":483,"line":3410},113,[481,3412,529],{"class":487},[481,3414,783],{"class":487},[481,3416,1641],{"class":514},[481,3418,697],{"class":491},[481,3420,3422],{"class":483,"line":3421},114,[481,3423,499],{"emptyLinePlaceholder":498},[481,3425,3427,3430,3432,3434],{"class":483,"line":3426},115,[481,3428,3429],{"class":514},"        addHour",[481,3431,886],{"class":491},[481,3433,1622],{"class":544},[481,3435,1218],{"class":491},[481,3437,3439],{"class":483,"line":3438},116,[481,3440,658],{"class":491},[481,3442,3444],{"class":483,"line":3443},117,[481,3445,499],{"emptyLinePlaceholder":498},[481,3447,3449,3451,3453,3455],{"class":483,"line":3448},118,[481,3450,529],{"class":487},[481,3452,783],{"class":487},[481,3454,1601],{"class":514},[481,3456,697],{"class":491},[481,3458,3460],{"class":483,"line":3459},119,[481,3461,499],{"emptyLinePlaceholder":498},[481,3463,3465,3467,3469,3471],{"class":483,"line":3464},120,[481,3466,3429],{"class":514},[481,3468,886],{"class":491},[481,3470,1658],{"class":544},[481,3472,1218],{"class":491},[481,3474,3476],{"class":483,"line":3475},121,[481,3477,658],{"class":491},[481,3479,3481],{"class":483,"line":3480},122,[481,3482,499],{"emptyLinePlaceholder":498},[481,3484,3486,3488,3491,3494,3496,3499,3501,3504],{"class":483,"line":3485},123,[481,3487,529],{"class":487},[481,3489,3490],{"class":491}," Employee ",[481,3492,3493],{"class":514},"selectEmployee",[481,3495,886],{"class":491},[481,3497,3498],{"class":487},"Employee",[481,3500,1398],{"class":491},[481,3502,3503],{"class":597},"employees",[481,3505,607],{"class":491},[481,3507,3509],{"class":483,"line":3508},124,[481,3510,499],{"emptyLinePlaceholder":498},[481,3512,3514,3516,3519,3521,3524,3527,3529,3531],{"class":483,"line":3513},125,[481,3515,1701],{"class":487},[481,3517,3518],{"class":491}," (Arrays.",[481,3520,1272],{"class":514},[481,3522,3523],{"class":491},"(employees).",[481,3525,3526],{"class":514},"noneMatch",[481,3528,2772],{"class":491},[481,3530,2775],{"class":487},[481,3532,3533],{"class":491},"nonNull)) {\n",[481,3535,3537,3539,3541,3543,3546],{"class":483,"line":3536},126,[481,3538,2666],{"class":491},[481,3540,2707],{"class":514},[481,3542,886],{"class":491},[481,3544,3545],{"class":889},"\"No hay empleados disponibles para esta selección.\"",[481,3547,1218],{"class":491},[481,3549,3551,3554,3556],{"class":483,"line":3550},127,[481,3552,3553],{"class":487},"            return",[481,3555,2659],{"class":544},[481,3557,548],{"class":491},[481,3559,3561,3563,3565],{"class":483,"line":3560},128,[481,3562,1721],{"class":491},[481,3564,1724],{"class":487},[481,3566,518],{"class":491},[481,3568,3570,3572,3574,3576],{"class":483,"line":3569},129,[481,3571,3553],{"class":487},[481,3573,2428],{"class":491},[481,3575,2431],{"class":514},[481,3577,2434],{"class":491},[481,3579,3581,3584],{"class":483,"line":3580},130,[481,3582,3583],{"class":889},"                    \"Seleccione un empleado\"",[481,3585,2442],{"class":491},[481,3587,3589],{"class":483,"line":3588},131,[481,3590,3591],{"class":491},"                    employees);\n",[481,3593,3595],{"class":483,"line":3594},132,[481,3596,1741],{"class":491},[481,3598,3600],{"class":483,"line":3599},133,[481,3601,658],{"class":491},[481,3603,3605],{"class":483,"line":3604},134,[481,3606,499],{"emptyLinePlaceholder":498},[481,3608,3610,3612,3614,3616,3619,3621,3624,3627],{"class":483,"line":3609},135,[481,3611,529],{"class":487},[481,3613,3490],{"class":491},[481,3615,3493],{"class":514},[481,3617,3618],{"class":491},"(Predicate\u003C",[481,3620,3498],{"class":487},[481,3622,3623],{"class":491},"> ",[481,3625,3626],{"class":597},"predicate",[481,3628,607],{"class":491},[481,3630,3632,3635,3638,3640,3642,3644],{"class":483,"line":3631},136,[481,3633,3634],{"class":487},"        Employee",[481,3636,3637],{"class":491},"[] filteredEmployees ",[481,3639,541],{"class":487},[481,3641,1269],{"class":491},[481,3643,1272],{"class":514},[481,3645,2761],{"class":491},[481,3647,3649,3651,3653],{"class":483,"line":3648},137,[481,3650,2767],{"class":491},[481,3652,1107],{"class":514},[481,3654,3655],{"class":491},"(predicate)\n",[481,3657,3659,3661,3663,3665,3667,3669,3671],{"class":483,"line":3658},138,[481,3660,2767],{"class":491},[481,3662,1422],{"class":514},[481,3664,886],{"class":491},[481,3666,3498],{"class":487},[481,3668,1430],{"class":491},[481,3670,1433],{"class":487},[481,3672,1218],{"class":491},[481,3674,3676,3678,3681,3683,3685],{"class":483,"line":3675},139,[481,3677,1701],{"class":487},[481,3679,3680],{"class":491}," (filteredEmployees.length ",[481,3682,1119],{"class":487},[481,3684,1122],{"class":544},[481,3686,607],{"class":491},[481,3688,3690,3692,3694,3696,3698],{"class":483,"line":3689},140,[481,3691,2666],{"class":491},[481,3693,2707],{"class":514},[481,3695,886],{"class":491},[481,3697,3545],{"class":889},[481,3699,1218],{"class":491},[481,3701,3703,3705,3707],{"class":483,"line":3702},141,[481,3704,3553],{"class":487},[481,3706,2659],{"class":544},[481,3708,548],{"class":491},[481,3710,3712,3714,3716],{"class":483,"line":3711},142,[481,3713,1721],{"class":491},[481,3715,1724],{"class":487},[481,3717,518],{"class":491},[481,3719,3721,3723,3725],{"class":483,"line":3720},143,[481,3722,3553],{"class":487},[481,3724,2644],{"class":514},[481,3726,3727],{"class":491},"(filteredEmployees);\n",[481,3729,3731],{"class":483,"line":3730},144,[481,3732,1741],{"class":491},[481,3734,3736],{"class":483,"line":3735},145,[481,3737,658],{"class":491},[481,3739,3741],{"class":483,"line":3740},146,[481,3742,499],{"emptyLinePlaceholder":498},[481,3744,3746,3748,3750,3752],{"class":483,"line":3745},147,[481,3747,529],{"class":487},[481,3749,3490],{"class":491},[481,3751,2863],{"class":514},[481,3753,697],{"class":491},[481,3755,3757],{"class":483,"line":3756},148,[481,3758,499],{"emptyLinePlaceholder":498},[481,3760,3762,3764,3766,3769,3771,3774,3777],{"class":483,"line":3761},149,[481,3763,703],{"class":487},[481,3765,2644],{"class":514},[481,3767,3768],{"class":491},"(T ",[481,3770,1113],{"class":487},[481,3772,3773],{"class":491}," T ",[481,3775,3776],{"class":487},"instanceof",[481,3778,3779],{"class":491}," FullTimeEmployee);\n",[481,3781,3783],{"class":483,"line":3782},150,[481,3784,658],{"class":491},[481,3786,3788],{"class":483,"line":3787},151,[481,3789,499],{"emptyLinePlaceholder":498},[481,3791,3793,3795,3797,3799],{"class":483,"line":3792},152,[481,3794,529],{"class":487},[481,3796,3490],{"class":491},[481,3798,3243],{"class":514},[481,3800,697],{"class":491},[481,3802,3804],{"class":483,"line":3803},153,[481,3805,499],{"emptyLinePlaceholder":498},[481,3807,3809,3811,3813,3815,3817,3819,3821],{"class":483,"line":3808},154,[481,3810,703],{"class":487},[481,3812,2644],{"class":514},[481,3814,3768],{"class":491},[481,3816,1113],{"class":487},[481,3818,3773],{"class":491},[481,3820,3776],{"class":487},[481,3822,3823],{"class":491}," HourlyEmployee);\n",[481,3825,3827],{"class":483,"line":3826},155,[481,3828,658],{"class":491},[481,3830,3832],{"class":483,"line":3831},156,[481,3833,499],{"emptyLinePlaceholder":498},[481,3835,3837,3839,3841,3843],{"class":483,"line":3836},157,[481,3838,529],{"class":487},[481,3840,783],{"class":487},[481,3842,2488],{"class":514},[481,3844,697],{"class":491},[481,3846,3848],{"class":483,"line":3847},158,[481,3849,499],{"emptyLinePlaceholder":498},[481,3851,3853,3855,3857,3859],{"class":483,"line":3852},159,[481,3854,2639],{"class":491},[481,3856,541],{"class":487},[481,3858,2644],{"class":514},[481,3860,2647],{"class":491},[481,3862,3864,3867,3870,3872,3875,3877,3879,3882,3885,3888,3890],{"class":483,"line":3863},160,[481,3865,3866],{"class":487},"        for",[481,3868,3869],{"class":491}," (",[481,3871,1606],{"class":487},[481,3873,3874],{"class":491}," i ",[481,3876,541],{"class":487},[481,3878,1122],{"class":544},[481,3880,3881],{"class":491},"; i ",[481,3883,3884],{"class":487},"\u003C",[481,3886,3887],{"class":491}," employees.length; i",[481,3889,624],{"class":487},[481,3891,607],{"class":491},[481,3893,3895,3897,3900,3902,3904,3907,3910,3913],{"class":483,"line":3894},161,[481,3896,2884],{"class":487},[481,3898,3899],{"class":491}," (employees[i] ",[481,3901,2609],{"class":487},[481,3903,2659],{"class":544},[481,3905,3906],{"class":487}," &&",[481,3908,3909],{"class":491}," employees[i].",[481,3911,3912],{"class":514},"equals",[481,3914,3915],{"class":491},"(employee)) {\n",[481,3917,3919,3922,3924,3926],{"class":483,"line":3918},162,[481,3920,3921],{"class":491},"                employees[i] ",[481,3923,541],{"class":487},[481,3925,2659],{"class":544},[481,3927,548],{"class":491},[481,3929,3931,3933,3935,3937,3940],{"class":483,"line":3930},163,[481,3932,2899],{"class":491},[481,3934,2584],{"class":514},[481,3936,886],{"class":491},[481,3938,3939],{"class":889},"\"Empleado eliminado exitosamente.\"",[481,3941,1218],{"class":491},[481,3943,3945,3948],{"class":483,"line":3944},164,[481,3946,3947],{"class":487},"                return",[481,3949,548],{"class":491},[481,3951,3953],{"class":483,"line":3952},165,[481,3954,2596],{"class":491},[481,3956,3958],{"class":483,"line":3957},166,[481,3959,1741],{"class":491},[481,3961,3963,3965,3967,3969,3972],{"class":483,"line":3962},167,[481,3964,2809],{"class":491},[481,3966,2707],{"class":514},[481,3968,886],{"class":491},[481,3970,3971],{"class":889},"\"Empleado no encontrado.\"",[481,3973,1218],{"class":491},[481,3975,3977],{"class":483,"line":3976},168,[481,3978,658],{"class":491},[481,3980,3982],{"class":483,"line":3981},169,[481,3983,499],{"emptyLinePlaceholder":498},[481,3985,3987,3989,3991,3993],{"class":483,"line":3986},170,[481,3988,529],{"class":487},[481,3990,783],{"class":487},[481,3992,2474],{"class":514},[481,3994,697],{"class":491},[481,3996,3998],{"class":483,"line":3997},171,[481,3999,499],{"emptyLinePlaceholder":498},[481,4001,4003,4006,4009,4011,4013,4015],{"class":483,"line":4002},172,[481,4004,4005],{"class":487},"        boolean",[481,4007,4008],{"class":491}," isFull ",[481,4010,541],{"class":487},[481,4012,2428],{"class":491},[481,4014,2431],{"class":514},[481,4016,2434],{"class":491},[481,4018,4020,4023],{"class":483,"line":4019},173,[481,4021,4022],{"class":889},"                \"¿El empleado es de tiempo completo? (s\u002Fn)\"",[481,4024,2442],{"class":491},[481,4026,4028],{"class":483,"line":4027},174,[481,4029,4030],{"class":491},"                Boolean.class);\n",[481,4032,4034,4037,4039,4042,4044,4046,4048,4050,4052,4054],{"class":483,"line":4033},175,[481,4035,4036],{"class":491},"        Predicate\u003C",[481,4038,1427],{"class":487},[481,4040,4041],{"class":491},"> positiveDouble ",[481,4043,541],{"class":487},[481,4045,2954],{"class":491},[481,4047,1113],{"class":487},[481,4049,2954],{"class":491},[481,4051,1331],{"class":487},[481,4053,1122],{"class":544},[481,4055,548],{"class":491},[481,4057,4059,4062,4064,4066,4068],{"class":483,"line":4058},176,[481,4060,4061],{"class":491},"        String name ",[481,4063,541],{"class":487},[481,4065,2428],{"class":491},[481,4067,2431],{"class":514},[481,4069,2434],{"class":491},[481,4071,4073,4076],{"class":483,"line":4072},177,[481,4074,4075],{"class":889},"                \"Ingrese el nombre del empleado\"",[481,4077,2442],{"class":491},[481,4079,4081,4084,4086,4089,4092,4095,4097,4100],{"class":483,"line":4080},178,[481,4082,4083],{"class":491},"                String.class, s ",[481,4085,1113],{"class":487},[481,4087,4088],{"class":487}," !",[481,4090,4091],{"class":491},"s.",[481,4093,4094],{"class":514},"trim",[481,4096,1131],{"class":491},[481,4098,4099],{"class":514},"isEmpty",[481,4101,2453],{"class":491},[481,4103,4105,4108,4110,4113],{"class":483,"line":4104},179,[481,4106,4107],{"class":491},"        Department department ",[481,4109,541],{"class":487},[481,4111,4112],{"class":514}," selectDepartment",[481,4114,679],{"class":491},[481,4116,4118,4120,4122,4124],{"class":483,"line":4117},180,[481,4119,2639],{"class":491},[481,4121,541],{"class":487},[481,4123,4008],{"class":491},[481,4125,4126],{"class":487},"?\n",[481,4128,4130,4133,4135,4138,4140],{"class":483,"line":4129},181,[481,4131,4132],{"class":487},"                new",[481,4134,954],{"class":514},[481,4136,4137],{"class":491},"(name, department, InputValidator.",[481,4139,2431],{"class":514},[481,4141,2434],{"class":491},[481,4143,4145,4148],{"class":483,"line":4144},182,[481,4146,4147],{"class":889},"                        \"Ingrese el salario del empleado\"",[481,4149,2442],{"class":491},[481,4151,4153,4156],{"class":483,"line":4152},183,[481,4154,4155],{"class":491},"                        Double.class, positiveDouble)) ",[481,4157,4158],{"class":487},":\n",[481,4160,4162,4164,4166,4168,4170],{"class":483,"line":4161},184,[481,4163,4132],{"class":487},[481,4165,1475],{"class":514},[481,4167,4137],{"class":491},[481,4169,2431],{"class":514},[481,4171,2434],{"class":491},[481,4173,4175,4178],{"class":483,"line":4174},185,[481,4176,4177],{"class":889},"                        \"Ingrese la tarifa por hora del empleado\"",[481,4179,2442],{"class":491},[481,4181,4183],{"class":483,"line":4182},186,[481,4184,4185],{"class":491},"                        Double.class, positiveDouble));\n",[481,4187,4189,4192],{"class":483,"line":4188},187,[481,4190,4191],{"class":514},"        addEmployee",[481,4193,4194],{"class":491},"(employee);\n",[481,4196,4198],{"class":483,"line":4197},188,[481,4199,658],{"class":491},[481,4201,4203],{"class":483,"line":4202},189,[481,4204,499],{"emptyLinePlaceholder":498},[481,4206,4208,4210,4212,4214,4217,4220],{"class":483,"line":4207},190,[481,4209,529],{"class":487},[481,4211,783],{"class":487},[481,4213,2474],{"class":514},[481,4215,4216],{"class":491},"(Employee ",[481,4218,4219],{"class":597},"employee",[481,4221,607],{"class":491},[481,4223,4225],{"class":483,"line":4224},191,[481,4226,499],{"emptyLinePlaceholder":498},[481,4228,4230,4232,4234,4236,4238,4240,4242,4244,4246,4248,4250],{"class":483,"line":4229},192,[481,4231,3866],{"class":487},[481,4233,3869],{"class":491},[481,4235,1606],{"class":487},[481,4237,3874],{"class":491},[481,4239,541],{"class":487},[481,4241,1122],{"class":544},[481,4243,3881],{"class":491},[481,4245,3884],{"class":487},[481,4247,3887],{"class":491},[481,4249,624],{"class":487},[481,4251,607],{"class":491},[481,4253,4255,4257,4259,4261,4263],{"class":483,"line":4254},193,[481,4256,2884],{"class":487},[481,4258,3899],{"class":491},[481,4260,1119],{"class":487},[481,4262,2659],{"class":544},[481,4264,607],{"class":491},[481,4266,4268,4270,4272],{"class":483,"line":4267},194,[481,4269,3921],{"class":491},[481,4271,541],{"class":487},[481,4273,4274],{"class":491}," employee;\n",[481,4276,4278,4280,4282,4284,4287],{"class":483,"line":4277},195,[481,4279,2899],{"class":491},[481,4281,2584],{"class":514},[481,4283,886],{"class":491},[481,4285,4286],{"class":889},"\"Empleado agregado exitosamente.\"",[481,4288,1218],{"class":491},[481,4290,4292,4294],{"class":483,"line":4291},196,[481,4293,3947],{"class":487},[481,4295,548],{"class":491},[481,4297,4299],{"class":483,"line":4298},197,[481,4300,2596],{"class":491},[481,4302,4304],{"class":483,"line":4303},198,[481,4305,1741],{"class":491},[481,4307,4309,4311,4313,4315,4318],{"class":483,"line":4308},199,[481,4310,2809],{"class":491},[481,4312,2707],{"class":514},[481,4314,886],{"class":491},[481,4316,4317],{"class":889},"\"No se pueden agregar más empleados, la capacidad máxima ha sido alcanzada.\"",[481,4319,1218],{"class":491},[481,4321,4323],{"class":483,"line":4322},200,[481,4324,658],{"class":491},[481,4326,4328],{"class":483,"line":4327},201,[481,4329,499],{"emptyLinePlaceholder":498},[481,4331,4333,4335,4337,4340],{"class":483,"line":4332},202,[481,4334,529],{"class":487},[481,4336,753],{"class":491},[481,4338,4339],{"class":514},"selectDepartment",[481,4341,697],{"class":491},[481,4343,4345],{"class":483,"line":4344},203,[481,4346,499],{"emptyLinePlaceholder":498},[481,4348,4350,4352,4354,4356],{"class":483,"line":4349},204,[481,4351,703],{"class":487},[481,4353,2428],{"class":491},[481,4355,2431],{"class":514},[481,4357,2434],{"class":491},[481,4359,4361,4364],{"class":483,"line":4360},205,[481,4362,4363],{"class":889},"                \"Seleccione el departamento\"",[481,4365,2442],{"class":491},[481,4367,4369,4372,4374],{"class":483,"line":4368},206,[481,4370,4371],{"class":491},"                Department.",[481,4373,2450],{"class":514},[481,4375,2453],{"class":491},[481,4377,4379],{"class":483,"line":4378},207,[481,4380,658],{"class":491},[481,4382,4384],{"class":483,"line":4383},208,[481,4385,904],{"class":491},[418,4387,4389],{"id":4388},"conclusión","Conclusión",[437,4391,4392,4393,4395],{},"En este ejemplo, hemos implementado un sistema de gestión de empleados utilizando herencia para definir diferentes tipos de empleados y sobrecarga para manejar la adición de horas y beneficios. Además, hemos utilizado ",[455,4394,457],{}," para validar la entrada del usuario y proporcionar una interfaz interactiva. Este enfoque nos permite gestionar eficientemente la información de los empleados y calcular sus salarios de manera flexible.",[4397,4398,4399],"style",{},"html pre.shiki code .snl16, html code.shiki .snl16{--shiki-default:#F97583}html pre.shiki code .s95oV, html code.shiki .s95oV{--shiki-default:#E1E4E8}html pre.shiki code .svObZ, html code.shiki .svObZ{--shiki-default:#B392F0}html pre.shiki code .sDLfK, html code.shiki .sDLfK{--shiki-default:#79B8FF}html pre.shiki code .s9osk, html code.shiki .s9osk{--shiki-default:#FFAB70}html pre.shiki code .sU2Wk, html code.shiki .sU2Wk{--shiki-default:#9ECBFF}html .default .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}",{"title":477,"searchDepth":495,"depth":495,"links":4401},[4402,4403,4404,4418],{"id":420,"depth":495,"text":421},{"id":434,"depth":495,"text":435},{"id":461,"depth":495,"text":462,"children":4405},[4406,4408,4410,4412,4414,4416],{"id":466,"depth":502,"text":4407},"Clase base Emplployee",{"id":907,"depth":502,"text":4409},"Clase FullTimeEmployee",{"id":1448,"depth":502,"text":4411},"Clase HourlyEmployee",{"id":1833,"depth":502,"text":4413},"Enum Department",{"id":2022,"depth":502,"text":4415},"Enum MenuOption",{"id":2265,"depth":502,"text":4417},"Clase EmployeeManagementSystem",{"id":4388,"depth":495,"text":4389},"Implementación de un sistema de gestión de empleados utilizando validación de datos con JOptionPane.","md",null,{"editButton":42},{"title":343,"description":4419},"YpMltw2MrrhyTsXhStXjFljL4ZJvXOVaYS6LMOMjico",[4426,4428],{"title":339,"path":340,"stem":341,"description":4427,"children":-1},"En este ejemplo, crearemos una clase `InputValidator` que contiene funciones genéricas para validar diferentes tipos de entradas, como números enteros, correos electrónicos y fechas. Estas funciones lanzarán excepciones personalizadas si la validación falla.",{"title":352,"path":353,"stem":354,"description":4429,"icon":105,"children":-1},"Crea una infografía que ilustre el proceso de compilación de un programa.",1779479577040]