// License: GPL. For details, see LICENSE file. package org.openstreetmap.josm.plugins.tageditor.tagspec; import org.openstreetmap.josm.plugins.tageditor.ac.AutoCompletionContext; public class LabelSpecification { /** the key of the tag */ private String value; private boolean applicableToNode = true; private boolean applicableToWay = true; private boolean applicableToRelation = true; /** * constructor */ public LabelSpecification() { } public boolean isApplicable(AutoCompletionContext context) { boolean ret = false; if (context.isSelectionEmpty()) { ret = true; } else { ret = ret || (applicableToNode && context.isSelectionIncludesNodes()); ret = ret || (applicableToWay && context.isSelectionIncludesWays()); ret = ret || (applicableToRelation && context.isSelectionIncludesRelations()); } return ret; } /* --------------------------------------------------------------------------- */ /* setters/getters */ /* --------------------------------------------------------------------------- */ public String getValue() { return value; } public void setValue(String value) { this.value = value; } public boolean isApplicableToNode() { return applicableToNode; } public void setApplicableToNode(boolean applicableToNode) { this.applicableToNode = applicableToNode; } public boolean isApplicableToWay() { return applicableToWay; } public void setApplicableToWay(boolean applicableToWay) { this.applicableToWay = applicableToWay; } public boolean isApplicableToRelation() { return applicableToRelation; } public void setApplicableToRelation(boolean applicableToRelation) { this.applicableToRelation = applicableToRelation; } }