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

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

?? directorynode.java

?? java 報表 to office文檔: 本包由java語言開發
?? JAVA
字號:
/* ====================================================================   Copyright 2002-2004   Apache Software Foundation   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 org.apache.poi.poifs.filesystem;import java.io.*;import java.util.*;import org.apache.poi.hpsf.ClassID;import org.apache.poi.poifs.dev.POIFSViewable;import org.apache.poi.poifs.property.DirectoryProperty;import org.apache.poi.poifs.property.DocumentProperty;import org.apache.poi.poifs.property.Property;/** * Simple implementation of DirectoryEntry * * @author Marc Johnson (mjohnson at apache dot org) */public class DirectoryNode    extends EntryNode    implements DirectoryEntry, POIFSViewable{    // Map of Entry instances, keyed by their names    private Map               _entries;    // the POIFSFileSystem we belong to    private POIFSFileSystem   _filesystem;    // the path described by this document    private POIFSDocumentPath _path;    /**     * create a DirectoryNode. This method is not public by design; it     * is intended strictly for the internal use of this package     *     * @param property the DirectoryProperty for this DirectoryEntry     * @param filesystem the POIFSFileSystem we belong to     * @param parent the parent of this entry     */    DirectoryNode(final DirectoryProperty property,                  final POIFSFileSystem filesystem,                  final DirectoryNode parent)    {        super(property, parent);        if (parent == null)        {            _path = new POIFSDocumentPath();        }        else        {            _path = new POIFSDocumentPath(parent._path, new String[]            {                property.getName()            });        }        _filesystem = filesystem;        _entries    = new HashMap();        Iterator iter = property.getChildren();        while (iter.hasNext())        {            Property child     = ( Property ) iter.next();            Entry    childNode = null;            if (child.isDirectory())            {                childNode = new DirectoryNode(( DirectoryProperty ) child,                                              _filesystem, this);            }            else            {                childNode = new DocumentNode(( DocumentProperty ) child,                                             this);            }            _entries.put(childNode.getName(), childNode);        }    }    /**     * @return this directory's path representation     */    public POIFSDocumentPath getPath()    {        return _path;    }    /**     * create a new DocumentEntry     *     * @param document the new document     *     * @return the new DocumentEntry     *     * @exception IOException     */    DocumentEntry createDocument(final POIFSDocument document)        throws IOException    {        DocumentProperty property = document.getDocumentProperty();        DocumentNode     rval     = new DocumentNode(property, this);        (( DirectoryProperty ) getProperty()).addChild(property);        _filesystem.addDocument(document);        _entries.put(property.getName(), rval);        return rval;    }    /**     * Change a contained Entry's name     *     * @param oldName the original name     * @param newName the new name     *     * @return true if the operation succeeded, else false     */    boolean changeName(final String oldName, final String newName)    {        boolean   rval  = false;        EntryNode child = ( EntryNode ) _entries.get(oldName);        if (child != null)        {            rval = (( DirectoryProperty ) getProperty())                .changeName(child.getProperty(), newName);            if (rval)            {                _entries.remove(oldName);                _entries.put(child.getProperty().getName(), child);            }        }        return rval;    }    /**     * Delete an entry     *     * @param entry the EntryNode to be deleted     *     * @return true if the entry was deleted, else false     */    boolean deleteEntry(final EntryNode entry)    {        boolean rval =            (( DirectoryProperty ) getProperty())                .deleteChild(entry.getProperty());        if (rval)        {            _entries.remove(entry.getName());            _filesystem.remove(entry);        }        return rval;    }    /* ********** START implementation of DirectoryEntry ********** */    /**     * get an iterator of the Entry instances contained directly in     * this instance (in other words, children only; no grandchildren     * etc.)     *     * @return iterator; never null, but hasNext() may return false     *         immediately (i.e., this DirectoryEntry is empty). All     *         objects retrieved by next() are guaranteed to be     *         implementations of Entry.     */    public Iterator getEntries()    {        return _entries.values().iterator();    }    /**     * is this DirectoryEntry empty?     *     * @return true if this instance contains no Entry instances     */    public boolean isEmpty()    {        return _entries.isEmpty();    }    /**     * find out how many Entry instances are contained directly within     * this DirectoryEntry     *     * @return number of immediately (no grandchildren etc.) contained     *         Entry instances     */    public int getEntryCount()    {        return _entries.size();    }    /**     * get a specified Entry by name     *     * @param name the name of the Entry to obtain.     *     * @return the specified Entry, if it is directly contained in     *         this DirectoryEntry     *     * @exception FileNotFoundException if no Entry with the specified     *            name exists in this DirectoryEntry     */    public Entry getEntry(final String name)        throws FileNotFoundException    {        Entry rval = null;        if (name != null)        {            rval = ( Entry ) _entries.get(name);        }        if (rval == null)        {            // either a null name was given, or there is no such name            throw new FileNotFoundException("no such entry: \"" + name                                            + "\"");        }        return rval;    }    /**     * create a new DocumentEntry     *     * @param name the name of the new DocumentEntry     * @param stream the InputStream from which to create the new     *               DocumentEntry     *     * @return the new DocumentEntry     *     * @exception IOException     */    public DocumentEntry createDocument(final String name,                                        final InputStream stream)        throws IOException    {        return createDocument(new POIFSDocument(name, stream));    }    /**     * create a new DocumentEntry; the data will be provided later     *     * @param name the name of the new DocumentEntry     * @param size the size of the new DocumentEntry     * @param writer the writer of the new DocumentEntry     *     * @return the new DocumentEntry     *     * @exception IOException     */    public DocumentEntry createDocument(final String name, final int size,                                        final POIFSWriterListener writer)        throws IOException    {        return createDocument(new POIFSDocument(name, size, _path, writer));    }    /**     * create a new DirectoryEntry     *     * @param name the name of the new DirectoryEntry     *     * @return the new DirectoryEntry     *     * @exception IOException     */    public DirectoryEntry createDirectory(final String name)        throws IOException    {        DirectoryProperty property = new DirectoryProperty(name);        DirectoryNode     rval     = new DirectoryNode(property, _filesystem,                                         this);        (( DirectoryProperty ) getProperty()).addChild(property);        _filesystem.addDirectory(property);        _entries.put(name, rval);        return rval;    }    /**     * Gets the storage clsid of the directory entry     *     * @return storage Class ID     */    public ClassID getStorageClsid()    {        return getProperty().getStorageClsid();    }    /**     * Sets the storage clsid for the directory entry     *     * @param clsidStorage storage Class ID     */    public void setStorageClsid(ClassID clsidStorage)    {        getProperty().setStorageClsid(clsidStorage);    }    /* **********  END  implementation of DirectoryEntry ********** */    /* ********** START implementation of Entry ********** */    /**     * is this a DirectoryEntry?     *     * @return true if the Entry is a DirectoryEntry, else false     */    public boolean isDirectoryEntry()    {        return true;    }    /* **********  END  implementation of Entry ********** */    /* ********** START extension of Entry ********** */    /**     * extensions use this method to verify internal rules regarding     * deletion of the underlying store.     *     * @return true if it's ok to delete the underlying store, else     *         false     */    protected boolean isDeleteOK()    {        // if this directory is empty, we can delete it        return isEmpty();    }    /* **********  END  extension of Entry ********** */    /* ********** START begin implementation of POIFSViewable ********** */    /**     * Get an array of objects, some of which may implement     * POIFSViewable     *     * @return an array of Object; may not be null, but may be empty     */    public Object [] getViewableArray()    {        return new Object[ 0 ];    }    /**     * Get an Iterator of objects, some of which may implement     * POIFSViewable     *     * @return an Iterator; may not be null, but may have an empty     * back end store     */    public Iterator getViewableIterator()    {        List components = new ArrayList();        components.add(getProperty());        SortedMap sortedEntries = new TreeMap(_entries);        Iterator  iter          = sortedEntries.values().iterator();        while (iter.hasNext())        {            components.add(iter.next());        }        return components.iterator();    }    /**     * Give viewers a hint as to whether to call getViewableArray or     * getViewableIterator     *     * @return true if a viewer should call getViewableArray, false if     *         a viewer should call getViewableIterator     */    public boolean preferArray()    {        return false;    }    /**     * Provides a short description of the object, to be used when a     * POIFSViewable object has not provided its contents.     *     * @return short description     */    public String getShortDescription()    {        return getName();    }    /* **********  END  begin implementation of POIFSViewable ********** */}   // end public class DirectoryNode

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
免费精品99久久国产综合精品| 欧美成人高清电影在线| 午夜精品国产更新| 欧美一级高清片| 亚洲免费观看高清完整版在线观看| 91小视频在线观看| 欧美午夜片在线看| 成人av网站在线观看| 成人视屏免费看| 91欧美激情一区二区三区成人| 国产乱子轮精品视频| 国产美女一区二区| 国产传媒一区在线| av网站一区二区三区| 91久久精品网| 欧美三级电影精品| 日韩亚洲欧美一区| 中文字幕av一区二区三区高| 自拍视频在线观看一区二区| 亚洲国产婷婷综合在线精品| 91精品国产麻豆| 国产精品99精品久久免费| 播五月开心婷婷综合| 91麻豆高清视频| 日韩精品一区二区三区三区免费 | 欧美性做爰猛烈叫床潮| 视频一区视频二区中文字幕| 一区二区三区欧美亚洲| 免费成人你懂的| 91免费版在线| 日韩三级精品电影久久久| 国产精品沙发午睡系列990531| 日韩精品视频网| 99久久精品免费看国产| 久久一日本道色综合| 91麻豆成人久久精品二区三区| 极品尤物av久久免费看| 成人精品一区二区三区中文字幕| 欧美日韩国产另类不卡| 久久这里只有精品6| 欧美一区中文字幕| 亚洲人成在线观看一区二区| 日韩av电影免费观看高清完整版在线观看 | 激情综合色播五月| 日韩视频在线你懂得| 国产一区二区成人久久免费影院| 亚洲超碰97人人做人人爱| 国产69精品久久久久毛片| 日韩欧美一二三区| 亚洲制服欧美中文字幕中文字幕| 成人免费视频视频在线观看免费 | 视频一区二区三区中文字幕| 偷窥国产亚洲免费视频| 欧美人成免费网站| 一区二区中文字幕在线| av电影天堂一区二区在线| 国产精品理论片在线观看| 在线一区二区三区做爰视频网站| 黄色日韩三级电影| 亚洲香蕉伊在人在线观| 亚洲国产精品久久人人爱| 成人av影视在线观看| 日韩一区二区在线观看视频| 日韩不卡一二三区| 91精品国产综合久久精品app | 精品视频全国免费看| 欧美激情一区二区三区四区| 粉嫩av一区二区三区粉嫩| 久久网站最新地址| 国产福利视频一区二区三区| 久久久久高清精品| 日韩精品一二三区| 欧美成人精品高清在线播放 | 综合久久一区二区三区| 欧美精品乱码久久久久久按摩| 国产精品福利一区| 国产a精品视频| 亚洲激情六月丁香| 一区二区三区日本| 欧美吻胸吃奶大尺度电影| 欧美国产一区在线| 精品亚洲国产成人av制服丝袜| 欧美电影免费观看高清完整版在线 | 午夜久久电影网| 日韩一区二区在线观看视频| 日韩av午夜在线观看| 国产精品免费免费| 成人a级免费电影| 亚洲一本大道在线| 欧美成人福利视频| 成人av电影在线网| 激情深爱一区二区| 国产a视频精品免费观看| 色狠狠av一区二区三区| 老司机一区二区| 91精品国产入口在线| 亚洲一区二区三区视频在线播放| 欧美亚洲动漫制服丝袜| 一区二区三区在线视频播放| 欧美一区二区黄色| 日本韩国欧美一区| 亚洲国产日韩精品| 欧美日韩亚洲丝袜制服| 六月丁香婷婷久久| 精品福利一二区| 成人av在线网| 亚洲精品中文在线| 欧美一区二区久久久| 另类小说视频一区二区| 国产欧美精品区一区二区三区| 成人小视频免费观看| 亚洲一区二区精品视频| 日韩视频在线你懂得| 国产一区二区美女| 日韩毛片在线免费观看| 色欧美片视频在线观看 | 91精品国产丝袜白色高跟鞋| 成人爱爱电影网址| 亚洲四区在线观看| 69av一区二区三区| 99精品视频一区二区三区| 国产在线观看一区二区| 偷拍与自拍一区| 亚洲成人资源在线| 午夜精品福利一区二区三区蜜桃| 日韩美女视频一区二区| 亚洲三级理论片| 一个色综合av| 91精品福利在线一区二区三区 | 亚洲欧美日韩电影| 日韩欧美中文字幕精品| 国产成人av影院| 国产亚洲欧美激情| 亚洲精品乱码久久久久久黑人| 国产午夜精品在线观看| 国产婷婷一区二区| 亚洲私人黄色宅男| 亚洲综合色视频| 亚洲午夜在线视频| 国产在线视频一区二区| 丁香六月综合激情| 91麻豆免费在线观看| 欧美精品日韩精品| 久久伊99综合婷婷久久伊| 国产精品国产成人国产三级| 亚洲无线码一区二区三区| 亚洲超丰满肉感bbw| 国产a精品视频| 色猫猫国产区一区二在线视频| 6080yy午夜一二三区久久| 3d成人h动漫网站入口| 亚洲精品免费在线| 精品一区二区三区av| 欧美日韩一区国产| 欧美精品一区二区三区四区| 日韩免费高清视频| 亚洲欧美韩国综合色| 日韩国产精品大片| 在线成人av网站| 久久国内精品视频| 天堂蜜桃91精品| 3751色影院一区二区三区| 国产成a人亚洲精| 日本午夜一区二区| 亚洲国产成人av网| 国产精品久久福利| 亚洲国产高清不卡| 欧美电影免费观看高清完整版在| 在线欧美日韩精品| 国产成人午夜精品影院观看视频 | 亚洲天堂福利av| 奇米色777欧美一区二区| 成人爽a毛片一区二区免费| 欧美一区二区成人6969| 亚洲gay无套男同| 91网页版在线| 国产精品久久午夜| 日韩一二三四区| 91精品国产综合久久精品| 午夜久久久影院| 日本一区二区三区高清不卡| 欧美精品精品一区| 欧美顶级少妇做爰| 欧美亚洲另类激情小说| 欧美少妇bbb| 在线日韩一区二区| 欧美日韩国产一二三| 在线一区二区三区| 欧美日韩一级二级三级| 91高清在线观看| 欧美日产在线观看| 欧美日韩精品免费观看视频| 欧美日韩高清不卡| 欧美性色欧美a在线播放| 91.com视频| 欧美日本韩国一区二区三区视频| 欧美精品777| 欧美精品在线一区二区| 日韩欧美国产系列| 日韩精品一区二区三区在线观看 |