svn-gvsig-desktop / trunk / org.gvsig.desktop / org.gvsig.desktop.compat.cdc / org.gvsig.fmap.dal / org.gvsig.fmap.dal.swing / org.gvsig.fmap.dal.swing.impl / src / main / java / org / gvsig / fmap / dal / swing / impl / searchPostProcess / distinctOn / FirstAggregateOperation.java @ 45705
History | View | Annotate | Download (1.33 KB)
1 | 45537 | jolivas | /*
|
---|---|---|---|
2 | * To change this license header, choose License Headers in Project Properties.
|
||
3 | * To change this template file, choose Tools | Templates
|
||
4 | * and open the template in the editor.
|
||
5 | */
|
||
6 | package org.gvsig.fmap.dal.swing.impl.searchPostProcess.distinctOn; |
||
7 | |||
8 | /**
|
||
9 | *
|
||
10 | * @author jovivas
|
||
11 | */
|
||
12 | public class FirstAggregateOperation implements AggregateOperation { |
||
13 | public static class FirstAggregateOperationFactory implements AggregateOperationFactory{ |
||
14 | |||
15 | @Override
|
||
16 | public String getName() { |
||
17 | return "First value"; |
||
18 | } |
||
19 | |||
20 | @Override
|
||
21 | public AggregateOperation create(Object... os) { |
||
22 | return new FirstAggregateOperation(); |
||
23 | } |
||
24 | |||
25 | @Override
|
||
26 | public boolean isApplicable(Object... value) { |
||
27 | 45705 | jolivas | return true; |
28 | 45537 | jolivas | } |
29 | } |
||
30 | |||
31 | Object first;
|
||
32 | boolean isFirst = true; |
||
33 | |||
34 | public FirstAggregateOperation() {
|
||
35 | this.first = null; |
||
36 | } |
||
37 | |||
38 | @Override
|
||
39 | public boolean isApplicable(Object... value) { |
||
40 | return true; |
||
41 | } |
||
42 | |||
43 | @Override
|
||
44 | public void reset() { |
||
45 | this.first = null; |
||
46 | this.isFirst=true; |
||
47 | } |
||
48 | |||
49 | @Override
|
||
50 | public void perform(Object value) { |
||
51 | if (isFirst) {
|
||
52 | this.first = value;
|
||
53 | isFirst = false;
|
||
54 | } |
||
55 | } |
||
56 | |||
57 | @Override
|
||
58 | public Object getValue() { |
||
59 | return this.first; |
||
60 | } |
||
61 | |||
62 | } |