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