All Downloads are FREE. Search and download functionalities are using the official Maven repository.

org.finos.legend.pure.generated.Root_meta_external_store_service_tests_domain_Synonym_Impl Maven / Gradle / Ivy

The newest version!
package org.finos.legend.pure.generated;
import org.eclipse.collections.api.RichIterable;
import org.eclipse.collections.api.factory.Lists;
import org.eclipse.collections.api.factory.Maps;
import org.eclipse.collections.api.list.ListIterable;
import org.eclipse.collections.api.list.MutableList;
import org.eclipse.collections.api.map.MutableMap;
import org.finos.legend.pure.m3.execution.ExecutionSupport;
import org.finos.legend.pure.m4.ModelRepository;
import org.finos.legend.pure.m4.coreinstance.CoreInstance;
import org.finos.legend.pure.m4.coreinstance.SourceInformation;
import org.finos.legend.pure.m4.coreinstance.factory.CoreInstanceFactory;
import org.finos.legend.pure.runtime.java.compiled.execution.*;
import org.finos.legend.pure.runtime.java.compiled.execution.sourceInformation.E_;
import org.finos.legend.pure.runtime.java.compiled.generation.processors.support.*;
import org.finos.legend.pure.runtime.java.compiled.generation.processors.support.coreinstance.ReflectiveCoreInstance;
import org.finos.legend.pure.runtime.java.compiled.generation.processors.support.coreinstance.ValCoreInstance;
import org.finos.legend.pure.runtime.java.compiled.generation.processors.support.coreinstance.GetterOverrideExecutor;
import org.finos.legend.pure.runtime.java.compiled.generation.processors.support.function.*;
import org.finos.legend.pure.runtime.java.compiled.generation.processors.support.function.defended.*;
public class Root_meta_external_store_service_tests_domain_Synonym_Impl extends Root_meta_pure_metamodel_type_Any_Impl implements Root_meta_external_store_service_tests_domain_Synonym
{
    public static final String tempTypeName = "Synonym";
    private static final String tempFullTypeId = "Root::meta::external::store::service::tests::domain::Synonym";
    private static final KeyIndex KEY_INDEX = keyIndexBuilder(5)
           .withKeys(tempFullTypeId, "name", "type")
           .withKeyFromAssociation(tempFullTypeId, "product")
           .withKeys("Root::meta::pure::metamodel::type::Any", "classifierGenericType", "elementOverride")
           .build();
    private CoreInstance classifier;
    public Root_meta_external_store_service_tests_domain_Synonym_Impl(String id)
    {
        super(id);
    }

    public Root_meta_external_store_service_tests_domain_Synonym_Impl(String name, SourceInformation sourceInformation, CoreInstance classifier)
    {
        this(name == null ? "Anonymous_NoCounter": name);
        this.setSourceInformation(sourceInformation);
        this.classifier = classifier;
    }

    @Override
    public CoreInstance getClassifier()
    {
        return this.classifier;
    }

    @Override
    public RichIterable getKeys()
    {
        return KEY_INDEX.getKeys();
    }

    @Override
    public ListIterable getRealKeyByName(String name)
    {
        return KEY_INDEX.getRealKeyByName(name);
    }

    @Override
    public CoreInstance getValueForMetaPropertyToOne(String keyName)
    {
        switch (keyName)
        {
            case "classifierGenericType":
            {
                return ValCoreInstance.toCoreInstance(_classifierGenericType());
            }
            case "elementOverride":
            {
                return ValCoreInstance.toCoreInstance(_elementOverride());
            }
            case "name":
            {
                return ValCoreInstance.toCoreInstance(_name());
            }
            case "product":
            {
                return ValCoreInstance.toCoreInstance(_product());
            }
            case "type":
            {
                return ValCoreInstance.toCoreInstance(_type());
            }
            default:
            {
                return super.getValueForMetaPropertyToOne(keyName);
            }
        }
    }

    public org.finos.legend.pure.generated.Root_meta_external_store_service_tests_domain_Product _product;
    public Root_meta_external_store_service_tests_domain_Synonym _product(org.finos.legend.pure.generated.Root_meta_external_store_service_tests_domain_Product val)
    {
        if (this._product != null) {this._product._sever_reverse_synonyms(this);}
        this._product = val;
        if (val != null) {val._reverse_synonyms(this);}
        return this;
    }

    public Root_meta_external_store_service_tests_domain_Synonym _product(RichIterable val)
    {
        return _product(val.getFirst());
    }

    public Root_meta_external_store_service_tests_domain_Synonym _productRemove()
    {
        this._product = null;
        return this;
    }


    public void _reverse_product(org.finos.legend.pure.generated.Root_meta_external_store_service_tests_domain_Product val)
    {
        this._product = val;
    }

    public void _sever_reverse_product(org.finos.legend.pure.generated.Root_meta_external_store_service_tests_domain_Product val)
    {
        this._product = null;
    }

