package com.framework.site.data; import org.apache.commons.lang3.StringUtils; /** * Created with IntelliJ IDEA ( LivePerson : www.liveperson.com ) * * Package: com.framework.site.objects.body * * Name : Ports * * User : solmarkn / Dani Vainstein * * Date : 2015-01-10 * * Time : 03:09 */ public enum DeparturePorts { BALTIMORE( "MD", "BWI", "baltimore" ), BARBADOS( StringUtils.EMPTY, "BDS", "barbados" ), CHARLESTON( "SC", "CHS", "charleston" ), FORT_LAUDERDALE( "FL", "FLL", "ft-lauderdale" ), GALVESTON( "TX", "GAL", "galveston" ), HONOLULU( "HI", "HNL", "honolulu" ), JACKSONVILLE( "FL", "JAX", "jacksonville" ), LOS_ANGELES( "CA", "LAX", "los-angeles" ), MIAMI( "FL", "MIA", "miami" ), NEW_ORLEANS( "LA", "MSY", "new-orleans" ), NEW_YORK( "NY", "NYC", "new-york" ), NORFOLK( "VA", "ORF", "norfolk" ), PORT_CANAVERAL( "Port Canaveral (Orlando)", "FL", "PCV", "port-canaveral" ), SAN_JUAN( "Puerto Rico", "SJU", "san-juan" ), SEATTLE( "WA", "SEA", "seattle" ), TAMPA( "FL", "TPA", "tampa" ), VANCOUVER( "BC, Canada", "YVR", "vancouver" ), TRIESTE( "Italy", "TRS", "trieste" ), ATHENS( "Greece", "", "athens" ), BARCELONA( "Spain", "", "barcelona" ), SIDNEY( "", "", "sidney" ), SINGAPORE( "", "", "singapore" ); // ------------------------------------------------------------------------------------------ // //region DeparturePorts - Members private final String id; private final String departurePort; private final String href; //endregion //region DeparturePorts - Enumeration constructors private DeparturePorts( final String stateCountry, final String id, final String href ) { this.id = id; this.href = href; String city = StringUtils.capitalize( name().replaceAll( "_", " " ).toLowerCase() ); this.departurePort = ( StringUtils.isEmpty( stateCountry ) ) ? city + ", " + stateCountry : city; } private DeparturePorts( final String port, final String stateCountry, final String id, final String href ) { this.id = id; this.href = href; this.departurePort = ( StringUtils.isEmpty( stateCountry ) ) ? port + ", " + stateCountry : port; } //endregion //region DeparturePorts getters public String getDeparturePort() { return departurePort; } public String getId() { return id; } public String getHref() { return href; } //endregion //region DeparturePorts - Search public static DeparturePorts valueByHRef( String href ) { for ( DeparturePorts e : values() ) { if ( href.contains( e.getHref() ) ) { return e; } } return null; } public static DeparturePorts valueById( String id ) { for ( DeparturePorts e : values() ) { if ( e.getId().equals( id.toUpperCase() ) ) { return e; } } return null; } public static DeparturePorts convert( String port ) { if( StringUtils.startsWithIgnoreCase( port, "Los Angeles" ) ) return DeparturePorts.LOS_ANGELES; else if( StringUtils.startsWithIgnoreCase( port, "Baltimore" ) ) return DeparturePorts.BALTIMORE; else if( StringUtils.startsWithIgnoreCase( port, "Barbados" ) ) return DeparturePorts.BARBADOS; else if( StringUtils.startsWithIgnoreCase( port, "Charleston" ) ) return DeparturePorts.CHARLESTON; else if( StringUtils.startsWithIgnoreCase( port, "Galveston" ) ) return DeparturePorts.GALVESTON; else if( StringUtils.startsWithIgnoreCase( port, "Fort" ) ) return DeparturePorts.FORT_LAUDERDALE; else if( StringUtils.startsWithIgnoreCase( port, "Honolulu" ) ) return DeparturePorts.HONOLULU; else if( StringUtils.startsWithIgnoreCase( port, "Jacksonville" ) ) return DeparturePorts.JACKSONVILLE; else if( StringUtils.startsWithIgnoreCase( port, "Miami" ) ) return DeparturePorts.MIAMI; else if( StringUtils.startsWithIgnoreCase( port, "New Orleans" ) ) return DeparturePorts.NEW_ORLEANS; else if( StringUtils.startsWithIgnoreCase( port, "New York" ) ) return DeparturePorts.NEW_YORK; else if( StringUtils.startsWithIgnoreCase( port, "Norfolk" ) ) return DeparturePorts.NORFOLK; else if( StringUtils.startsWithIgnoreCase( port, "Port Canaveral" ) ) return DeparturePorts.PORT_CANAVERAL; else if( StringUtils.startsWithIgnoreCase( port, "San Juan" ) ) return DeparturePorts.SAN_JUAN; else if( StringUtils.startsWithIgnoreCase( port, "Seattle" ) ) return DeparturePorts.SEATTLE; else if( StringUtils.startsWithIgnoreCase( port, "Tampa" ) ) return DeparturePorts.TAMPA; else if( StringUtils.startsWithIgnoreCase( port, "Norfolk" ) ) return DeparturePorts.NORFOLK; else if( StringUtils.startsWithIgnoreCase( port, "Vancouver" ) ) return DeparturePorts.VANCOUVER; else if( StringUtils.startsWithIgnoreCase( port, "Trieste" ) ) return DeparturePorts.TRIESTE; else if( StringUtils.startsWithIgnoreCase( port, "Athens" ) ) return DeparturePorts.ATHENS; else if( StringUtils.startsWithIgnoreCase( port, "Barcelona" ) ) return DeparturePorts.BARCELONA; else if( StringUtils.startsWithIgnoreCase( port, "Sidney" ) ) return DeparturePorts.SIDNEY; else if( StringUtils.startsWithIgnoreCase( port, "Singapore" ) ) return DeparturePorts.SINGAPORE; else return null; } //endregion @Override public String toString() { return name(); } }