View Javadoc

1   /*
2    * Copyright (c) 2007 Creative Sphere Limited.
3    * All rights reserved. This program and the accompanying materials
4    * are made available under the terms of the Eclipse Public License v1.0
5    * which accompanies this distribution, and is available at
6    * http://www.eclipse.org/legal/epl-v10.html
7    *
8    * Contributors:
9    *
10   *   Creative Sphere - initial API and implementation
11   *
12   */
13  package org.abstracthorizon.aequo;
14  
15  /**
16   * Entry of {@link CompareModel}.
17   * 
18   * @param <T> type
19   *
20   * @author Daniel Sendula
21   */
22  public interface CompareEntry<T> {
23  
24      /** Column is equal to others */
25      byte EQUAL = 0;
26      
27      /** Column is greater then others */
28      byte GREATER = 1;
29      
30      /** Column is less then others */
31      byte LESS = -1;
32      
33      /** Different than others */
34      byte DIFFERENT = -2;
35  
36      /** Empty status */
37      byte EMPTY = GREATER + 1;
38  
39      /** New line status - set if lines are similar */
40      byte SIMILAR = EMPTY + 1;
41  
42      /** New line status - set if line is changed */
43      byte CHANGED = SIMILAR + 1;
44  
45      /**
46       * Returns data array
47       * @return data array
48       */
49      T[] getData();
50      
51      /**
52       * Returns data for asked column
53       * @param index column index
54       * @return data for asked column
55       */
56      T getData(int index);
57      
58      /**
59       * Sets data as an array
60       * @param data sets data as an array
61       */
62      void setData(T[] data);
63  
64      /**
65       * Sets data in given column
66       * @param index index of column
67       * @param data data
68       */
69      void setData(int index, T data);
70      
71      /**
72       * Returns status of asked column
73       * @param column column
74       * @return status of asked column
75       * 
76       * @see #EQUAL
77       * @see #GREATER
78       * @see #LESS
79       * @see #DIFFERENT
80       */
81      byte getStatus(int column);
82  }