package fr.lteconsulting.hexa.client.common;
import fr.lteconsulting.hexa.client.common.hexadatedisplayformatfactory.HexaDateDisplayFormatFactory;
import fr.lteconsulting.hexa.client.common.hexadatedisplayformatfactory.HexaDateDisplayFormatFactory.Format;
public class HexaDateDisplayFormatList
{
private static HexaDateDisplayFormat[] s_formats = new HexaDateDisplayFormat[] { HexaDateDisplayFormatFactory.get( Format.FORMAT_1 ), HexaDateDisplayFormatFactory.get( Format.FORMAT_2 ), HexaDateDisplayFormatFactory.get( Format.FORMAT_3 ) };
private static String[] s_possibleFormats = null;
public static String[] getPossibleFormats()
{
if( s_possibleFormats != null )
return s_possibleFormats;
int nbFormats = s_formats.length;
s_possibleFormats = new String[nbFormats];
for( int i = 0; i < nbFormats; i++ )
s_possibleFormats[i] = s_formats[i].getName();
return s_possibleFormats;
}
public static HexaDateDisplayFormat getFormat( String name )
{
int nbFormats = s_formats.length;
for( int i = 0; i < nbFormats; i++ )
{
if( s_formats[i].getName().equals( name ) )
return s_formats[i];
}
// return the default one if nothing matching is found
return s_formats[0];
}
public static HexaDateDisplayFormat getFormat( Format format )
{
switch( format )
{
case FORMAT_1:
return s_formats[0];
case FORMAT_2:
return s_formats[1];
case FORMAT_3:
return s_formats[2];
}
return null;
}
}