Start line:  
End line:  

Snippet Preview

Snippet HTML Code

Stack Overflow Questions
  /* 
   * Copyright (C) 2010---2013 星星(wuweixing)<349446658@qq.com>
   * 
   * This file is part of Wabacus 
   * 
   * Wabacus is free software: you can redistribute it and/or modify
   * it under the terms of the GNU Lesser General Public License as published by
   * the Free Software Foundation, either version 3 of the License, or
   * (at your option) any later version.
  *
  * This program is distributed in the hope that it will be useful,
  * but WITHOUT ANY WARRANTY; without even the implied warranty of
  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
  * GNU Lesser General Public License for more details.
  *
  * You should have received a copy of the GNU Lesser General Public License
  * along with this program.  If not, see <http://www.gnu.org/licenses/>.
  */
 package com.wabacus.system.inputbox.option;
 
 import java.util.List;
 import java.util.Map;
 
 
 public class SelectboxOptionBean extends AbsOptionBean
 {
     private String label="";
 
     private String value="";
 
     private String[] type;
 
     public SelectboxOptionBean(AbsInputBox ownerInputboxObj)
     {
         super(ownerInputboxObj);
     }
     
     public void setLabel(String label)
     {
         this.=label;
     }
 
     public void setValue(String value)
     {
         this.=value;
     }
 
     public String getLabel()
     {
         return this.;
     }
 
     public String getValue()
     {
         return this.;
     }
 
     public String[] getType()
     {
         return ;
     }
 
     public void setType(String[] type)
     {
         this.=type;
     }
 
     public List<Map<String,String>> getLstRuntimeOptions(ReportRequest rrequest,Map<String,StringmParentInputboxValues)
     {
         List<Map<String,String>> lstResults=null;
         if(this.==null)
         {//没有指定动态获取选项数据的数据源对象,则说明此<option/>就是一个常量选项的配置
             String name_temp=rrequest.getI18NStringValue(this.);
             String value_temp=this.;
             if(((AbsSelectBox)this.).isDependsOtherInputbox()&&this.!=null&&this..length>0)
             {
                 if(this..length==1&&(this.[0].equals("%false-false%")||this.[0].equals("%true-true%")))
                 {
                     return null;
                 }
                 if(mParentInputboxValues!=null&&mParentInputboxValues.size()>1)
                 {
                     throw new WabacusRuntimeException("显示报表"+this..getOwner().getReportBean().getPath()+"的选择框"
                             +this.getOwnerInputboxObj().getOwner().getInputBoxId()+"失败,此选择框不是从数据库中获取选项数据,不能同时依赖多个父选择框");
                 }
                 String parentVal=null;
                 if(mParentInputboxValues!=null&&mParentInputboxValues.size()>0) mParentInputboxValues.entrySet().iterator().next().getValue();
                 if(!isMatch(parentVal,((AbsSelectBox)this.).isRegex())&&!"[%ALL%]".equals(parentVal)) return null;
             }
             Map<String,StringmOptionTmp=new HashMap<String,String>();
             mOptionTmp.put("label",name_temp);
             mOptionTmp.put("value",value_temp);
            lstResults=new ArrayList<Map<String,String>>();
            lstResults.add(mOptionTmp);
        }else
        {
            lstResults=this..getLstSelectBoxOptions(rrequest,mParentInputboxValues);
        }
        return lstResults;
    }
    private boolean isMatch(String parentValue,boolean isRegex)
    {
        if(this.==null||this..length==0)
        {
            return true;
            
            
        }
        if(this..length==1&&(this.[0].equals("%true-true%"))||this.[0].equals("%false-false%")) return false;
        if(parentValue==nullreturn false;
        for(int i=0;i<.;i++)
        {
            if(!isRegex&&parentValue.equals([i])) return true;
            if(isRegex&&RegexTools.isMatch(parentValue,[i])) return true;
        }
        return false;
    }    
New to GrepCode? Check out our FAQ X