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

📄 defaultdatasqueezer.java

📁 欢迎使用 FastJsp 开发框架! 编译说明: * 若要生成Api Javadoc文档
💻 JAVA
字号:
// Copyright 2005-2007 onetsoft.com
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
//     http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.

package com.onetsoft.fastjsp;
import com.onetsoft.fastjsp.util.ResourceResolver;

import java.awt.*;
import java.text.DateFormat;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.StringTokenizer;

public class DefaultDataSqueezer implements DataSqueezer {

    private static String DATE_FORMAT = "yyyy/MM/dd";
    private static DateFormat dateFormatter = new SimpleDateFormat(DATE_FORMAT);

    public String squeeze(Object object) {
        if (object instanceof Date) {
            return dateFormatter.format((Date) object);
        }
        if (object instanceof Color) {
            Color color = (Color) object;
            return color.getRed() + "," + color.getGreen() + "," + color.getBlue();
        }
        if (object instanceof Class)
            return ((Class) object).getName();

        return object != null ? object.toString() : null;
    }

    public Object unsqueeze(Class type, String value) throws ClassNotFoundException {
        if (type.getName().equals("java.lang.String"))
            return value;
        if (type.getName().equals("boolean"))
            return Boolean.valueOf(value);
        if (type.getName().equals("int"))
            return Integer.valueOf(value);
        if (type.getName().equals("long"))
            return Long.valueOf(value);
        if (type.getName().equals("float"))
            return Float.valueOf(value);
        if (type.getName().equals("double"))
            return Double.valueOf(value);
        if (type.getName().equals("java.util.Date")) {
            try {
                return dateFormatter.parse(value);
            } catch (ParseException e) {
                /*ignored*/
            }
        }
        if (type.getName().equals("java.awt.Color")) {
            StringTokenizer tokens = new StringTokenizer(value, ",");
            int red = Integer.parseInt(tokens.nextToken());
            int green = Integer.parseInt(tokens.nextToken());
            int blue = Integer.parseInt(tokens.nextToken());
            return new Color(red, green, blue);
        }
        if (type.getName().equals("java.lang.Class"))
            return ResourceResolver.forName(value);
        else
            return null;
    }
}

⌨️ 快捷键说明

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