Statistics
| Revision:

svn-gvsig-desktop / trunk / org.gvsig.desktop / org.gvsig.desktop.library / org.gvsig.expressionevaluator / org.gvsig.expressionevaluator.lib / org.gvsig.expressionevaluator.lib.impl / src / main / java / org / gvsig / expressionevaluator / impl / DefaultBookmarks.java @ 44263

History | View | Annotate | Download (2.77 KB)

1
package org.gvsig.expressionevaluator.impl;
2

    
3
import java.util.ArrayList;
4
import java.util.Date;
5
import java.util.Iterator;
6
import java.util.List;
7
import org.apache.commons.lang3.StringUtils;
8
import org.gvsig.expressionevaluator.Bookmark;
9
import org.gvsig.expressionevaluator.Bookmarks;
10
import org.gvsig.expressionevaluator.Expression;
11
import org.gvsig.tools.util.LabeledValueImpl;
12

    
13
/**
14
 *
15
 * @author jjdelcerro
16
 */
17
public class DefaultBookmarks
18
        implements Bookmarks
19
    {
20

    
21
    public static class DefaultBookmark 
22
            extends LabeledValueImpl<Expression>
23
            implements Bookmark
24
        {
25

    
26
        private long lastUse;
27
        private String name;
28
        
29
        public DefaultBookmark(String name, Expression value) {
30
            super(name, value);
31
            this.name = name;
32
            this.used();
33
        }
34
        
35
        @Override
36
        public final void used() {
37
            this.lastUse = new Date().getTime();
38
        }
39
        
40
        @Override
41
        public long getLastUse() {
42
            return this.lastUse;
43
        }
44

    
45
        @Override
46
        public void setName(String name) {
47
            this.name = name;
48
        }
49

    
50
        @Override
51
        public String getName() {
52
            return this.name;
53
        }
54

    
55
        @Override
56
        public String getLabel() {
57
            return this.name;
58
        }
59
    }
60
    
61
    private final ArrayList<Bookmark> bookmarks;
62

    
63
    public DefaultBookmarks() {
64
        this.bookmarks = new ArrayList<>();
65
    }
66
    
67
    @Override
68
    public boolean remove(String bookmarkName) {
69
        for (int i = 0; i < this.bookmarks.size(); i++) {
70
            Bookmark bookmark = this.bookmarks.get(i);
71
            if( StringUtils.equalsIgnoreCase(bookmarkName, bookmark.getName()) ) {
72
                this.bookmarks.remove(i);
73
                return true;
74
            }
75
        }
76
        return false;
77
    }
78

    
79
    @Override
80
    public List<Bookmark> toList() {
81
        return this.bookmarks;
82
    }
83

    
84
    @Override
85
    public boolean remove(Bookmark bookmark) {
86
        return this.bookmarks.remove(bookmark);
87
    }
88

    
89
    @Override
90
    public Bookmark add(Bookmark bookmark) {
91
        this.bookmarks.add(bookmark);
92
        return bookmark;
93
    }
94

    
95
    @Override
96
    public Bookmark add(String name, Expression expression) {
97
        DefaultBookmark bookmark = new DefaultBookmark(name, expression);
98
        this.bookmarks.add(bookmark);
99
        return bookmark;
100
    }
101

    
102
    @Override
103
    public boolean isEmpty() {
104
        return this.bookmarks.isEmpty();
105
    }
106

    
107
    @Override
108
    public int size() {
109
        return this.bookmarks.size();
110
    }
111

    
112
    @Override
113
    public Iterator<Bookmark> iterator() {
114
        return this.bookmarks.iterator();
115
    }
116

    
117
    @Override
118
    public Bookmark get(int position) {
119
        return this.bookmarks.get(position);
120
    }
121

    
122
    
123
}