    public org.finos.legend.pure.generated.Root_meta_external_store_service_tests_domain_Product _product()
    {
        return this._elementOverride() == null || !GetterOverrideExecutor.class.isInstance(this._elementOverride()) ? this._product : (org.finos.legend.pure.generated.Root_meta_external_store_service_tests_domain_Product)((GetterOverrideExecutor)this._elementOverride()).executeToOne(this, "Root::meta::external::store::service::tests::domain::Synonym", "product");
    }

    public Root_meta_external_store_service_tests_domain_Synonym _elementOverride(org.finos.legend.pure.m3.coreinstance.meta.pure.metamodel.type.ElementOverride val)
    {
        this._elementOverride = val;
        return this;
    }

    public Root_meta_external_store_service_tests_domain_Synonym _elementOverride(RichIterable val)
    {
        return _elementOverride(val.getFirst());
    }

    public Root_meta_external_store_service_tests_domain_Synonym _elementOverrideRemove()
    {
        this._elementOverride = null;
        return this;
    }


    public java.lang.String _name;
    public Root_meta_external_store_service_tests_domain_Synonym _name(java.lang.String val)
    {
        this._name = val;
        return this;
    }

    public Root_meta_external_store_service_tests_domain_Synonym _name(RichIterable val)
    {
        return _name(val.getFirst());
    }

    public Root_meta_external_store_service_tests_domain_Synonym _nameRemove()
    {
        this._name = null;
        return this;
    }


    public java.lang.String _name()
    {
        return this._name;
    }

    public org.finos.legend.pure.m3.coreinstance.meta.pure.metamodel.type.Enum _type;
    public Root_meta_external_store_service_tests_domain_Synonym _type(org.finos.legend.pure.m3.coreinstance.meta.pure.metamodel.type.Enum val)
    {
        this._type = val;
        return this;
    }

    public Root_meta_external_store_service_tests_domain_Synonym _type(RichIterable val)
    {
        return _type(val.getFirst());
    }

    public Root_meta_external_store_service_tests_domain_Synonym _typeRemove()
    {
        this._type = null;
        return this;
    }


    public void _reverse_type(org.finos.legend.pure.m3.coreinstance.meta.pure.metamodel.type.Enum val)
    {
        this._type = val;
    }

    public void _sever_reverse_type(org.finos.legend.pure.m3.coreinstance.meta.pure.metamodel.type.Enum val)
    {
        this._type = null;
    }

    public org.finos.legend.pure.m3.coreinstance.meta.pure.metamodel.type.Enum _type()
    {
        return this._type;
    }

    public Root_meta_external_store_service_tests_domain_Synonym _classifierGenericType(org.finos.legend.pure.m3.coreinstance.meta.pure.metamodel.type.generics.GenericType val)
    {
        this._classifierGenericType = val;
        return this;
    }

    public Root_meta_external_store_service_tests_domain_Synonym _classifierGenericType(RichIterable val)
    {
        return _classifierGenericType(val.getFirst());
    }

    public Root_meta_external_store_service_tests_domain_Synonym _classifierGenericTypeRemove()
    {
        this._classifierGenericType = null;
        return this;
    }


    
    public Root_meta_external_store_service_tests_domain_Synonym copy()
    {
        return new Root_meta_external_store_service_tests_domain_Synonym_Impl(this);
    }
    public Root_meta_external_store_service_tests_domain_Synonym_Impl(Root_meta_external_store_service_tests_domain_Synonym src)
    {
        this("Anonymous_NoCounter");
        this.classifier = ((Root_meta_external_store_service_tests_domain_Synonym_Impl)src).classifier;
        this._product = (org.finos.legend.pure.generated.Root_meta_external_store_service_tests_domain_Product)((Root_meta_external_store_service_tests_domain_Synonym_Impl)src)._product;
        if (this._product != null)
        {
            this._product._reverse_synonyms(this);
        }
        this._elementOverride = (org.finos.legend.pure.m3.coreinstance.meta.pure.metamodel.type.ElementOverride)((Root_meta_external_store_service_tests_domain_Synonym_Impl)src)._elementOverride;
        this._name = (java.lang.String)((Root_meta_external_store_service_tests_domain_Synonym_Impl)src)._name;
        this._type = (org.finos.legend.pure.m3.coreinstance.meta.pure.metamodel.type.Enum)((Root_meta_external_store_service_tests_domain_Synonym_Impl)src)._type;
        this._classifierGenericType = (org.finos.legend.pure.m3.coreinstance.meta.pure.metamodel.type.generics.GenericType)((Root_meta_external_store_service_tests_domain_Synonym_Impl)src)._classifierGenericType;
    }
    @Override
    public String getFullSystemPath()
    {
         return tempFullTypeId;
    }
    public Root_meta_external_store_service_tests_domain_Synonym_Impl _validate(boolean goDeep, org.finos.legend.pure.m4.coreinstance.SourceInformation sourceInformation, final ExecutionSupport es)
    {
        if (!this.hasCompileState(CompiledSupport.CONSTRAINTS_VALIDATED))
        {
            this.addCompileState(CompiledSupport.CONSTRAINTS_VALIDATED);
            if (goDeep)
            {
                if (this._product() != null){this._product()._validate(goDeep, sourceInformation, es);}
            }
        }
        return this;
    }
}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy