Changeset 13806 in josm for trunk/src


Ignore:
Timestamp:
2018-05-21T18:08:10+02:00 (15 months ago)
Author:
Don-vip
Message:

add IPrimitive.visitReferrers(PrimitiveVisitor)

Location:
trunk/src/org/openstreetmap/josm/data/osm
Files:
3 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/org/openstreetmap/josm/data/osm/IPrimitive.java

    r13764 r13806  
    308308
    309309    /**
     310     * <p>Visits {@code visitor} for all referrers.</p>
     311     *
     312     * @param visitor the visitor. Ignored, if null.
     313     * @since 13806
     314     */
     315    void visitReferrers(PrimitiveVisitor visitor);
     316
     317    /**
    310318     * Replies the name of this primitive. The default implementation replies the value
    311319     * of the tag <code>name</code> or null, if this tag is not present.
  • trunk/src/org/openstreetmap/josm/data/osm/OsmPrimitive.java

    r13764 r13806  
    1919import java.util.Objects;
    2020import java.util.Set;
     21import java.util.function.Consumer;
    2122
    2223import org.openstreetmap.josm.data.osm.search.SearchCompiler;
     
    2425import org.openstreetmap.josm.data.osm.search.SearchParseError;
    2526import org.openstreetmap.josm.data.osm.visitor.OsmPrimitiveVisitor;
     27import org.openstreetmap.josm.data.osm.visitor.PrimitiveVisitor;
    2628import org.openstreetmap.josm.gui.mappaint.StyleCache;
    2729import org.openstreetmap.josm.spi.preferences.Config;
     
    9981000     */
    9991001    public void visitReferrers(OsmPrimitiveVisitor visitor) {
    1000         if (visitor == null) return;
     1002        if (visitor != null)
     1003            doVisitReferrers(o -> o.accept(visitor));
     1004    }
     1005
     1006    @Override
     1007    public void visitReferrers(PrimitiveVisitor visitor) {
     1008        if (visitor != null)
     1009            doVisitReferrers(o -> o.accept(visitor));
     1010    }
     1011
     1012    private void doVisitReferrers(Consumer<OsmPrimitive> visitor) {
    10011013        if (this.referrers == null)
    10021014            return;
     
    10041016            OsmPrimitive ref = (OsmPrimitive) this.referrers;
    10051017            if (ref.dataSet == dataSet) {
    1006                 ref.accept(visitor);
     1018                visitor.accept(ref);
    10071019            }
    10081020        } else if (this.referrers instanceof OsmPrimitive[]) {
     
    10101022            for (OsmPrimitive ref: refs) {
    10111023                if (ref.dataSet == dataSet) {
    1012                     ref.accept(visitor);
     1024                    visitor.accept(ref);
    10131025                }
    10141026            }
  • trunk/src/org/openstreetmap/josm/data/osm/PrimitiveData.java

    r13764 r13806  
    1313import java.util.Map;
    1414
     15import org.openstreetmap.josm.data.osm.visitor.PrimitiveVisitor;
    1516import org.openstreetmap.josm.gui.mappaint.StyleCache;
    1617
     
    170171
    171172    @Override
     173    public void visitReferrers(PrimitiveVisitor visitor) {
     174        // Override if needed
     175    }
     176
     177    @Override
    172178    public StyleCache getCachedStyle() {
    173179        return null;
Note: See TracChangeset for help on using the changeset viewer.