[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Newsgroup Home]
|
[news.eclipse.modeling.tmf] Re: ISemanticModelTransformer and virtual nodes.
|
Not quite where are Model and ModelImpl coming from? I am guessing they
somehow impl EObject interface below.
"Peter Friese" <peter.friese@xxxxxxxxx> wrote in message
news:h8tsl6$vdv$1@xxxxxxxxxxxxxxxxxxxx
> Drew,
>
> you need to provide getChildren() methods for each parent node for which
> you want to control the child nodes.
>
> Try this:
>
> protected List<EObject> getChildren(Model model) {
> List<EObject> result = new ArrayList<EObject>();
> VirtualNodeApples apples = new VirtualNodeApples(model);
> VirtualNodeOranges oranges = new VirtualNodeOranges(model);
> result.add(apples);
> result.add(oranges);
> return result;
> }
>
> protected List<EObject> getChildren(VirtualNodeApples apples) {
> List<EObject> result = new ArrayList<EObject>();
> EList<Fruit> fruits = apples.getFruits();
> for (Fruit fruit : fruits) {
> if (fruit instanceof Apple) {
> result.add(fruit);
> }
> }
> return result;
> }
>
>
> The VirtualNodeApples and VirtualNodeOranges classes actually are wrappers
> for the model root class:
>
>
> public class VirtualNodeApplesOrOranges extends ModelImpl implements Model
> {
> private final Model model;
>
> public VirtualNodeApplesOrOranges(Model model) {
> this.model = model;
> }
>
> public EList<Adapter> eAdapters() {
> return model.eAdapters();
> }
>
> ..
> }
>
>
>
> public class VirtualNodeApples extends VirtualNodeApplesOrOranges {
> public VirtualNodeEntity(Model model) {
> super(model);
> }
> }
>
>
> Hope this helps,
> Peter
>