r01f.enums
Class EnumValuesWithCodeAndDescriptionsWrapper<T extends CodeAndDescriptionsEnum<T>>

java.lang.Object
  extended by r01f.enums.EnumValuesWithCodeWrapper<T>
      extended by r01f.enums.EnumValuesWithCodeAndDescriptionsWrapper<T>
Type Parameters:
T - el Enum concreto

public class EnumValuesWithCodeAndDescriptionsWrapper<T extends CodeAndDescriptionsEnum<T>>
extends EnumValuesWithCodeWrapper<T>

Encapsula las operaciones habituales en un Enum que implementa CodeAndDescriptionsEnum de forma que en el enum únicamente hay que poner el siguiente código: Uso: 1.- Crear un enum tal que: enum MyEnum implements CodeAndDescriptionsEnum 2.- Implementar los métodos del interfaz ayudándose de la clase Enums: // --- Metodos estaticos private static EnumValuesWithCodeAndDescriptionsWrapper enums = new EnumValuesWithCodeAndDescriptionsWrapper(MyEnum.values()); public static MyEnum fromCode(int code) { return enums.fromCode(code); } public static MyEnum fromDescription(String desc) { return enums.fromDescription(desc); } public static MyEnum fromName(String name) { return enums.fromName(name); }


Field Summary
 
Fields inherited from class r01f.enums.EnumValuesWithCodeWrapper
_strict, _values
 
Constructor Summary
EnumValuesWithCodeAndDescriptionsWrapper(T[] values)
          Constructor en base a los valores del enum
 
Method Summary
 boolean canBeFromDescription(java.lang.String desc)
          Comprueba si un elemento del enum puede ser asignado a partir de una descripción
 T fromDescription(java.lang.String desc)
          Obtiene el elemento del enum a partir de la descripcion
 T fromDescription(java.lang.String desc, java.lang.String matchingRegEx)
          Obtiene el elemento del enum a partir de aplicar una expresion regular a la descripcion si el elemento el enum verifica la expresión regular que se pasa, se asume que ese elemento es el buscado
 EnumValuesWithCodeAndDescriptionsWrapper<T> strict()
          Establece el modo de funcionamiento a "estricto", de forma que se lanza una excepcion IllegalArgumentException si NO se encuentra el elemento al invocar a los métodos fromXX
 
Methods inherited from class r01f.enums.EnumValuesWithCodeWrapper
fromCode, fromName, isIn
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

EnumValuesWithCodeAndDescriptionsWrapper

public EnumValuesWithCodeAndDescriptionsWrapper(T[] values)
Constructor en base a los valores del enum

Parameters:
values -
Method Detail

strict

public EnumValuesWithCodeAndDescriptionsWrapper<T> strict()
Description copied from class: EnumValuesWithCodeWrapper
Establece el modo de funcionamiento a "estricto", de forma que se lanza una excepcion IllegalArgumentException si NO se encuentra el elemento al invocar a los métodos fromXX

Overrides:
strict in class EnumValuesWithCodeWrapper<T extends CodeAndDescriptionsEnum<T>>

canBeFromDescription

public boolean canBeFromDescription(java.lang.String desc)
Comprueba si un elemento del enum puede ser asignado a partir de una descripción

Parameters:
desc - descripción
Returns:
true si puede ser asignado

fromDescription

public T fromDescription(java.lang.String desc)
Obtiene el elemento del enum a partir de la descripcion

Parameters:
desc - descripcion del elemento
Returns:
el elemento del enum

fromDescription

public T fromDescription(java.lang.String desc,
                         java.lang.String matchingRegEx)
Obtiene el elemento del enum a partir de aplicar una expresion regular a la descripcion si el elemento el enum verifica la expresión regular que se pasa, se asume que ese elemento es el buscado

Parameters:
desc - descripcion del elemento
matchingRegEx - expresion regular
Returns:
el elemento del enum