001package org.openstreetmap.gui.jmapviewer; 002 003import java.util.ArrayList; 004import java.util.List; 005 006public class AbstractLayer { 007 private LayerGroup parent; 008 private String name; 009 private String description; 010 private Style style; 011 private Boolean visible; 012 private Boolean visibleTexts=true; 013 014 public AbstractLayer(String name){ 015 this(name, (String)null); 016 } 017 public AbstractLayer(String name, String description){ 018 this(name, description, MapMarkerCircle.getDefaultStyle()); 019 } 020 public AbstractLayer(String name, Style style){ 021 this(name, null, style); 022 } 023 public AbstractLayer(String name, String description, Style style){ 024 this(null, name, description, style); 025 } 026 public AbstractLayer(LayerGroup parent, String name){ 027 this(parent, name, MapMarkerCircle.getDefaultStyle()); 028 } 029 public AbstractLayer(LayerGroup parent, String name, Style style){ 030 this(parent, name, null, style); 031 } 032 public AbstractLayer(LayerGroup parent, String name, String description, Style style){ 033 setParent(parent); 034 setName(name); 035 setDescription(description); 036 setStyle(style); 037 setVisible(true); 038 039 if(parent!=null) parent.add(this); 040 } 041 public LayerGroup getParent() { 042 return parent; 043 } 044 public void setParent(LayerGroup parent) { 045 this.parent = parent; 046 } 047 public String getName() { 048 return name; 049 } 050 public void setName(String name) { 051 this.name = name; 052 } 053 public String getDescription() { 054 return description; 055 } 056 public void setDescription(String description) { 057 this.description = description; 058 } 059 public Style getStyle() { 060 return style; 061 } 062 public void setStyle(Style style) { 063 this.style = style; 064 } 065 public Boolean isVisible() { 066 return visible; 067 } 068 public void setVisible(Boolean visible) { 069 this.visible = visible; 070 } 071 public static <E> List<E> add(List<E> list, E element) { 072 if(element!=null){ 073 if(list==null) list = new ArrayList<E>(); 074 if(!list.contains(element)) list.add(element); 075 } 076 return list; 077 } 078 public Boolean isVisibleTexts() { 079 return visibleTexts; 080 } 081 public void setVisibleTexts(Boolean visibleTexts) { 082 this.visibleTexts = visibleTexts; 083 } 084 public String toString(){ 085 return name; 086 } 087}