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.buttons;
 
 
 
 public abstract class AbsButtonType implements Cloneable,Comparable<AbsButtonType>
 {
     private final static Log log=LogFactory.getLog(AbsButtonType.class);
 
     protected String name="";
 
     protected String label=""
 
     protected String menulabel;
     
     protected Object clickhandler="";
 
     protected String styleproperty;
     
     protected String disabledstyleproperty;
 
     protected String position;
     
     protected String menugroup="0";
 
     protected int positionorder;
     
     protected String refer;
     
     protected AbsButtonType referedButtonObj;
     
     protected String referedbutton="hidden";
     
     protected boolean isReferedHiddenButton;
     
     protected String confirmessage;
     
     protected String confirmtitle;//点击此按钮弹出确认提示信息窗口的标题
     
     protected String cancelmethod;
     
     protected IComponentConfigBean ccbean;
 
     public AbsButtonType(IComponentConfigBean ccbean)
     {
         this.=ccbean;
     }
 
     public String getName()
     {
         return ;
     }
 
     public void setName(String name)
     {
         this.=name;
     }
 
     public String getRefer()
     {
         return ;
     }
 
     public void setRefer(String refer)
     {
         this.=refer;
     }
 
     public String getReferedbutton()
     {
         return ;
     }
 
     public void setReferedbutton(String referedbutton)
    {
        this.=referedbutton;
    }
    public String getLabel()
    {
        return ;
    }
    public String getMenulabel()
    {
        return ;
    }
    public void setMenulabel(String menulabel)
    {
        this.=menulabel;
    }
    public String getStyleproperty()
    {
        return ;
    }
    public void setStyleproperty(String styleproperty)
    {
        this.=styleproperty;
    }
    public void setCcbean(IComponentConfigBean ccbean)
    {
        this.=ccbean;
    }
    
    {
        return ;
    }
    {
        return ;
    }
    public void setDisabledstyleproperty(String disabledstyleproperty)
    {
        this.=disabledstyleproperty;
    }
    public String getPosition()
    {
        return ;
    }
    public void setPosition(String position)
    {
        this.=position;
    }
    public int getPositionorder()
    {
        return ;
    }
    public void setPositionorder(int positionorder)
    {
        this.=positionorder;
    }
    public void setLabel(String label)
    {
        this.=label;
    }
    
    public void setClickEvent(Object clickevent)
    {
        this.=clickevent;
    }
    
    public String getMenugroup()
    {
        return ;
    }
    public void setMenugroup(String menugroup)
    {
        this.=menugroup;
    }
    {
        return ;
    }
    public void setReferedButtonObj(AbsButtonType referedButtonObj)
    {
        this.=referedButtonObj;
    }
    public boolean isReferedHiddenButton()
    {
        return ;
    }
    public void setReferedHiddenButton(boolean isReferedHiddenButton)
    {
        this.=isReferedHiddenButton;
    }
    public void setConfirmessage(String confirmessage)
    {
        this.=confirmessage;
    }
    public void setConfirmtitle(String confirmtitle)
    {
        this.=confirmtitle;
    }
    public void setCancelmethod(String cancelmethod)
    {
        this.=cancelmethod;
    }
    public String getClickEvent(ReportRequest rrequest)
    {
        if(==nullreturn "";
        if( instanceof IButtonClickeventGenerate)
        {
            String dynclickevent=Tools.formatStringBlank(((IButtonClickeventGenerate)).generateClickEvent(rrequest,this));
            if(dynclickevent.indexOf('\"')>=0)
            {
                throw new WabacusRuntimeException("显示组件"+.getPath()+"的按钮"+this.+"失败,动态生成的按钮事件不能用双引号,只能用单引用,如果有多级,可以加上转义字符\\");
            }
            return dynclickevent;
        }
        return .toString();
    }
    
    protected boolean checkDisplayPermission(ReportRequest rrequest)
    {
        //if(ccbean==null) return true;//如果当前按钮不从属于某一个报表,则无法对其进行授权,因此直接返回true
        if(this.getButtonType()!=null&&!this.getButtonType().trim().equals(""))
        {
            return rrequest.checkPermission(.getId(),.,"type{"+this.getButtonType()+"}",.);
        }else if(this.!=null&&!this..trim().equals(""))
        {
        }
        return false;
    }
    protected boolean checkDisabledPermission(ReportRequest rrequest)
    {
//        if(ccbean==null) return false;//如果当前按钮不从属于某一个报表,则无法对其进行授权,因此直接返回false
        if(this.getButtonType()!=null&&!this.getButtonType().trim().equals(""))
        {
            return rrequest.checkPermission(.getId(),.,"type{"+this.getButtonType()+"}",.);
        }else if(this.!=null&&!this..trim().equals(""))
        {
        }
        return true;
    }
    
    public String getButtonType()
    {
        return null;
    }
    
    /*public boolean isDisplayedOnContextMenu()
    {
        if(position==null||position.equals("")) return false;
        if(position.indexOf(Consts.CONTEXTMENU_PART)>=0) return true;
        return false;
    }*/
    public abstract String showButton(ReportRequest rrequest,String dynclickevent);
//    /**
//     */
    
    public abstract String showButton(ReportRequest rrequest,String dynclickevent,String button);
    
    public abstract String showMenu(ReportRequest rrequest,String dynclickevent);
    
//    /**
//     */
    
    public abstract void loadExtendConfig(XmlElementBean eleButtonBean);
    
    public int compareTo(AbsButtonType otherButton)
    {
        if(otherButton==nullreturn 1;
//        if(this.isDisplayedOnContextMenu()&&otherButton.isDisplayedOnContextMenu())
//        {//两个都显示在右键菜单中
//            {//如果两个按钮不在同一个分组,则直接比较分组
        if(this.>otherButton.getPositionorder()) return 1;
        if(this.<otherButton.getPositionorder()) return -1;
        return 0;
    }
    protected Object clone() throws CloneNotSupportedException
    {
        return super.clone();
    }
    public AbsButtonType clone(IComponentConfigBean ccbean)
    {
        try
        {
            AbsButtonType newButton=(AbsButtonType)clone();
            newButton.setCcbean(ccbean);
            return newButton;
        }catch(CloneNotSupportedException e)
        {
            .error("clone按钮对象失败",e);
            return null;
        }
    }
    private boolean hasDoPostLoad;
    
    public void doPostLoad()
    {
        if(return;
        =true;
    }
    private boolean hasDoPostLoadFinally;
    
    public void doPostLoadFinally()
    {
        if(return;
        =true;
    }
New to GrepCode? Check out our FAQ X