Instanziiert die classToInstantiate mit dem gegebenen instanceName am angegebenen instantiationTarget. Mittels des booleschen Arguments instantiateExtensions kann kontrolliert werden, ob auf enthaltenen Erweiterungspunkte Objekte instanziiert werden. Die Instanziierung erfolgt auf dem ersten von hinten her passenden Einfügeplatz. Kann kein passender Einfügeplatz ermittelt werden, wird eine NoMatchingPlaceholderException geworfen.
instantiate(instantiationTarget, MechatronicObjectClass classToInstantiate, String instanceName, boolean instantiateExtensions) throws NoMatchingPlaceholderException | |||
---|---|---|---|
Argument | ITopInstantiationTarget | instantiationTarget | Eine Mechatronische Komponente oder MechatronicRoot, unter welcher das neue Objekt angelegt wird |
MechatronicObjectClass | classToInstantiate | Die zu instanziierende Klasse | |
String | instanceName | Der Name des neuen Objektes. Wird null übergeben, bekommt das Objekt den Namen der Klasse. | |
Boolean | instantiateExtensions | Bei Übergabe von true werden innere Erweiterungspunkte während der Instanziierung berechnet, bei false nicht. | |
Rückgabewert | Component | Das instanziierte Objekt |
import com.mind8.mechatronic.skill.api.IMechatronicInstantiationAPI;
import com.mind8.mechatronic.skill.api.NoMatchingPlaceholderException;
import com.mind8.mechatronic.skill.eos.TypeClass;
instantiationTarget = obj; // Argument in Command
absLibComp = "T_Mechatronic_ModularSystem.Functiongroups.Insert"; // Absolute name of component to instantiate
instanceName = "Insert"; // Name of new instance
classToInstantiate = TypeClass.findType(self.getUnitOfWork(), absLibComp);
instance = null;
try
{
instance = IMechatronicInstantiationAPI.DEFAULT.instantiate(instantiationTarget, classToInstantiate, instanceName, true);
}
catch (NoMatchingPlaceholderException nmpe)
{
// error handling
}
return instance;