001    package de.deepamehta.core.impl;
002    
003    import de.deepamehta.core.Association;
004    import de.deepamehta.core.RelatedAssociation;
005    import de.deepamehta.core.model.RelatedAssociationModel;
006    
007    
008    
009    /**
010     * An Association-Association pair that is attached to the {@link DeepaMehtaService}.
011     */
012    class 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    }