blob: 01413de377bcd9e65571edc5a52cd1fa94439a32 [file] [log] [blame]
/*******************************************************************************
* Copyright (c) 2005 IBM Corporation and others.
* All rights reserved. This program and the accompanying materials
* are made available under the terms of the Eclipse Public License v1.0
* which accompanies this distribution, and is available at
* http://www.eclipse.org/legal/epl-v10.html
*
* Contributors:
* IBM Corporation - initial API and implementation
*******************************************************************************/
package org.eclipse.jface.examples.databinding.model;
import org.eclipse.jface.databinding.converter.IConverter;
public class StateConverter implements IConverter {
/*
* State Abbreviations
*
* From: http://www.usps.com/ncsc/lookups/usps_abbreviations.html
*
* ALABAMA -> AL
* ALASKA -> AK
* AMERICAN SAMOA -> AS
* ARIZONA -> AZ
* ARKANSAS -> AR
* CALIFORNIA -> CA
* COLORADO -> CO
* CONNECTICUT -> CT
* DELAWARE -> DE
* DISTRICT OF COLUMBIA -> DC
* FEDERATED STATES OF MICRONESIA -> FM
* FLORIDA -> FL
* GEORGIA -> GA
* GUAM -> GU
* HAWAII -> HI
* IDAHO -> ID
* ILLINOIS -> IL
* INDIANA -> IN
* IOWA -> IA
* KANSAS -> KS
* KENTUCKY -> KY
* LOUISIANA -> LA
* MAINE -> ME
* MARSHALL ISLANDS -> MH
* MARYLAND -> MD
* MASSACHUSETTS -> MA
* MICHIGAN -> MI
* MINNESOTA -> MN
* MISSISSIPPI -> MS
* MISSOURI -> MO
* MONTANA -> MT
* NEBRASKA -> NE
* NEVADA -> NV
* NEW HAMPSHIRE -> NH
* NEW JERSEY -> NJ
* NEW MEXICO -> NM
* NEW YORK -> NY
* NORTH CAROLINA -> NC
* NORTH DAKOTA -> ND
* NORTHERN MARIANA ISLANDS -> MP
* OHIO -> OH
* OKLAHOMA -> OK
* OREGON -> OR
* PALAU -> PW
* PENNSYLVANIA -> PA
* PUERTO RICO -> PR
* RHODE ISLAND -> RI
* SOUTH CAROLINA -> SC
* SOUTH DAKOTA -> SD
* TENNESSEE -> TN
* TEXAS -> TX
* UTAH -> UT
* VERMONT -> VT
* VIRGIN ISLANDS -> VI
* VIRGINIA -> VA
* WASHINGTON -> WA
* WEST VIRGINIA -> WV
* WISCONSIN -> WI
* WYOMING -> WY
*/
public final static String[] STATE_LETTERS = new String[] {
"AL","AK","AZ","AR","CA","CO","CT","DE","DC","FL","GA","GU","HI",
"ID","IL","IN","IA","KS","KY","LA","ME","MD","MA","MI","MN","MS",
"MO","MT","NE","NV","NH","NJ","NM","NY","NC","ND","OH","OK","OR",
"PA","PR","RI","SC","SD","TN","TX","UT","VA","VI","WA","WV","WI", "WY"
};
public final static String[] STATE_NAMES = new String[] {
"Alabama","Alaska","Arizona","Arkansas","California","Colorado","CONNECTICUT","Delaware","Washington DC","Florida","Georgia","GUAM","Hawaii",
"Idaho","Illinois","Indiana","Iowa","Kansas","KENTUCKY","LOUISIANA","MAINE","MARYLAND","Michigan","MASSACHUSETTS","Minnesota","Mississippi",
"MISSOURI","MONTANA","NEBRASKA","Nevada","New Hampshire","New Jersey","New Mexico","New York","North Carolina","North Dakota","Ohio","Oklahmoa","Oregon",
"Pensylvania","PUERTO RICO","Rhode Island","South Carolina","South Dakota","TENNESSEE","Texas","Utah","VERMONT", "VIRGIN ISLANDS","Virginia","Washington","West Virginia","Wisconsin", "Wyoming"
};
public Class getModelType() {
return String.class;
}
public Class getTargetType() {
return String.class;
}
public Object convertTargetToModel(Object targetObject) {
String stateName = (String)targetObject;
if(stateName != null){
for (int i = 0; i < STATE_NAMES.length; i++) {
if(STATE_NAMES[i].equalsIgnoreCase(stateName)){
return STATE_LETTERS[i];
}
}
}
return null;
}
public Object convertModelToTarget(Object modelObject) {
// Return the state name for the letter
String stateLetter = (String)modelObject;
if(stateLetter != null){
for (int i = 0; i < STATE_LETTERS.length; i++) {
if(STATE_LETTERS[i].equals(stateLetter)){
return STATE_NAMES[i];
}
}
}
return "??" + STATE_LETTERS + "??";
}
}