001package systems.dmx.core.model.topicmaps;
002
003import systems.dmx.core.model.TopicModel;
004
005
006
007/**
008 * A topic viewmodel as contained in a topicmap viewmodel.
009 * <p>
010 * That is a generic topic model enriched by view properties. Standard view properties are "dmx.topicmaps.x",
011 * "dmx.topicmaps.y", and "dmx.topicmaps.visibility". Additional view properties can be added by plugins (by
012 * implementing a Viewmodel Customizer).
013 */
014public interface TopicViewModel extends TopicModel {
015
016    ViewProperties getViewProperties();
017
018    // ---
019
020    /**
021     * Convencience method to access the "dmx.topicmaps.x" standard view property.
022     */
023    int getX();
024
025    /**
026     * Convencience method to access the "dmx.topicmaps.y" standard view property.
027     */
028    int getY();
029
030    /**
031     * Convencience method to access the "dmx.topicmaps.visibility" standard view property.
032     */
033    boolean getVisibility();
034}