public class TagMergeModel extends javax.swing.table.DefaultTableModel
TableModel used in the tables of the TagMerger.
The model can populate(OsmPrimitive, OsmPrimitive) itself from the conflicts
in the tag sets of two OsmPrimitives. Internally, it keeps a list of TagMergeItems.
decide(int, MergeDecisionType) and decide(int[], MergeDecisionType) can be used
to remember a merge decision for a specific row in the model.
The model notifies PropertyChangeListeners about updates of the number of
undecided tags (see PROP_NUM_UNDECIDED_TAGS).| Modifier and Type | Field and Description |
|---|---|
private java.util.Set<java.beans.PropertyChangeListener> |
listeners
the property change listeners
|
private int |
numUndecidedTags |
static java.lang.String |
PROP_NUM_UNDECIDED_TAGS |
private java.util.List<TagMergeItem> |
tagMergeItems
the list of tag merge items
|
| Constructor and Description |
|---|
TagMergeModel()
Constructs a new
TagMergeModel. |
| Modifier and Type | Method and Description |
|---|---|
void |
addItem(TagMergeItem item)
add a
TagMergeItem to the model |
void |
addPropertyChangeListener(java.beans.PropertyChangeListener listener) |
TagConflictResolveCommand |
buildResolveCommand(Conflict<? extends OsmPrimitive> conflict) |
void |
decide(int[] rows,
MergeDecisionType decision)
|
void |
decide(int row,
MergeDecisionType decision)
|
void |
decideRemaining(MergeDecisionType decision) |
protected void |
fireNumUndecidedTagsChanged(int oldValue,
int newValue)
notifies
PropertyChangeListeners about an update of PROP_NUM_UNDECIDED_TAGS |
int |
getFirstUndecided(int startIndex) |
int |
getNumResolvedConflicts() |
int |
getRowCount() |
java.lang.Object |
getValueAt(int row,
int column) |
boolean |
isCellEditable(int row,
int column) |
boolean |
isResolvedCompletely() |
void |
populate(OsmPrimitive my,
OsmPrimitive their)
|
protected void |
refreshNumUndecidedTags()
refreshes the number of undecided tag conflicts after an update in the list of
TagMergeItems. |
protected void |
rememberDecision(int row,
MergeDecisionType decision) |
void |
removePropertyChangeListener(java.beans.PropertyChangeListener listener) |
addColumn, addColumn, addColumn, addRow, addRow, convertToVector, convertToVector, getColumnCount, getColumnName, getDataVector, insertRow, insertRow, moveRow, newDataAvailable, newRowsAdded, removeRow, rowsRemoved, setColumnCount, setColumnIdentifiers, setColumnIdentifiers, setDataVector, setDataVector, setNumRows, setRowCount, setValueAtaddTableModelListener, findColumn, fireTableCellUpdated, fireTableChanged, fireTableDataChanged, fireTableRowsDeleted, fireTableRowsInserted, fireTableRowsUpdated, fireTableStructureChanged, getColumnClass, getListeners, getTableModelListeners, removeTableModelListenerpublic static final java.lang.String PROP_NUM_UNDECIDED_TAGS
private final transient java.util.List<TagMergeItem> tagMergeItems
private final transient java.util.Set<java.beans.PropertyChangeListener> listeners
private int numUndecidedTags
public TagMergeModel()
TagMergeModel.public void addPropertyChangeListener(java.beans.PropertyChangeListener listener)
public void removePropertyChangeListener(java.beans.PropertyChangeListener listener)
protected void fireNumUndecidedTagsChanged(int oldValue, int newValue)
PropertyChangeListeners about an update of PROP_NUM_UNDECIDED_TAGSoldValue - the old valuenewValue - the new valueprotected void refreshNumUndecidedTags()
TagMergeItems. Notifies PropertyChangeListener if necessary.public void populate(OsmPrimitive my, OsmPrimitive their)
my - my primitive (i.e. the primitive from the local dataset)their - their primitive (i.e. the primitive from the server dataset)public void addItem(TagMergeItem item)
TagMergeItem to the modelitem - the itemprotected void rememberDecision(int row, MergeDecisionType decision)
public void decide(int row, MergeDecisionType decision)
row - the rowdecision - the decisionpublic void decide(int[] rows, MergeDecisionType decision)
rows - the array of row indicesdecision - the decisionpublic int getRowCount()
getRowCount in interface javax.swing.table.TableModelgetRowCount in class javax.swing.table.DefaultTableModelpublic java.lang.Object getValueAt(int row, int column)
getValueAt in interface javax.swing.table.TableModelgetValueAt in class javax.swing.table.DefaultTableModelpublic boolean isCellEditable(int row, int column)
isCellEditable in interface javax.swing.table.TableModelisCellEditable in class javax.swing.table.DefaultTableModelpublic TagConflictResolveCommand buildResolveCommand(Conflict<? extends OsmPrimitive> conflict)
public boolean isResolvedCompletely()
public void decideRemaining(MergeDecisionType decision)
public int getNumResolvedConflicts()
public int getFirstUndecided(int startIndex)