package com.revolsys.swing.map.symbol; import java.util.Map; import com.revolsys.collection.map.MapEx; import com.revolsys.io.map.MapSerializer; import com.revolsys.properties.AbstractNameTitle; public abstract class AbstractSymbolElement extends AbstractNameTitle implements MapSerializer { private SymbolGroup parent; public AbstractSymbolElement() { } public AbstractSymbolElement(final Map<String, ? extends Object> properties) { setProperties(properties); } public AbstractSymbolElement(final String name) { super(name); } public AbstractSymbolElement(final String name, final String title) { super(name, title); } public SymbolGroup getParent() { return this.parent; } public SymbolLibrary getSymbolLibrary() { final SymbolGroup parent = getParent(); if (parent == null) { return null; } else { return parent.getSymbolLibrary(); } } @Override public abstract String getTypeName(); public void setParent(final SymbolGroup parent) { this.parent = parent; } @Override public MapEx toMap() { final String typeName = getTypeName(); final MapEx map = newTypeMap(typeName); map.put("name", getName()); map.put("title", getTitle()); return map; } @Override public String toString() { return getTitle(); } }