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 }