/**
* Called when a null model is about to be retrieved in order to allow a subclass to provide an
* initial model.
* <p>
* By default this implementation looks components in the parent chain owning a
* {@link IComponentInheritedModel} to provide a model for this component via
* {@link IComponentInheritedModel#wrapOnInheritance(Component)}.
* <p>
* For example a {@link FormComponent} has the opportunity to instantiate a model on the fly
* using its {@code id} and the containing {@link Form}'s model, if the form holds a
* {@link CompoundPropertyModel}.
*
* @return The model
*/
protected IModel<?> initModel()
{
IModel<?> foundModel = null;
// Search parents for IComponentInheritedModel (i.e. CompoundPropertyModel)
for (Component current = getParent(); current != null; current = current.getParent())
{
// Get model
// Don't call the getModel() that could initialize many in between
// completely useless models.
// IModel model = current.getDefaultModel();
IModel<?> model = current.getModelImpl();
if (model instanceof IWrapModel && !(model instanceof IComponentInheritedModel))
{
model = ((IWrapModel<?>)model).getWrappedModel();
}
if (model instanceof IComponentInheritedModel)
{
// return the shared inherited
foundModel = ((IComponentInheritedModel<?>)model).wrapOnInheritance(this);
setFlag(FLAG_INHERITABLE_MODEL, true);
break;
}
}
// No model for this component!
return foundModel;
}
Welcome to the world of evidence! Evidence-based teaching is effective teaching, and we bring you the most effective methods. Read on to find out more.
H. Klus, D. Niebuhr, and A. Rausch. ICEBE '07: Proceedings of the IEEE International Conference on e-Business Engineering, page 600-603. Hong Kong, China, IEEE Computer Society, (October 2007)
H. Klus, D. Niebuhr, and A. Rausch. Proceedings of the International Workshop on Engineering of software services for pervasive environments (ESSPE 2007), page 21--28. Dubrovnik, Croatia, ACM, (September 2007)Electronic Proceedings.
A. Rajan, M. Whalen, and M. Heimdahl. ICSE '08: Proceedings of the 30th international conference on Software engineering, page 161--170. New York, NY, USA, ACM, (2008)MR: nuetzlich fuer IST-SPL nur wegen der Referenzen auf eingesetzte Techniken zur ' Test Case Generation using model checkers '..
T. Kishi, and N. Noda. Proceedings of the International Workshop on Software Product Line Testing (SPLiT 2004), page 19--26. Boston, MA, (August 2004)ST: Das zu testende System und die mit dem System in Interaktion stehende Umgebung werden als Zustandsautomat modelliert.
Testdaten ergeben sich aus den Transitionen.
Es werden Modelchecking Techniken angewendet um Invarianten zu prüfen..