Instanziiert die classToInstantiate mit dem gegebenen instanceName auf dem durch placeholder identifizierten Einfügeplatz am angegebenen instantiationTarget. Mittels des booleschen Arguments instantiateExtensions kann kontrolliert werden, ob auf enthaltenen Erweiterungspunkten Objekte instanziiert werden. Ist der übergebene Placeholder null und kann kein passender ermittelt werden, wird eine NoMatchingPlaceholderException geworfen. Passt die classToInstantiate nicht zum gegebenen Einfügeplatz, wird eine PlaceholderNotMatchingException geworfen.
instantiate(instantiationTarget, MechatronicObjectClass classToInstantiate, String instanceName, boolean instantiateExtensions, Placeholder placeholder) throws PlaceholderNotMatchingException, 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. | |
Placeholder | placeholder | Definiert den Einfügeplatz, an welchem das instanziierte Objekt eingefügt wird. | |
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.api.PlaceholderNotMatchingException;
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);
placeholder = instantiationTarget.getPlaceholders(classToInstantiate).get(0);
instance = null;
try
{
instance = IMechatronicInstantiationAPI.DEFAULT.instantiate(instantiationTarget, classToInstantiate, instanceName, true, placeholder);
}
catch (NoMatchingPlaceholderException nmpe)
{
// error handling
}
catch (PlaceholderNotMatchingException pnme)
{
// error handling
}
return instance;