1/* 2 * CDDL HEADER START 3 * 4 * The contents of this file are subject to the terms of the 5 * Common Development and Distribution License, Version 1.0 only 6 * (the "License"). You may not use this file except in compliance 7 * with the License. 8 * 9 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 10 * or http://www.opensolaris.org/os/licensing. 11 * See the License for the specific language governing permissions 12 * and limitations under the License. 13 * 14 * When distributing Covered Code, include this CDDL HEADER in each 15 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 16 * If applicable, add the following below this CDDL HEADER, with the 17 * fields enclosed by brackets "[]" replaced with your own identifying 18 * information: Portions Copyright [yyyy] [name of copyright owner] 19 * 20 * CDDL HEADER END 21 */ 22/* 23 * ident "%Z%%M% %I% %E% SMI" 24 * 25 * Copyright (c) 2000 by Sun Microsystems, Inc. 26 * All rights reserved. 27 */ 28 29/* 30 * Copyright (C) 1996 Active Software, Inc. 31 * All rights reserved. 32 * 33 * @(#) SubFieldTokenizer.java 1.7 - last change made 07/25/97 34 */ 35 36package sunsoft.jws.visual.rt.type; 37 38import java.util.Hashtable; 39import java.util.StringTokenizer; 40 41/* BEGIN JSTYLED */ 42/** 43 * Separates a string into sub-field (key-value pairs.) The 44 * syntax of the 45 * string needs to be something like this: 46 * <pre> 47 * name=Helvetica;style=italic;size=12; 48 * </pre> 49 * A hashtable of the keys->values is created, which the caller can then 50 * run through to determine what values were set. Case of field names 51 * is always ignored. 52 * 53 * @version 1.7, 07/25/97 54*/ 55/* END JSTYLED */ 56public class SubFieldTokenizer { 57 private Hashtable table; 58 59 public SubFieldTokenizer(String s) { 60 table = new Hashtable(); 61 62 StringTokenizer st = new StringTokenizer(s, /* NOI18N */";"); 63 while (st.hasMoreTokens()) { 64 String spec = st.nextToken(); 65 if (spec.length() > 0) { 66 int index = spec.indexOf(/* NOI18N */ '='); 67 if (index != -1) { 68 String key = spec.substring(0, index). 69 trim().toLowerCase(); 70 String value = spec.substring(index + 1).trim(); 71 if (key.length() > 0) { 72 table.put(key, value); 73 } 74 } 75 } 76 } 77 } 78 79 public Hashtable getHashtable() { 80 return (table); 81 } 82} 83