001package systems.dmx.core.impl;
002
003import systems.dmx.core.RelatedAssociation;
004import systems.dmx.core.model.AssociationModel;
005import systems.dmx.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    // ----------------------------------------------------------------------------------------- Package Private Methods
030
031    @Override
032    String className() {
033        return "related association";
034    }
035
036    @Override
037    RelatedAssociationImpl instantiate() {
038        return new RelatedAssociationImpl(this, pl);
039    }
040}