ingenias.generator.browser.AttributedElementImp Maven / Gradle / Ivy
/**
* Copyright (C) 2010 Jorge J. Gomez-Sanz
*
* This file is part of the INGENME tool. INGENME is an open source meta-editor
* which produces customized editors for user-defined modeling languages
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation version 3 of the License
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
* You should have received a copy of the GNU General Public License
* along with this program. If not, see
**/
package ingenias.generator.browser;
import ingenias.editor.IDEState;
import ingenias.editor.ModelJGraph;
import ingenias.exception.InvalidEntity;
import ingenias.exception.NotFound;
import java.lang.reflect.*;
import java.util.*;
abstract class AttributedElementImp implements AttributedElement {
private Object element;
private ModelJGraph graph;
private IDEState ids;
AttributedElementImp(Object ent,ModelJGraph graph, IDEState ids ){
this.element=ent;
this.graph=graph;
this.ids=ids;
}
public GraphAttribute[] getAllAttrs(){
Field[] fields=element.getClass().getFields();
GraphAttribute[] result=new GraphAttribute[fields.length];
Vector v=new Vector();
int k=0;
boolean found=false;
while (k