001package de.deepamehta.core.impl;
002
003import de.deepamehta.core.Association;
004import de.deepamehta.core.RelatedAssociation;
005import de.deepamehta.core.model.RelatedAssociationModel;
006
007
008
009/**
010 * An Association-Association pair that is attached to the {@link DeepaMehtaService}.
011 */
012class AttachedRelatedAssociation extends AttachedAssociation implements RelatedAssociation {
013
014    // ---------------------------------------------------------------------------------------------- Instance Variables
015
016    private Association relatingAssoc;      // Attached object cache
017
018    // ---------------------------------------------------------------------------------------------------- Constructors
019
020    AttachedRelatedAssociation(RelatedAssociationModel 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 RelatedAssociationModel getModel() {
034        return (RelatedAssociationModel) super.getModel();
035    }
036}