|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objectjava.util.Observable
org.openstreetmap.josm.gui.conflict.pair.properties.PropertiesMergeModel
public class PropertiesMergeModel
This is the model for resolving conflicts in the properties of the
OsmPrimitive
s. In particular, it represents conflicts in the coordinates of Node
s and
the deleted or visible state of OsmPrimitive
s.
This model is an Observable
. It notifies registered Observer
s whenever the
internal state changes.
This model also emits property changes for RESOLVED_COMPLETELY_PROP
. Property change
listeners may register themselves using addPropertyChangeListener(PropertyChangeListener)
.
Node.getCoor()
,
AbstractPrimitive.isDeleted()
,
AbstractPrimitive.isVisible()
Field Summary | |
---|---|
private MergeDecisionType |
coordMergeDecision
|
static java.lang.String |
DELETE_PRIMITIVE_PROP
|
private MergeDecisionType |
deletedMergeDecision
|
private OsmPrimitive |
my
|
private LatLon |
myCoords
|
private boolean |
myDeletedState
|
private java.util.List<OsmPrimitive> |
myReferrers
|
static java.lang.String |
RESOLVED_COMPLETELY_PROP
|
private java.lang.Boolean |
resolvedCompletely
|
private java.beans.PropertyChangeSupport |
support
|
private LatLon |
theirCoords
|
private boolean |
theirDeletedState
|
private java.util.List<OsmPrimitive> |
theirReferrers
|
Constructor Summary | |
---|---|
PropertiesMergeModel()
|
Method Summary | |
---|---|
void |
addPropertyChangeListener(java.beans.PropertyChangeListener listener)
|
java.util.List<Command> |
buildResolveCommand(Conflict<? extends OsmPrimitive> conflict)
Builds the command(s) to apply the conflict resolutions to my primitive |
void |
decideCoordsConflict(MergeDecisionType decision)
Decides a conflict between local and server coordinates |
void |
decideDeletedStateConflict(MergeDecisionType decision)
decides the conflict between two deleted states |
void |
fireCompletelyResolved()
|
LatLon |
getMergedCoords()
replies the coordinates of the merged OsmPrimitive . |
java.lang.Boolean |
getMergedDeletedState()
Replies deleted state of combined dataset |
private boolean |
getMergedDeletedState(MergeDecisionType decision)
|
LatLon |
getMyCoords()
replies the coordinates of my OsmPrimitive . |
java.lang.Boolean |
getMyDeletedState()
Replies deleted state of local dataset |
OsmPrimitive |
getMyPrimitive()
|
java.util.List<OsmPrimitive> |
getMyReferrers()
Returns local referrers |
LatLon |
getTheirCoords()
replies the coordinates of their OsmPrimitive . |
java.lang.Boolean |
getTheirDeletedState()
Replies deleted state of Server dataset |
java.util.List<OsmPrimitive> |
getTheirReferrers()
Returns server referrers |
boolean |
hasCoordConflict()
replies true if my and their primitive have a conflict between their coordinate values |
boolean |
hasDeletedStateConflict()
replies true if my and their primitive have a conflict between their deleted states |
boolean |
isCoordMergeDecision(MergeDecisionType decision)
replies true if the current decision for the coordinate conflict is decision |
boolean |
isDecidedCoord()
replies true if there is a coordinate conflict and if this conflict is resolved |
boolean |
isDecidedDeletedState()
replies true if there is a conflict in the deleted state and if this conflict is resolved |
boolean |
isDeletedStateDecision(MergeDecisionType decision)
replies true if the current decision for the deleted state conflict is decision |
boolean |
isResolvedCompletely()
replies true if all conflict in this model are resolved |
void |
populate(Conflict<? extends OsmPrimitive> conflict)
Populates the model with the differences between local and server version |
void |
removePropertyChangeListener(java.beans.PropertyChangeListener listener)
|
Methods inherited from class java.util.Observable |
---|
addObserver, clearChanged, countObservers, deleteObserver, deleteObservers, hasChanged, notifyObservers, notifyObservers, setChanged |
Methods inherited from class java.lang.Object |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Field Detail |
---|
public static final java.lang.String RESOLVED_COMPLETELY_PROP
public static final java.lang.String DELETE_PRIMITIVE_PROP
private OsmPrimitive my
private LatLon myCoords
private LatLon theirCoords
private MergeDecisionType coordMergeDecision
private boolean myDeletedState
private boolean theirDeletedState
private java.util.List<OsmPrimitive> myReferrers
private java.util.List<OsmPrimitive> theirReferrers
private MergeDecisionType deletedMergeDecision
private final java.beans.PropertyChangeSupport support
private java.lang.Boolean resolvedCompletely
Constructor Detail |
---|
public PropertiesMergeModel()
Method Detail |
---|
public void addPropertyChangeListener(java.beans.PropertyChangeListener listener)
public void removePropertyChangeListener(java.beans.PropertyChangeListener listener)
public void fireCompletelyResolved()
public boolean isDecidedCoord()
public boolean isDecidedDeletedState()
public boolean isCoordMergeDecision(MergeDecisionType decision)
decision
decision
;
false, otherwisepublic boolean isDeletedStateDecision(MergeDecisionType decision)
decision
decision
;
false, otherwisepublic void populate(Conflict<? extends OsmPrimitive> conflict)
conflict
- The conflict informationpublic LatLon getMyCoords()
OsmPrimitive
. null, if my primitive hasn't
coordinates (i.e. because it is a Way
).
OsmPrimitive
. null, if my primitive hasn't
coordinates (i.e. because it is a Way
).public LatLon getTheirCoords()
OsmPrimitive
. null, if their primitive hasn't
coordinates (i.e. because it is a Way
).
OsmPrimitive
. null, if my primitive hasn't
coordinates (i.e. because it is a Way
).public LatLon getMergedCoords()
OsmPrimitive
. null, if the current primitives
have no coordinates or if the conflict is yet MergeDecisionType.UNDECIDED
OsmPrimitive
. null, if the current primitives
have no coordinates or if the conflict is yet MergeDecisionType.UNDECIDED
public void decideCoordsConflict(MergeDecisionType decision)
decision
- the decisionpublic java.lang.Boolean getMyDeletedState()
public java.lang.Boolean getTheirDeletedState()
public java.lang.Boolean getMergedDeletedState()
public java.util.List<OsmPrimitive> getMyReferrers()
public java.util.List<OsmPrimitive> getTheirReferrers()
private boolean getMergedDeletedState(MergeDecisionType decision)
public void decideDeletedStateConflict(MergeDecisionType decision) throws java.lang.IllegalArgumentException
decision
- the decision (must not be null)
java.lang.IllegalArgumentException
- thrown, if decision is nullpublic boolean hasCoordConflict()
public boolean hasDeletedStateConflict()
true
if my and their primitive have a conflict between
their deleted statespublic boolean isResolvedCompletely()
true
if all conflict in this model are resolved; false
otherwisepublic java.util.List<Command> buildResolveCommand(Conflict<? extends OsmPrimitive> conflict)
conflict
- The conflict information
public OsmPrimitive getMyPrimitive()
|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |