亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? tablemodel.java

?? esri的ArcGIS Server超級學習模板程序(for java)
?? JAVA
字號:
package com.esri.solutions.jitk.web.data.results;

/**
 * This class is an abstraction around arbitrary data binding technologies that 
 * can be used to adapt a variety of data sources that support per-row 
 * processing for their child components.
 * 
 * <p/>
 * The data collection underlying a table model instance is modeled as a 
 * collection of row objects that can be accessed by a 0-based cursor 
 * (row index).
 * 
 * <p/>
 * The table model supports paging through a result set viewing a specified 
 * number  of rows (page size) at a time.
 * 
 * <p/>
 * A concrete table model instance is attached to a particular collection of 
 * underlying data by calling the <code>setData(java.lang.Object)</code> 
 * method. It can be detached from that underlying data collection by passing 
 * a </code>null</code> parameter to this method.
 * 
 * Concrete implementations must provide a public o-arguments constructor that 
 * calls <code>setData(null)</code>. A convenience constructor that takes a 
 * data object of the appropriate type (and passes it on via a call to 
 * <code>setData(java.lang.Object)</code>, should also be provided.
 * 
 * @author Carsten Piepel
 *
 */
public interface TableModel {
    
    /**
     * Return the number of rows of data objects represented by this 
     * table model. If the number of rows is unknown, 
     * or no <code>data</code> is available, return <code>-1</code>.
     * 
     * @return the number of rows of data objects.
     */
    int getRowCount();
    
    /**
     * Return a flag indicating whether there is row data 
     * available at the current row index. If no 
     * <code>data</code> is available, return <code>false</code>.
     * 
     * @return true if row data is available at the current row index, or false 
     * otherwise.
     */
    boolean isRowAvailable();
    
    /**
     * Return an object representing the data for the currenty selected 
     * row index. If no <code>data</code> is available, return 
     * <code>null</code>.
     * 
     * @return an object representing the data for the currently selected row.
     * 
     * @throws java.lang.IllegalStateException if no <code>data</code> is 
     * available.
     * @throws DataBindingException if an error occurs accessing the currently
     * selected row
     */
    Object getRowData() throws DataBindingException;
    
    /**
     * Return an object representing the data at the specified row index. 
     * If no <code>data</code> is available, return <code>null</code>.
     * 
     * @return an object representing the data at the specified row index.
     * 
     * @throws java.lang.IllegalStateException if no <code>data</code> is 
     * available.
     * @throws java.lang.IllegalArgumentException if <code>rowIndex</code> 
     * is less than <code>0</code> or greater than or equal to 
     * <code>getRowCount()</code>. 
     * @throws DataBindingException if an error occurs accessing the currently
     * selected row
     */
    Object getRowData(int rowIndex) throws DataBindingException;
    
    /**
     * Return the 0-based index of the currently selected row. If we are not 
     * currently positioned on a row, or no <code>data</code> is available, 
     * return <code>-1</code>.
     * 
     * @return the index of the currently selected row 
     */
    int getRowIndex();
    
    /**
     * Set the 0-based index of the currently selected row, or 
     * <code>-1</code> to indicate that we are not positioned on a row. It 
     * is possible to set the row index at a value for which the underlying 
     * data collection does not contain any row data. Therefore, callers may use 
     * the <code>isRowAvailable()</code> method to detect whether row data 
     * will be available for use by the <code>getRowData()</code> method.
     * 
     * <p/>
     * If there is no <code>data</code> available when this method is 
     * called, the specified row index is stored (and may be retrieved by a 
     * subsequent call to <code>getRowData()</code>), but no event is sent. 
     * Otherwise, if the currently selected row index is changed by this call, a 
     * <code>RowSelectionEvent</code> will be sent to the 
     * <code>rowSelected()</code> method of all registered 
     * <code>RowSelectionListeners</code>.
     * 
     * @param rowIndex the index of the currently selected row
     * 
     * @throws java.lang.IllegalArgumentException if <code>rowIndex</code> 
     * is less than <code>-1</code>.
     */
    void setRowIndex(int rowIndex);
    
