⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 delimitedpairdecoder.java

📁 国外的一套开源CRM
💻 JAVA
字号:
/*
 * 
 * Copyright (c) 2004 SourceTap - www.sourcetap.com
 *
 *  The contents of this file are subject to the SourceTap Public License 
 * ("License"); You may not use this file except in compliance with the 
 * License. You may obtain a copy of the License at http://www.sourcetap.com/license.htm
 * Software distributed under the License is distributed on an  "AS IS"  basis,
 * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License for
 * the specific language governing rights and limitations under the License.
 *
 * The above copyright notice and this permission notice shall be included
 * in all copies or substantial portions of the Software.
 *
 */

package com.sourcetap.sfa.util;

import org.ofbiz.entity.GenericEntityException;

import java.util.HashMap;
import java.util.StringTokenizer;


/**
 * DOCUMENT ME!
 *
 */
public class DelimitedPairDecoder {
    protected String stringToDecode = "";

    public DelimitedPairDecoder(String inputString) {
        stringToDecode = inputString;
    }

    /**
     * DOCUMENT ME!
     *
     * @return 
     *
     * @throws GenericEntityException 
     */
    public HashMap decode() throws GenericEntityException {
        // Split the string into pieces.  Example:
        // * string to decode:
        //     * sectionId:sectionId;partyId:"-1"
        // * Resulting map:
        //     * sectionId:43
        //     * partyId:"-1"
        HashMap resultMap = new HashMap();

        if ( (stringToDecode == null) || (stringToDecode.length()<1)|| (stringToDecode.equals("null")) )
		return resultMap;
        	
        StringTokenizer tokSemicolon = new StringTokenizer(stringToDecode, ";");

        while (tokSemicolon.hasMoreTokens()) {
            String pair = tokSemicolon.nextToken();
            StringTokenizer tokColon = new StringTokenizer(pair, ":");

            if (tokColon.countTokens() != 2) {
                // There must be 2 items in the pair separated by colons.
                throw new GenericEntityException(
                    "Each pair to be decoded must have a colon (" +
                    stringToDecode + ")");
            } else {
                String mapKey = tokColon.nextToken();
                String mapValue = tokColon.nextToken();
                resultMap.put(mapKey, mapValue);
            }

            tokColon = null;
        }

        tokSemicolon = null;

        return resultMap;
    }
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -