001    package de.deepamehta.core.model;
002    
003    import org.codehaus.jettison.json.JSONObject;
004    
005    import java.util.List;
006    import java.util.logging.Logger;
007    
008    
009    
010    /**
011     * Collection of the data that makes up a {@link TopicType}.
012     *
013     * @author <a href="mailto:jri@deepamehta.de">Jörg Richter</a>
014     */
015    public class TopicTypeModel extends TypeModel {
016    
017        // ---------------------------------------------------------------------------------------------- Instance Variables
018    
019        private Logger logger = Logger.getLogger(getClass().getName());
020    
021        // ---------------------------------------------------------------------------------------------------- Constructors
022    
023        public TopicTypeModel(String uri, String value, String dataTypeUri) {
024            this(uri, "dm4.core.topic_type", value, dataTypeUri);
025        }
026    
027        public TopicTypeModel(String uri, String topicTypeUri, String value, String dataTypeUri) {
028            super(uri, topicTypeUri, new SimpleValue(value), dataTypeUri);
029        }
030    
031        public TopicTypeModel(TopicModel topic, String dataTypeUri, List<IndexMode> indexModes,
032                              List<AssociationDefinitionModel> assocDefs, List<String> labelConfig,
033                              ViewConfigurationModel viewConfig) {
034            super(topic, dataTypeUri, indexModes, assocDefs, labelConfig, viewConfig);
035        }
036    
037        public TopicTypeModel(JSONObject topicType) {
038            super(topicType, "dm4.core.topic_type");
039        }
040    
041        // -------------------------------------------------------------------------------------------------- Public Methods
042    
043        @Override
044        public String toString() {
045            return "topic type (" + super.toString() + ")";
046        }
047    }