001package de.deepamehta.core.impl;
002
003import de.deepamehta.core.Association;
004import de.deepamehta.core.RelatedTopic;
005import de.deepamehta.core.model.RelatedTopicModel;
006
007
008
009/**
010 * A Topic-Association pair that is attached to the {@link DeepaMehtaService}.
011 */
012class AttachedRelatedTopic extends AttachedTopic implements RelatedTopic {
013
014    // ---------------------------------------------------------------------------------------------- Instance Variables
015
016    private Association relatingAssoc;      // Attached object cache
017
018    // ---------------------------------------------------------------------------------------------------- Constructors
019
020    AttachedRelatedTopic(RelatedTopicModel model, EmbeddedService dms) {
021        super(model, dms);
022        this.relatingAssoc = new AttachedAssociation(model.getRelatingAssociation(), dms);
023    }
024
025    // -------------------------------------------------------------------------------------------------- Public Methods
026
027    @Override
028    public Association getRelatingAssociation() {
029        return relatingAssoc;
030    }
031
032    @Override
033    public RelatedTopicModel getModel() {
034        return (RelatedTopicModel) super.getModel();
035    }
036}