    /**
     * Return the number of pages represented by this 
     * table model. This is a convenience method for 
     * <code>itemCount / pageSize</code>.
     * 
     * @return the number of pages
     */
    int getPageCount();
    
    /**
     * Return the maximum number of rows displayed on a page. If all rows
     * will be displayed on one page, return <code>0</code>.
     * 
     * @return the maximum number of rows displayed on a page.
     */
    int getPageSize();   
    
    /**
     * Set the maximum number of rows displayed on a page. If all rows should be
     * displayed on one page, set this value to <code>0</code>.
     * 
     * @param pageSize the maximum number of rows displayed on a page.
     * 
     * @throws java.lang.IllegalArgumentException if <code>pageSize</code> 
     * is less than <code>0</code>.
     */
    void setPageSize(int pageSize);
    
    /**
     * Return the 0-based index of the currently selected page. If we are not 
     * currently positioned on a page, or no <code>data</code> is available, 
     * return <code>-1</code>.
     * 
     * @return the index of the currently selected page 
     */
    int getPageIndex();
    
    /**
     * Set the 0-based index of the currently selected page, or 
     * <code>-1</code> to indicate that we are not positioned on a page. 
     * 
     * <p/>
     * If there is no <code>data</code> available when this method is 
     * called, the specified page index is stored (and may be retrieved by a 
     * subsequent call to <code>getRowData()</code>), but no event is sent.
     * If the currently selected page index is changed by this call, a 
     * <code>PageChangeEvent</code> will be sent to the 
     * <code>pageChanged()</code> method of all registered 
     * <code>PageChangeListeners</code>.
     * 
     * @param pageIndex the index of the currently selected row
     * 
     * @throws java.lang.IllegalArgumentException if <code>pageIndex</code> 
     * is less than <code>-1</code> or if <code>pageIndex</code> is 
     * greater than <code>pageCount</code>.
     */
    void setPageIndex(int pageIndex);
    
    /**
     * Return the object representing the data bound to this table model, if 
     * any.
     * 
     * @return the object representing the data bound to this table model or 
     * null if no data is bound.   
     */
    Object getData();
    
    /**
     * Set the object representing the data collection bount to this table 
     * model. If the specified data is <code>null</code>, detach this table 
     * model from any previously bound data collection instead.
     * 
     * <p/>
     * If the data collection bound to table model is changed by this call, a
     * <code>DataBindingEvent</code> must be sent to the 
     * <code>dataBindingChanged</code> method of all registered 
     * <code>DataBindingListeners</code> indicating that the data source 
     * changed.
     * <p/>
     * If data is non-null, the currently selected row index must be set to 
     * zero, and a <code>RowSelectionEvent</code> must be sent to the 
     * <code>rowSelected()</code> method of all registered 
     * </code>RowSelectionListeners</code> indicating that this row is now 
     * selected.
     */
    void setData(Object data);
    
    // TODO: add comment
    void setEntityInfo(EntityInfo entityInfo);
    
    // TODO: add comment
    EntityInfo getEntityInfo();
    
    /**
     * Add a new <code>DataBindingListener</code> to this table model.
     * 
     * @param listener the new listener to be registered
     * 
     * @throws java.lang.NullPointerException if the specified listener is 
     * <code>null</code>.
     * 
     */
    void addDataBindingListener(DataBindingListener listener);
    
    /**
     * Remove a <code>DataBindingListener</code> from this table model.
     * 
     * @param listener the old listener to be unregistered
     * 
     * @throws java.lang.NullPointerException if the specified listener is 
     * <code>null</code>.
     * 
     */
    void removeDataBindingListener(DataBindingListener listener);
    
