Package org.apache.activemq.kaha.impl.index

Examples of org.apache.activemq.kaha.impl.index.IndexItem


     */
    public synchronized List subList(int fromIndex,int toIndex){
        load();
        List result=new ArrayList();
        int count=fromIndex;
        IndexItem next=indexList.get(fromIndex);
        while(next!=null&&count++<toIndex){
            result.add(getValue(next));
            next=indexList.getNextEntry(next);
        }
        return result;
View Full Code Here


     *
     * @param entry
     * @return true if successful
     */
    public synchronized boolean remove(StoreEntry entry){
        IndexItem item=(IndexItem)entry;
        load();
        boolean result=false;
        if(item!=null){
            clearCache();
            remove(item);
View Full Code Here

     *
     * @param entry
     * @return the next StoreEntry or null
     */
    public synchronized StoreEntry getNext(StoreEntry entry){
        IndexItem item=(IndexItem)entry;
        return indexList.getNextEntry(item);
    }
View Full Code Here

     *
     * @param entry
     * @return the previous store entry or null
     */
    public synchronized StoreEntry getPrevious(StoreEntry entry){
        IndexItem item=(IndexItem)entry;
        return indexList.getPrevEntry(item);
    }
View Full Code Here

    public synchronized StoreEntry refresh(StoreEntry entry) {
        return indexList.getEntry(entry);
    }

    protected IndexItem writeLast(Object value){
        IndexItem index=null;
        try{
            if(value!=null){
                StoreLocation data=dataManager.storeDataItem(marshaller,value);
                index=indexManager.createNewIndex();
                index.setValueData(data);
                IndexItem prev=indexList.getLast();
                prev=prev!=null?prev:root;
                IndexItem next=indexList.getNextEntry(prev);
                prev.setNextItem(index.getOffset());
                index.setPreviousItem(prev.getOffset());
                updateIndexes(prev);
                if(next!=null){
                    next.setPreviousItem(index.getOffset());
                    index.setNextItem(next.getOffset());
                    updateIndexes(next);
                }
                storeIndex(index);
            }
        }catch(IOException e){
View Full Code Here

        }
        return index;
    }

    protected IndexItem writeFirst(Object value){
        IndexItem index=null;
        try{
            if(value!=null){
                StoreLocation data=dataManager.storeDataItem(marshaller,value);
                index=indexManager.createNewIndex();
                index.setValueData(data);
                IndexItem prev=root;
                IndexItem next=indexList.getNextEntry(prev);
                prev.setNextItem(index.getOffset());
                index.setPreviousItem(prev.getOffset());
                updateIndexes(prev);
                if(next!=null){
                    next.setPreviousItem(index.getOffset());
                    index.setNextItem(next.getOffset());
                    updateIndexes(next);
                }
                storeIndex(index);
            }
        }catch(IOException e){
View Full Code Here

        }
        return index;
    }

    protected IndexItem insert(int insertPos,Object value){
        IndexItem index=null;
        try{
            if(value!=null){
                StoreLocation data=dataManager.storeDataItem(marshaller,value);
                index=indexManager.createNewIndex();
                index.setValueData(data);
                IndexItem prev=null;
                IndexItem next=null;
                if(insertPos<=0){
                    prev=root;
                    next=indexList.getNextEntry(root);
                }else if(insertPos>=indexList.size()){
                    prev=indexList.getLast();
                    next=null;
                }else{
                    prev=indexList.get(insertPos);
                    prev=prev!=null?prev:root;
                    next=indexList.getNextEntry(prev);
                }
                prev.setNextItem(index.getOffset());
                index.setPreviousItem(prev.getOffset());
                updateIndexes(prev);
                if(next!=null){
                    next.setPreviousItem(index.getOffset());
                    index.setNextItem(next.getOffset());
                    updateIndexes(next);
                }
                storeIndex(index);
            }
        }catch(IOException e){
View Full Code Here

        if(cachePosition>=0&&cachePosition<cacheList.size()){
            result=cacheList.get(cachePosition);
        }
        if(result==null){
            if(cachePosition==cacheList.size()&&lastCached!=null){
                IndexItem item=indexList.getNextEntry(lastCached);
                if(item!=null){
                    result=getValue(item);
                    cacheList.add(result);
                    lastCached=item;
                    if(cacheList.size()>maximumCacheSize){
                        itemRemoved(0);
                    }
                }
            }else{
                IndexItem item=indexList.get(pos);
                if(item!=null){
                    result=getValue(item);
                    if(result!=null){
                        // outside the cache window - so clear
                        if(!cacheList.isEmpty()){
View Full Code Here

                loaded=true;
                try{
                    init();
                    long nextItem=root.getNextItem();
                    while(nextItem!=Item.POSITION_NOT_SET){
                        IndexItem item=indexManager.getIndex(nextItem);
                        StoreLocation data=item.getKeyDataItem();
                        Object key=dataManager.readItem(keyMarshaller,data);
                        indexMap.put(key,item);
                        indexList.add(item);
                        nextItem=item.getNextItem();
                    }
                }catch(IOException e){
                    log.error("Failed to load container "+getId(),e);
                    throw new RuntimeStoreException(e);
                }
View Full Code Here

     */
    public synchronized boolean containsValue(Object o){
        load();
        boolean result=false;
        if(o!=null){
            IndexItem item=indexList.getFirst();
            while(item!=null){
                Object value=getValue(item);
                if(value!=null&&value.equals(o)){
                    result=true;
                    break;
View Full Code Here

TOP

Related Classes of org.apache.activemq.kaha.impl.index.IndexItem

Copyright © 2018 www.massapicom. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.