001    package de.deepamehta.core.impl;
002    
003    import de.deepamehta.core.Association;
004    import de.deepamehta.core.AssociationRole;
005    import de.deepamehta.core.model.AssociationRoleModel;
006    
007    
008    
009    /**
010     * An association role that is attached to the {@link DeepaMehtaService}.
011     */
012    class AttachedAssociationRole extends AttachedRole implements AssociationRole {
013    
014        // ---------------------------------------------------------------------------------------------------- Constructors
015    
016        AttachedAssociationRole(AssociationRoleModel model, Association assoc, EmbeddedService dms) {
017            super(model, assoc, dms);
018        }
019    
020        // -------------------------------------------------------------------------------------------------- Public Methods
021    
022    
023    
024        // === Implementation of the abstract methods ===
025    
026        @Override
027        void storeRoleTypeUri() {
028            dms.storageDecorator.storeRoleTypeUri(getAssociation().getId(), getPlayerId(), getRoleTypeUri());
029        }
030    
031    
032    
033        // === AttachedRole Overrides ===
034    
035        @Override
036        public AssociationRoleModel getModel() {
037            return (AssociationRoleModel) super.getModel();
038        }
039    }