    /**
     * Add a new <code>RowSelectionListener</code> to this table model.
     * 
     * @param listener the new listener to be registered
     * 
     * @throws java.lang.NullPointerException if the specified listener is 
     * <code>null</code>.
     * 
     */
    void addRowSelectionListener(RowSelectionListener listener);
    
    /**
     * Remove a <code>RowSelectionListener</code> from this table model.
     * 
     * @param listener the old listener to be unregistered
     * 
     * @throws java.lang.NullPointerException if the specified listener is 
     * <code>null</code>.
     * 
     */
    void removeRowSelectionListener(RowSelectionListener listener);
    
    /**
     * Add a new <code>PageChangeListener</code> to this table model.
     * 
     * @param listener the new listener to be registered
     * 
     * @throws java.lang.NullPointerException if the specified listener is 
     * <code>null</code>.
     * 
     */
    void addPageChangeListener(PageChangeListener listener);
    
    /**
     * Remove a <code>PageChangeListener</code> from this table model.
     * 
     * @param listener the old listener to be unregistered
     * 
     * @throws java.lang.NullPointerException if the specified listener is 
     * <code>null</code>.
     * 
     */
    void removePageChangeListener(PageChangeListener listener);
}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
国产99久久久国产精品潘金网站| 精品久久国产字幕高潮| 99re这里只有精品首页| 丰满少妇久久久久久久| 国产99精品在线观看| 成人av动漫网站| 91首页免费视频| 一本一道波多野结衣一区二区| 91小视频在线免费看| 91热门视频在线观看| 91国偷自产一区二区使用方法| 91国产成人在线| 8x8x8国产精品| 欧美精品一区二区三区在线| 国产亚洲欧美激情| 自拍偷拍欧美激情| 亚洲第一福利一区| 久久精品国产亚洲5555| 国产精品66部| 97久久精品人人爽人人爽蜜臀| 欧美中文字幕一区| 日韩一级片在线观看| 久久精品视频免费| 一区二区三区四区av| 午夜精品一区二区三区三上悠亚| 秋霞午夜av一区二区三区| 国产综合久久久久影院| 不卡一区在线观看| 欧美日韩精品一区二区三区蜜桃| 日韩精品专区在线| 亚洲视频免费在线观看| 五月激情六月综合| 国产999精品久久久久久| 欧美这里有精品| 精品久久久久久久久久久院品网 | 亚洲电影视频在线| 久久精品久久综合| eeuss鲁片一区二区三区| 欧美久久久久久久久| 国产日韩欧美精品综合| 亚洲在线免费播放| 国内精品久久久久影院色| 色天使久久综合网天天| 日韩精品一区二区三区三区免费 | 毛片av一区二区| jvid福利写真一区二区三区| 欧美日韩你懂的| 久久精品人人爽人人爽| 亚洲一区二区三区三| 国内偷窥港台综合视频在线播放| 色综合久久88色综合天天6| 日韩欧美国产精品| 亚洲男同性恋视频| 国产自产v一区二区三区c| 色天天综合色天天久久| 久久婷婷国产综合精品青草| 一区二区三区日韩欧美精品| 国内精品国产三级国产a久久| 在线观看成人小视频| 亚洲国产精品成人综合色在线婷婷| 午夜电影网一区| 一本到不卡免费一区二区| 久久久久久久精| 日韩成人一区二区三区在线观看| 91一区一区三区| 国产婷婷一区二区| 日韩黄色免费电影| 91免费版在线看| 国产亚洲精久久久久久| 蜜桃av噜噜一区| 欧美日韩一级二级三级| 亚洲欧美另类久久久精品2019| 韩国视频一区二区| 日韩亚洲欧美中文三级| 亚洲成人免费视频| 在线观看www91| 国产性天天综合网| 韩国v欧美v日本v亚洲v| 日韩午夜在线播放| 午夜欧美一区二区三区在线播放| 一本久久a久久免费精品不卡| 国产精品无圣光一区二区| 国产一区二区主播在线| 日韩欧美资源站| 奇米一区二区三区av| 欧美高清你懂得| 日韩不卡一区二区三区 | 亚洲欧洲日韩在线| 国产iv一区二区三区| 久久亚洲综合av| 精品一区二区av| 精品粉嫩aⅴ一区二区三区四区| 美脚の诱脚舐め脚责91 | 亚洲欧洲一区二区三区| 成人午夜在线视频| 国产欧美日韩视频一区二区| 国产一区二区三区免费看| 精品美女被调教视频大全网站| 久久av资源站| 精品久久人人做人人爽| 国产毛片精品国产一区二区三区| 欧美成人一区二区三区在线观看| 久久国产尿小便嘘嘘尿| 欧美成人一区二区| 国产一区二区伦理片| 国产偷国产偷精品高清尤物 | 欧美性xxxxxx少妇| 亚洲线精品一区二区三区| 欧美日韩国产综合一区二区三区 | 日韩电影免费一区| 日韩片之四级片| 国产一本一道久久香蕉| 久久精品欧美一区二区三区麻豆 | 精品乱人伦小说| 国产精品2024| 中文字幕日韩精品一区| 欧美性受xxxx黑人xyx| 亚洲一区影音先锋| 欧美日韩久久久久久| 日本一区中文字幕| 精品久久一区二区| 国产宾馆实践打屁股91| 亚洲视频一二三| 5858s免费视频成人| 久久99国产精品尤物| 久久精品亚洲精品国产欧美kt∨ | 欧美欧美午夜aⅴ在线观看| 日韩国产欧美视频| 久久精品视频一区| 91免费精品国自产拍在线不卡| 亚洲成av人片在线观看无码| 精品久久久久一区二区国产| 成人免费看视频| 亚洲图片欧美视频| 欧美大尺度电影在线| 成人免费看视频| 日韩电影网1区2区| 国产精品久久久久婷婷二区次| 欧美三区在线观看| 国产麻豆午夜三级精品| 一区二区三区丝袜| 久久先锋资源网| 日本道色综合久久| 国产一区二区主播在线| 一区二区三区中文免费| 久久综合九色综合久久久精品综合| 不卡的av在线| 蜜桃免费网站一区二区三区| 亚洲日本在线看| 精品捆绑美女sm三区| 欧美午夜精品一区二区蜜桃 | 国产人久久人人人人爽| 在线观看亚洲a| 国产伦理精品不卡| 亚洲国产精品一区二区www在线| 久久久久久99精品| 欧美高清视频在线高清观看mv色露露十八 | 在线视频一区二区三| 国产精品一二三区在线| 五月天视频一区| 亚洲欧美一区二区三区国产精品| 日韩午夜在线观看| 欧美午夜一区二区三区| 国产成人福利片| 日本午夜一区二区| 亚洲视频在线一区| 国产亚洲一区二区三区四区| 欧美日韩精品久久久| 成人av在线一区二区三区| 美女爽到高潮91| 亚洲福利一区二区三区| 国产精品成人免费在线| 久久综合色播五月| 欧美一区二区三区婷婷月色| 在线观看精品一区| a4yy欧美一区二区三区| 精品一二三四在线| 免费欧美日韩国产三级电影| 亚洲一区影音先锋| 亚洲精品免费在线播放| 欧美经典一区二区| 久久久精品免费免费| 日韩亚洲欧美高清| 欧美日韩一区二区三区免费看| 精品福利一二区| 777久久久精品| 欧美日韩免费观看一区二区三区 | 在线免费观看成人短视频| www.亚洲人| 国产成人精品1024| 国产麻豆9l精品三级站| 久久精品国产一区二区| 免费美女久久99| 美腿丝袜亚洲一区| 美国毛片一区二区三区| 男人的j进女人的j一区| 日欧美一区二区| 天天射综合影视| 午夜精品一区在线观看| 日韩av一区二区三区|