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

📄 javatypes.java

📁 TestDataBuilder是一个采用Java编写的
💻 JAVA
📖 第 1 页 / 共 2 页
字号:
    /**
     * 得到一个数据类型的最大值.(如果是字段串,返回最大长度.这里默认为:16)
     * <p><code>getMax</code></p>
     * @param javaType
     * @return
     * @author LiuXiaojie 2007-6-11
     */
    public double getMax(Class javaType, int size, int decimalDigits){
        double max = 16;
        if(javaType != null){
            if(javaType.equals(STRING)){
                
            }else if(javaType.equals(BYTE)){
                max = Byte.MAX_VALUE;
            }else if(javaType.equals(DOUBLE)){
                if(size == 0 && decimalDigits == 0){
                    max = Double.MAX_VALUE;
                }else{
                    int m = size - decimalDigits + 1;
                    max = Math.pow(10, m) - 1;                    
                }
            }else if(javaType.equals(FLOAT)){
                max = Float.MAX_VALUE;
            }else if(javaType.equals(INT)){
                max = Integer.MAX_VALUE;
            }else if(javaType.equals(LONG)){
                max = Long.MAX_VALUE;
            }else if(javaType.equals(SHORT)){
                max = Short.MAX_VALUE;
            }else if(javaType.equals(DATE)){
                max = java.sql.Date.valueOf("9999-12-31").getTime();
            }else if(javaType.equals(BOOLEAN)){
                max = 1;
            }else if(javaType.equals(OBJECT)){
                max = 0;
            }else if(IType.class.isAssignableFrom(javaType)) {
                IType type = this.getAddedType(javaType);
                max = type.getMax();
            }else{
                logger.error("JavaTypes, unknow type:" + javaType.getName());
            }
        }
        return max;
    }
    
    /**
     * 将一个字符串按类型返回.
     * <p><code>getValue</code></p>
     * @param value
     * @param javaType
     * @return
     * @author LiuXiaojie 2007-6-16
     * @throws BaseException 
     */
    public Object valueOf(Class javaType, String value) throws BaseException{
        Object retValue = null;
        if(javaType != null){
            if(javaType.equals(BOOLEAN)){
                retValue = Boolean.valueOf(value);
            }else if(javaType.equals(BYTE)){
                retValue = Byte.valueOf(value);
            }else if(javaType.equals(DOUBLE)){
                retValue = Double.valueOf(value);
            }else if(javaType.equals(FLOAT)){
                retValue = Float.valueOf(value);
            }else if(javaType.equals(INT)){
                retValue = Integer.valueOf(value);
            }else if(javaType.equals(LONG)){
                retValue = Long.valueOf(value);
            }else if(javaType.equals(SHORT)){
                retValue = Short.valueOf(value);
            }else if(javaType.equals(STRING)){
                retValue = value;
            }else if(javaType.equals(DATE)){
                retValue = Global.getInstance().parseDateTime(value);           
            }else if(javaType.equals(OBJECT)){
                retValue = value;
            }else if(IType.class.isAssignableFrom(javaType)){
                IType type = this.getAddedType(javaType); 
                retValue = type.valueOf(value);
            }else{
                logger.error("JavaTypes, unknow type:" + javaType.getName());
            }
        }
        return retValue;
    }
    
    public double getDbValue(Class javaType, String value) throws BaseException{        
        double retValue = 0;
        if(javaType != null){
            if(javaType.equals(DOUBLE) || javaType.equals(BYTE)
                    ||javaType.equals(FLOAT) ||javaType.equals(INT) || javaType.equals(LONG)
                    || javaType.equals(SHORT)|| javaType.equals(STRING)
                    || javaType.equals(BOOLEAN)){
                retValue = Double.valueOf(value).doubleValue();
            }else if(javaType.equals(DATE)){
                retValue = Global.getInstance().parseDateTime(value).getTime();
            }else if(javaType.equals(OBJECT)){
                throw new BaseException("");
           }else if(IType.class.isAssignableFrom(javaType)){
                IType type = getAddedType(javaType);
                if(type != null){
                    retValue = type.stringTodb(value);
                }
            }else{
                logger.error("JavaTypes, unknow type:" + javaType.getName());
            }
        }
        return retValue;
    }
    
    
    
    public String getStringValue(Class javaType, double value){
        String retValue = null;
        if(javaType.equals(DOUBLE)){
            retValue = value + ""; 
        }else if(javaType.equals(BYTE)){
            retValue = Double.valueOf(value).byteValue() + "";
        }else if(javaType.equals(FLOAT)){
            retValue = Double.valueOf(value).floatValue() + "";
        }else if(javaType.equals(INT)){
            retValue = Double.valueOf(value).intValue() + "";
        }else if(javaType.equals(LONG)){
            retValue = Double.valueOf(value).longValue() + "";
        }else if(javaType.equals(SHORT)){
            retValue = Double.valueOf(value).shortValue() + "";
        }else if(javaType.equals(STRING)){
            retValue = Double.valueOf(value).longValue() + "";
        }else if(javaType.equals(BOOLEAN)){
            retValue = Double.valueOf(value).byteValue() + "";
        }else if(javaType.equals(DATE)){
            retValue = Global.getInstance().dataFormater.format(new Date((long) value));            
        }else if(javaType.equals(OBJECT)){
            
        }else if(IType.class.isAssignableFrom(javaType)){
            IType type = getAddedType(javaType);
            if(type != null){
                retValue = type.dbToString(value);
            }else{
                logger.error("type[" + javaType + "] not found!");
            }
        }  else{
            logger.error("JavaTypes, unknow type:" + javaType.getName());
        }
        return retValue;
    }
    
    public char randomChar(){
        int random = (int) (Math.random() * (90 -65) + 65);
        return (char)random;
    }
    
    public Object random(Class javaType, double min, double max, int decimalDigits){
        Object randomObj = null;
        
        if(javaType != null){
            if(javaType.equals(BYTE)){
                randomObj = Byte.valueOf((byte) (min + Math.random() * (max - min)));
            }else if(javaType.equals(DOUBLE)){
                randomObj = Double.valueOf((double) (min + Math.random() * (max - min)));
                StringBuilder strFormat = new StringBuilder(".");
                for(int i=0;i < decimalDigits; i++){
                    strFormat.append("0");
                }
                NumberFormat format =  new  java.text.DecimalFormat(strFormat.toString());   
                format.setMaximumFractionDigits(decimalDigits);
                String strDB = format.format(randomObj);
                randomObj =  Double.valueOf(strDB);
            }else if(javaType.equals(FLOAT)){
                randomObj = Float.valueOf((float) (min + Math.random() * (max - min)));
            }else if(javaType.equals(INT)){
                randomObj = Integer.valueOf((int) (min + Math.random() * (max - min)));
            }else if(javaType.equals(LONG)){
                randomObj = Long.valueOf((long) (min + Math.random() * (max - min)));
            }else if(javaType.equals(SHORT)){
                randomObj = Short.valueOf((short) (min + Math.random() * (max - min)));
            }else if(javaType.equals(STRING)){
                int size = (int) (min + Math.random() * (max - min));
                if(size == 0){
                    size = (int)max;
                }               
                randomObj = RandomStringUtils.randomAlphabetic(size);
            }else if(javaType.equals(DATE)){                
                randomObj = new Date(Long.valueOf((long) (min + Math.random() * (max - min))).longValue());
            }else if(javaType.equals(BOOLEAN)){
                randomObj = Boolean.valueOf(Math.random() < 0.5);
            }else if(javaType.equals(OBJECT)){
                
            }else if(IType.class.isAssignableFrom(javaType)){
                IType iType = getAddedType(javaType);
                randomObj = iType.randomValue(min, max);
            }else{
                logger.error("JavaTypes, unknow type:" + javaType.getName());
            }
        }       
        return randomObj;
    }
    
    public String getTypeName(Class javaType){
        if(IType.class.isAssignableFrom(javaType)){
            IType iType = getAddedType(javaType);
            return iType.getName();
        }else{
            return javaType.getSimpleName();
        }
    }
//    public List<String> getAllTypeNames(){
//        return RadixConverter.toList(getAllTypes().keySet());
//    }
//    
//    public Class getClass(String className){
//        return (Class) getAllTypes().get(className);
//    }

    public static Date now(){
        return new Date(System.currentTimeMillis());
    }
    
    
    public static void main(String[] args) {
        
    }

}

⌨️ 快捷键说明

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