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

org.finos.legend.pure.generated.Root_meta_protocols_pure_v1_31_0_metamodel_executionPlan_store_service_LimitExecutionNode_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_protocols_pure_v1_31_0_metamodel_executionPlan_store_service_LimitExecutionNode_Impl extends Root_meta_protocols_pure_v1_31_0_metamodel_executionPlan_ExecutionNode_Impl implements Root_meta_protocols_pure_v1_31_0_metamodel_executionPlan_store_service_LimitExecutionNode
{
    public static final String tempTypeName = "LimitExecutionNode";
    private static final String tempFullTypeId = "Root::meta::protocols::pure::v1_31_0::metamodel::executionPlan::store::service::LimitExecutionNode";
    private static final KeyIndex KEY_INDEX = keyIndexBuilder(10)
           .withKey(tempFullTypeId, "limit")
           .withKeys("Root::meta::pure::metamodel::type::Any", "classifierGenericType", "elementOverride")
           .withKeys("Root::meta::protocols::pure::v1_31_0::metamodel::executionPlan::ExecutionNode", "_type", "authDependent", "executionNodes", "implementation", "requiredVariableInputs", "resultSizeRange", "resultType")
           .build();
    private CoreInstance classifier;
    public Root_meta_protocols_pure_v1_31_0_metamodel_executionPlan_store_service_LimitExecutionNode_Impl(String id)
    {
        super(id);
    }

    public Root_meta_protocols_pure_v1_31_0_metamodel_executionPlan_store_service_LimitExecutionNode_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 "_type":
            {
                return ValCoreInstance.toCoreInstance(__type());
            }
            case "authDependent":
            {
                return ValCoreInstance.toCoreInstance(_authDependent());
            }
            case "classifierGenericType":
            {
                return ValCoreInstance.toCoreInstance(_classifierGenericType());
            }
            case "elementOverride":
            {
                return ValCoreInstance.toCoreInstance(_elementOverride());
            }
            case "implementation":
            {
                return ValCoreInstance.toCoreInstance(_implementation());
            }
            case "limit":
            {
                return ValCoreInstance.toCoreInstance(_limit());
            }
            case "resultSizeRange":
            {
                return ValCoreInstance.toCoreInstance(_resultSizeRange());
            }
            case "resultType":
            {
                return ValCoreInstance.toCoreInstance(_resultType());
            }
            default:
            {
                return super.getValueForMetaPropertyToOne(keyName);
            }
        }
    }

    @Override
    public ListIterable getValueForMetaPropertyToMany(String keyName)
    {
        switch (keyName)
        {
            case "executionNodes":
            {
                return ValCoreInstance.toCoreInstances(_executionNodes());
            }
            case "requiredVariableInputs":
            {
                return ValCoreInstance.toCoreInstances(_requiredVariableInputs());
            }
            default:
            {
                return super.getValueForMetaPropertyToMany(keyName);
            }
        }
    }

    public long _limit;
    public Root_meta_protocols_pure_v1_31_0_metamodel_executionPlan_store_service_LimitExecutionNode _limit(long val)
    {
        this._limit = val;
        return this;
    }

    public Root_meta_protocols_pure_v1_31_0_metamodel_executionPlan_store_service_LimitExecutionNode _limit(RichIterable val)
    {
        return _limit(val.getFirst());
    }

    public Root_meta_protocols_pure_v1_31_0_metamodel_executionPlan_store_service_LimitExecutionNode _limitRemove()
    {
        this._limit = 0L;
        return this;
    }


    public long _limit()
    {
        return this._limit;
    }

    public Root_meta_protocols_pure_v1_31_0_metamodel_executionPlan_store_service_LimitExecutionNode __type(java.lang.String val)
    {
        this.__type = val;
        return this;
    }

    public Root_meta_protocols_pure_v1_31_0_metamodel_executionPlan_store_service_LimitExecutionNode __type(RichIterable val)
    {
        return __type(val.getFirst());
    }

    public Root_meta_protocols_pure_v1_31_0_metamodel_executionPlan_store_service_LimitExecutionNode __typeRemove()
    {
        this.__type = null;
        return this;
    }


    public Root_meta_protocols_pure_v1_31_0_metamodel_executionPlan_store_service_LimitExecutionNode _authDependent(java.lang.Boolean val)
    {
        this._authDependent = val;
        return this;
    }

    public Root_meta_protocols_pure_v1_31_0_metamodel_executionPlan_store_service_LimitExecutionNode _authDependent(RichIterable val)
    {
        return _authDependent(val.getFirst());
    }

    public Root_meta_protocols_pure_v1_31_0_metamodel_executionPlan_store_service_LimitExecutionNode _authDependentRemove()
    {
        this._authDependent = false;
        return this;
    }


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

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

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


    public Root_meta_protocols_pure_v1_31_0_metamodel_executionPlan_store_service_LimitExecutionNode _resultSizeRange(org.finos.legend.pure.generated.Root_meta_protocols_pure_v1_31_0_metamodel_domain_Multiplicity val)
    {
        this._resultSizeRange = val;
        return this;
    }

    public Root_meta_protocols_pure_v1_31_0_metamodel_executionPlan_store_service_LimitExecutionNode _resultSizeRange(RichIterable val)
    {
        return _resultSizeRange(val.getFirst());
    }

    public Root_meta_protocols_pure_v1_31_0_metamodel_executionPlan_store_service_LimitExecutionNode _resultSizeRangeRemove()
    {
        this._resultSizeRange = null;
        return this;
    }


    public Root_meta_protocols_pure_v1_31_0_metamodel_executionPlan_store_service_LimitExecutionNode _implementation(org.finos.legend.pure.generated.Root_meta_protocols_pure_v1_31_0_metamodel_executionPlan_PlatformImplementation val)
    {
        this._implementation = val;
        return this;
    }

    public Root_meta_protocols_pure_v1_31_0_metamodel_executionPlan_store_service_LimitExecutionNode _implementation(RichIterable val)
    {
        return _implementation(val.getFirst());
    }

    public Root_meta_protocols_pure_v1_31_0_metamodel_executionPlan_store_service_LimitExecutionNode _implementationRemove()
    {
        this._implementation = null;
        return this;
    }


    private Root_meta_protocols_pure_v1_31_0_metamodel_executionPlan_store_service_LimitExecutionNode _executionNodes(org.finos.legend.pure.generated.Root_meta_protocols_pure_v1_31_0_metamodel_executionPlan_ExecutionNode val, boolean add)
    {
        if (val == null)
        {
            if (!add)
            {
                this._executionNodes = Lists.mutable.with();
            }
            return this;
        }
        if (add)
        {
            if (!(this._executionNodes instanceof MutableList))
            {
                this._executionNodes = this._executionNodes.toList();
            }
            ((MutableList)this._executionNodes).add(val);
        }
        else
        {
            this._executionNodes = (val == null ? Lists.mutable.empty() : Lists.mutable.with(val));
        }
        return this;
    }

    private Root_meta_protocols_pure_v1_31_0_metamodel_executionPlan_store_service_LimitExecutionNode _executionNodes(RichIterable val, boolean add)
    {
        if (add)
        {
            if (!(this._executionNodes instanceof MutableList))
            {
                this._executionNodes = this._executionNodes.toList();
            }
            ((MutableList)this._executionNodes).addAllIterable(val);
        }
        else
        {
            this._executionNodes = val;
        }
        return this;
    }

    public Root_meta_protocols_pure_v1_31_0_metamodel_executionPlan_store_service_LimitExecutionNode _executionNodes(RichIterable val)
    {
        return this._executionNodes(val, false);
    }

    public Root_meta_protocols_pure_v1_31_0_metamodel_executionPlan_store_service_LimitExecutionNode _executionNodesAdd(org.finos.legend.pure.generated.Root_meta_protocols_pure_v1_31_0_metamodel_executionPlan_ExecutionNode val)
    {
        return this._executionNodes(Lists.immutable.with(val), true);
    }

    public Root_meta_protocols_pure_v1_31_0_metamodel_executionPlan_store_service_LimitExecutionNode _executionNodesAddAll(RichIterable val)
    {
        return this._executionNodes(val, true);
    }

    public Root_meta_protocols_pure_v1_31_0_metamodel_executionPlan_store_service_LimitExecutionNode _executionNodesRemove()
    {
        this._executionNodes = Lists.mutable.empty();
        return this;
    }

    public Root_meta_protocols_pure_v1_31_0_metamodel_executionPlan_store_service_LimitExecutionNode _executionNodesRemove(org.finos.legend.pure.generated.Root_meta_protocols_pure_v1_31_0_metamodel_executionPlan_ExecutionNode val)
    {
        if (!(this._executionNodes instanceof MutableList))
        {
            this._executionNodes = this._executionNodes.toList();
        }
        ((MutableList)this._executionNodes).remove(val);
        return this;
    }


    public Root_meta_protocols_pure_v1_31_0_metamodel_executionPlan_store_service_LimitExecutionNode _resultType(org.finos.legend.pure.generated.Root_meta_protocols_pure_v1_31_0_metamodel_executionPlan_ResultType val)
    {
        this._resultType = val;
        return this;
    }

    public Root_meta_protocols_pure_v1_31_0_metamodel_executionPlan_store_service_LimitExecutionNode _resultType(RichIterable val)
    {
        return _resultType(val.getFirst());
    }

    public Root_meta_protocols_pure_v1_31_0_metamodel_executionPlan_store_service_LimitExecutionNode _resultTypeRemove()
    {
        this._resultType = null;
        return this;
    }


    private Root_meta_protocols_pure_v1_31_0_metamodel_executionPlan_store_service_LimitExecutionNode _requiredVariableInputs(org.finos.legend.pure.generated.Root_meta_protocols_pure_v1_31_0_metamodel_executionPlan_VariableInput val, boolean add)
    {
        if (val == null)
        {
            if (!add)
            {
                this._requiredVariableInputs = Lists.mutable.with();
            }
            return this;
        }
        if (add)
        {
            if (!(this._requiredVariableInputs instanceof MutableList))
            {
                this._requiredVariableInputs = this._requiredVariableInputs.toList();
            }
            ((MutableList)this._requiredVariableInputs).add(val);
        }
        else
        {
            this._requiredVariableInputs = (val == null ? Lists.mutable.empty() : Lists.mutable.with(val));
        }
        return this;
    }

    private Root_meta_protocols_pure_v1_31_0_metamodel_executionPlan_store_service_LimitExecutionNode _requiredVariableInputs(RichIterable val, boolean add)
    {
        if (add)
        {
            if (!(this._requiredVariableInputs instanceof MutableList))
            {
                this._requiredVariableInputs = this._requiredVariableInputs.toList();
            }
            ((MutableList)this._requiredVariableInputs).addAllIterable(val);
        }
        else
        {
            this._requiredVariableInputs = val;
        }
        return this;
    }

    public Root_meta_protocols_pure_v1_31_0_metamodel_executionPlan_store_service_LimitExecutionNode _requiredVariableInputs(RichIterable val)
    {
        return this._requiredVariableInputs(val, false);
    }

    public Root_meta_protocols_pure_v1_31_0_metamodel_executionPlan_store_service_LimitExecutionNode _requiredVariableInputsAdd(org.finos.legend.pure.generated.Root_meta_protocols_pure_v1_31_0_metamodel_executionPlan_VariableInput val)
    {
        return this._requiredVariableInputs(Lists.immutable.with(val), true);
    }

    public Root_meta_protocols_pure_v1_31_0_metamodel_executionPlan_store_service_LimitExecutionNode _requiredVariableInputsAddAll(RichIterable val)
    {
        return this._requiredVariableInputs(val, true);
    }

    public Root_meta_protocols_pure_v1_31_0_metamodel_executionPlan_store_service_LimitExecutionNode _requiredVariableInputsRemove()
    {
        this._requiredVariableInputs = Lists.mutable.empty();
        return this;
    }

    public Root_meta_protocols_pure_v1_31_0_metamodel_executionPlan_store_service_LimitExecutionNode _requiredVariableInputsRemove(org.finos.legend.pure.generated.Root_meta_protocols_pure_v1_31_0_metamodel_executionPlan_VariableInput val)
    {
        if (!(this._requiredVariableInputs instanceof MutableList))
        {
            this._requiredVariableInputs = this._requiredVariableInputs.toList();
        }
        ((MutableList)this._requiredVariableInputs).remove(val);
        return this;
    }


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

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

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


    
    public Root_meta_protocols_pure_v1_31_0_metamodel_executionPlan_store_service_LimitExecutionNode copy()
    {
        return new Root_meta_protocols_pure_v1_31_0_metamodel_executionPlan_store_service_LimitExecutionNode_Impl(this);
    }
    public Root_meta_protocols_pure_v1_31_0_metamodel_executionPlan_store_service_LimitExecutionNode_Impl(Root_meta_protocols_pure_v1_31_0_metamodel_executionPlan_store_service_LimitExecutionNode src)
    {
        this("Anonymous_NoCounter");
        this.classifier = ((Root_meta_protocols_pure_v1_31_0_metamodel_executionPlan_store_service_LimitExecutionNode_Impl)src).classifier;
        this._limit = (java.lang.Long)((Root_meta_protocols_pure_v1_31_0_metamodel_executionPlan_store_service_LimitExecutionNode_Impl)src)._limit;
        this.__type = (java.lang.String)((Root_meta_protocols_pure_v1_31_0_metamodel_executionPlan_store_service_LimitExecutionNode_Impl)src).__type;
        this._authDependent = (java.lang.Boolean)((Root_meta_protocols_pure_v1_31_0_metamodel_executionPlan_store_service_LimitExecutionNode_Impl)src)._authDependent;
        this._elementOverride = (org.finos.legend.pure.m3.coreinstance.meta.pure.metamodel.type.ElementOverride)((Root_meta_protocols_pure_v1_31_0_metamodel_executionPlan_store_service_LimitExecutionNode_Impl)src)._elementOverride;
        this._resultSizeRange = (org.finos.legend.pure.generated.Root_meta_protocols_pure_v1_31_0_metamodel_domain_Multiplicity)((Root_meta_protocols_pure_v1_31_0_metamodel_executionPlan_store_service_LimitExecutionNode_Impl)src)._resultSizeRange;
        this._implementation = (org.finos.legend.pure.generated.Root_meta_protocols_pure_v1_31_0_metamodel_executionPlan_PlatformImplementation)((Root_meta_protocols_pure_v1_31_0_metamodel_executionPlan_store_service_LimitExecutionNode_Impl)src)._implementation;
        this._executionNodes = Lists.mutable.ofAll(((Root_meta_protocols_pure_v1_31_0_metamodel_executionPlan_store_service_LimitExecutionNode_Impl)src)._executionNodes);
        this._resultType = (org.finos.legend.pure.generated.Root_meta_protocols_pure_v1_31_0_metamodel_executionPlan_ResultType)((Root_meta_protocols_pure_v1_31_0_metamodel_executionPlan_store_service_LimitExecutionNode_Impl)src)._resultType;
        this._requiredVariableInputs = Lists.mutable.ofAll(((Root_meta_protocols_pure_v1_31_0_metamodel_executionPlan_store_service_LimitExecutionNode_Impl)src)._requiredVariableInputs);
        this._classifierGenericType = (org.finos.legend.pure.m3.coreinstance.meta.pure.metamodel.type.generics.GenericType)((Root_meta_protocols_pure_v1_31_0_metamodel_executionPlan_store_service_LimitExecutionNode_Impl)src)._classifierGenericType;
    }
    @Override
    public String getFullSystemPath()
    {
         return tempFullTypeId;
    }
    public Root_meta_protocols_pure_v1_31_0_metamodel_executionPlan_store_service_LimitExecutionNode_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._resultSizeRange() != null){this._resultSizeRange()._validate(goDeep, sourceInformation, es);}
                if (this._implementation() != null){this._implementation()._validate(goDeep, sourceInformation, es);}
                for (org.finos.legend.pure.generated.Root_meta_protocols_pure_v1_31_0_metamodel_executionPlan_ExecutionNode o : this._executionNodes())
                {
                    o._validate(goDeep, sourceInformation, es);
                }
                if (this._resultType() != null){this._resultType()._validate(goDeep, sourceInformation, es);}
                for (org.finos.legend.pure.generated.Root_meta_protocols_pure_v1_31_0_metamodel_executionPlan_VariableInput o : this._requiredVariableInputs())
                {
                    o._validate(goDeep, sourceInformation, es);
                }
            }
        }
        return this;
    }
}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy