001package de.deepamehta.core.impl;
002
003import de.deepamehta.core.TopicType;
004import de.deepamehta.core.model.TopicTypeModel;
005
006
007
008/**
009 * A topic type that is attached to the {@link CoreService}.
010 */
011class TopicTypeImpl extends DeepaMehtaTypeImpl implements TopicType {
012
013    // ---------------------------------------------------------------------------------------------------- Constructors
014
015    TopicTypeImpl(TopicTypeModelImpl model, PersistenceLayer pl) {
016        super(model, pl);
017    }
018
019    // -------------------------------------------------------------------------------------------------- Public Methods
020
021
022
023    // ********************************
024    // *** TopicType Implementation ***
025    // ********************************
026
027
028
029    @Override
030    public TopicTypeModelImpl getModel() {
031        return (TopicTypeModelImpl) model;
032    }
033
034    @Override
035    public void update(TopicTypeModel updateModel) {
036        model.update((TopicTypeModelImpl) updateModel);     // ### FIXME: call through pl for access control
037    }
038
039
040
041    // ----------------------------------------------------------------------------------------- Package Private Methods
042
043    @Override
044    TopicTypeModelImpl _getModel() {
045        return pl._getTopicType(getUri());
046    }
047}