001    package de.deepamehta.core;
002    
003    import de.deepamehta.core.model.TopicModel;
004    
005    import java.util.List;
006    
007    
008    
009    /**
010     * Specification of a topic -- DeepaMehta's central data object.
011     *
012     * @author <a href="mailto:jri@deepamehta.de">Jörg Richter</a>
013     */
014    public interface Topic extends DeepaMehtaObject {
015    
016    
017    
018        // === Model ===
019    
020        Topic loadChildTopics();
021        Topic loadChildTopics(String childTypeUri);
022    
023        // ---
024    
025        TopicModel getModel();
026    
027    
028    
029        // === Updating ===
030    
031        void update(TopicModel model);
032    }