001package de.deepamehta.core.impl;
002
003import de.deepamehta.core.RelatedAssociation;
004import de.deepamehta.core.model.AssociationModel;
005import de.deepamehta.core.model.RelatedAssociationModel;
006
007
008
009class RelatedAssociationModelImpl extends AssociationModelImpl implements RelatedAssociationModel {
010
011    // ---------------------------------------------------------------------------------------------- Instance Variables
012
013    private AssociationModelImpl relatingAssoc;
014
015    // ---------------------------------------------------------------------------------------------------- Constructors
016
017    RelatedAssociationModelImpl(AssociationModelImpl assoc, AssociationModelImpl relatingAssoc) {
018        super(assoc);
019        this.relatingAssoc = relatingAssoc;
020    }
021
022    // -------------------------------------------------------------------------------------------------- Public Methods
023
024    @Override
025    public AssociationModelImpl getRelatingAssociation() {
026        return relatingAssoc;
027    }
028
029    // === Java API ===
030
031    @Override
032    public String toString() {
033        return super.toString() + ", relating " + relatingAssoc;
034    }
035
036
037
038    // ----------------------------------------------------------------------------------------- Package Private Methods
039
040    @Override
041    String className() {
042        return "related association";
043    }
044
045    @Override
046    RelatedAssociation instantiate() {
047        return new RelatedAssociationImpl(this, pl);
048    }
049}