StateConverter.java
上传用户:hengxinggs
上传日期:2008-01-15
资源大小:212k
文件大小:4k
源码类别:

PlugIns编程

开发平台:

Java

  1. /*******************************************************************************
  2.  * Copyright (c) 2005 IBM Corporation and others.
  3.  * All rights reserved. This program and the accompanying materials
  4.  * are made available under the terms of the Eclipse Public License v1.0
  5.  * which accompanies this distribution, and is available at
  6.  * http://www.eclipse.org/legal/epl-v10.html
  7.  * 
  8.  * Contributors:
  9.  *     IBM Corporation - initial API and implementation
  10.  *******************************************************************************/
  11. package org.eclipse.jface.examples.databinding.model;
  12. import org.eclipse.jface.databinding.converter.IConverter;
  13.  
  14. public class StateConverter implements IConverter {
  15. /*
  16.  * State Abbreviations
  17.  *  
  18.  * From: http://www.usps.com/ncsc/lookups/usps_abbreviations.html
  19.  * 
  20.  * ALABAMA -> AL
  21.  * ALASKA -> AK
  22.  * AMERICAN SAMOA -> AS
  23.  * ARIZONA -> AZ
  24.  * ARKANSAS -> AR
  25.  * CALIFORNIA -> CA
  26.  * COLORADO -> CO
  27.  * CONNECTICUT -> CT
  28.  * DELAWARE -> DE
  29.  * DISTRICT OF COLUMBIA -> DC
  30.  * FEDERATED STATES OF MICRONESIA -> FM
  31.  * FLORIDA -> FL
  32.  * GEORGIA -> GA
  33.  * GUAM -> GU
  34.  * HAWAII -> HI
  35.  * IDAHO -> ID
  36.  * ILLINOIS -> IL
  37.  * INDIANA -> IN
  38.  * IOWA -> IA
  39.  * KANSAS -> KS
  40.  * KENTUCKY -> KY
  41.  * LOUISIANA -> LA
  42.  * MAINE -> ME
  43.  * MARSHALL ISLANDS -> MH
  44.  * MARYLAND -> MD
  45.  * MASSACHUSETTS -> MA
  46.  * MICHIGAN -> MI
  47.  * MINNESOTA -> MN
  48.  * MISSISSIPPI -> MS
  49.  * MISSOURI -> MO
  50.  * MONTANA -> MT
  51.  * NEBRASKA -> NE
  52.  * NEVADA -> NV
  53.  * NEW HAMPSHIRE -> NH
  54.  * NEW JERSEY -> NJ
  55.  * NEW MEXICO -> NM
  56.  * NEW YORK -> NY
  57.  * NORTH CAROLINA -> NC
  58.  * NORTH DAKOTA -> ND
  59.  * NORTHERN MARIANA ISLANDS -> MP
  60.  * OHIO -> OH
  61.  * OKLAHOMA -> OK
  62.  * OREGON -> OR
  63.  * PALAU -> PW
  64.  * PENNSYLVANIA -> PA
  65.  * PUERTO RICO -> PR
  66.  * RHODE ISLAND -> RI
  67.  * SOUTH CAROLINA -> SC
  68.  * SOUTH DAKOTA -> SD
  69.  * TENNESSEE -> TN
  70.  * TEXAS -> TX
  71.  * UTAH -> UT
  72.  * VERMONT -> VT
  73.  * VIRGIN ISLANDS -> VI
  74.  * VIRGINIA -> VA
  75.  * WASHINGTON -> WA
  76.  * WEST VIRGINIA -> WV
  77.  * WISCONSIN -> WI
  78.  * WYOMING -> WY
  79.  */
  80. public final static String[] STATE_LETTERS = new String[] {
  81.   "AL","AK","AZ","AR","CA","CO","CT","DE","DC","FL","GA","GU","HI",
  82.   "ID","IL","IN","IA","KS","KY","LA","ME","MD","MA","MI","MN","MS",
  83.   "MO","MT","NE","NV","NH","NJ","NM","NY","NC","ND","OH","OK","OR",
  84.   "PA","PR","RI","SC","SD","TN","TX","UT","VA","VI","WA","WV","WI", "WY" 
  85. };
  86. public final static String[] STATE_NAMES = new String[] {
  87. "Alabama","Alaska","Arizona","Arkansas","California","Colorado","CONNECTICUT","Delaware","Washington DC","Florida","Georgia","GUAM","Hawaii",
  88. "Idaho","Illinois","Indiana","Iowa","Kansas","KENTUCKY","LOUISIANA","MAINE","MARYLAND","Michigan","MASSACHUSETTS","Minnesota","Mississippi",
  89. "MISSOURI","MONTANA","NEBRASKA","Nevada","New Hampshire","New Jersey","New Mexico","New York","North Carolina","North Dakota","Ohio","Oklahmoa","Oregon",
  90. "Pensylvania","PUERTO RICO","Rhode Island","South Carolina","South Dakota","TENNESSEE","Texas","Utah","VERMONT", "VIRGIN ISLANDS","Virginia","Washington","West Virginia","Wisconsin", "Wyoming"
  91. };
  92. public Class getModelType() {
  93. return String.class;
  94. }
  95. public Class getTargetType() {
  96. return String.class;
  97. }
  98. public Object convertTargetToModel(Object targetObject) {
  99. String stateName = (String)targetObject;
  100. if(stateName != null){
  101. for (int i = 0; i < STATE_NAMES.length; i++) {
  102. if(STATE_NAMES[i].equalsIgnoreCase(stateName)){
  103. return STATE_LETTERS[i];
  104. }
  105. }
  106. }
  107. return null;
  108. }
  109. public Object convertModelToTarget(Object modelObject) {
  110. // Return the state name for the letter
  111. String stateLetter = (String)modelObject;
  112. if(stateLetter != null){
  113. for (int i = 0; i < STATE_LETTERS.length; i++) {
  114. if(STATE_LETTERS[i].equals(stateLetter)){
  115. return STATE_NAMES[i];
  116. }
  117. }
  118. }
  119. return "??" + STATE_LETTERS + "??";
  120. }
  121. }