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

io.ciera.tool.sql.ooaofooa.component.impl.ExecutablePropertySetImpl Maven / Gradle / Ivy

There is a newer version: 2.7.3
Show newest version
package io.ciera.tool.sql.ooaofooa.component.impl;


import io.ciera.runtime.summit.classes.InstanceSet;
import io.ciera.runtime.summit.exceptions.XtumlException;
import io.ciera.runtime.summit.types.UniqueId;
import io.ciera.tool.sql.ooaofooa.component.C_ISet;
import io.ciera.tool.sql.ooaofooa.component.ExecutableProperty;
import io.ciera.tool.sql.ooaofooa.component.ExecutablePropertySet;
import io.ciera.tool.sql.ooaofooa.component.InterfaceOperationSet;
import io.ciera.tool.sql.ooaofooa.component.InterfaceSignalSet;
import io.ciera.tool.sql.ooaofooa.component.PropertyParameterSet;
import io.ciera.tool.sql.ooaofooa.component.impl.C_ISetImpl;
import io.ciera.tool.sql.ooaofooa.component.impl.InterfaceOperationSetImpl;
import io.ciera.tool.sql.ooaofooa.component.impl.InterfaceSignalSetImpl;
import io.ciera.tool.sql.ooaofooa.component.impl.PropertyParameterSetImpl;
import io.ciera.tool.sql.ooaofooa.component.signalprovisionsandrequirements.ProvidedExecutablePropertySet;
import io.ciera.tool.sql.ooaofooa.component.signalprovisionsandrequirements.RequiredExecutablePropertySet;
import io.ciera.tool.sql.ooaofooa.component.signalprovisionsandrequirements.impl.ProvidedExecutablePropertySetImpl;
import io.ciera.tool.sql.ooaofooa.component.signalprovisionsandrequirements.impl.RequiredExecutablePropertySetImpl;

import java.util.Arrays;
import java.util.Comparator;
import java.util.List;

import ooaofooa.datatypes.IFDirectionType;


public class ExecutablePropertySetImpl extends InstanceSet implements ExecutablePropertySet {

    public ExecutablePropertySetImpl() {
    }

    public ExecutablePropertySetImpl(Comparator comp) {
        super(comp);
    }

    // attributes
    @Override
    public void setDescrip( String m_Descrip ) throws XtumlException {
        for ( ExecutableProperty executableproperty : this ) executableproperty.setDescrip( m_Descrip );
    }
    @Override
    public void setNumb( int m_Numb ) throws XtumlException {
        for ( ExecutableProperty executableproperty : this ) executableproperty.setNumb( m_Numb );
    }
    @Override
    public void setName( String m_Name ) throws XtumlException {
        for ( ExecutableProperty executableproperty : this ) executableproperty.setName( m_Name );
    }
    @Override
    public void setDirection( IFDirectionType m_Direction ) throws XtumlException {
        for ( ExecutableProperty executableproperty : this ) executableproperty.setDirection( m_Direction );
    }
    @Override
    public void setId( UniqueId m_Id ) throws XtumlException {
        for ( ExecutableProperty executableproperty : this ) executableproperty.setId( m_Id );
    }
    @Override
    public void setInterface_Id( UniqueId ref_Interface_Id ) throws XtumlException {
        for ( ExecutableProperty executableproperty : this ) executableproperty.setInterface_Id( ref_Interface_Id );
    }


    // selections
    @Override
    public C_ISet R4003_provides_signature_of_C_I() throws XtumlException {
        C_ISet c_iset = new C_ISetImpl();
        for ( ExecutableProperty executableproperty : this ) c_iset.add( executableproperty.R4003_provides_signature_of_C_I() );
        return c_iset;
    }
    @Override
    public InterfaceOperationSet R4004_is_a_InterfaceOperation() throws XtumlException {
        InterfaceOperationSet interfaceoperationset = new InterfaceOperationSetImpl();
        for ( ExecutableProperty executableproperty : this ) interfaceoperationset.add( executableproperty.R4004_is_a_InterfaceOperation() );
        return interfaceoperationset;
    }
    @Override
    public InterfaceSignalSet R4004_is_a_InterfaceSignal() throws XtumlException {
        InterfaceSignalSet interfacesignalset = new InterfaceSignalSetImpl();
        for ( ExecutableProperty executableproperty : this ) interfacesignalset.add( executableproperty.R4004_is_a_InterfaceSignal() );
        return interfacesignalset;
    }
    @Override
    public PropertyParameterSet R4006_is_parameter_to_PropertyParameter() throws XtumlException {
        PropertyParameterSet propertyparameterset = new PropertyParameterSetImpl();
        for ( ExecutableProperty executableproperty : this ) propertyparameterset.addAll( executableproperty.R4006_is_parameter_to_PropertyParameter() );
        return propertyparameterset;
    }
    @Override
    public RequiredExecutablePropertySet R4500_is_implemented_by_RequiredExecutableProperty() throws XtumlException {
        RequiredExecutablePropertySet requiredexecutablepropertyset = new RequiredExecutablePropertySetImpl();
        for ( ExecutableProperty executableproperty : this ) requiredexecutablepropertyset.addAll( executableproperty.R4500_is_implemented_by_RequiredExecutableProperty() );
        return requiredexecutablepropertyset;
    }
    @Override
    public ProvidedExecutablePropertySet R4501_is_implemented_by_ProvidedExecutableProperty() throws XtumlException {
        ProvidedExecutablePropertySet providedexecutablepropertyset = new ProvidedExecutablePropertySetImpl();
        for ( ExecutableProperty executableproperty : this ) providedexecutablepropertyset.addAll( executableproperty.R4501_is_implemented_by_ProvidedExecutableProperty() );
        return providedexecutablepropertyset;
    }


    @Override
    public ExecutableProperty nullElement() {
        return ExecutablePropertyImpl.EMPTY_EXECUTABLEPROPERTY;
    }

    @Override
    public ExecutablePropertySet emptySet() {
      return new ExecutablePropertySetImpl();
    }

    @Override
    public ExecutablePropertySet emptySet(Comparator comp) {
      return new ExecutablePropertySetImpl(comp);
    }

    @Override
    public List elements() {
        ExecutableProperty[] elements = toArray(new ExecutableProperty[0]);
        Arrays.sort(elements, (a, b) -> {
            try {
                return a.getName().compareTo(b.getName());
            } catch (XtumlException e) { return 0; }
        });
        return Arrays.asList(elements);
    }

}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy