All Downloads are FREE. Search and download functionalities are using the official Maven repository.

org.umlg.runtime.domain.BaseUmlgCompositionNode Maven / Gradle / Ivy

There is a newer version: 2.0.16
Show newest version
package org.umlg.runtime.domain;

import org.apache.tinkerpop.gremlin.structure.Vertex;

import java.util.ArrayList;
import java.util.List;

public abstract class BaseUmlgCompositionNode extends BaseUmlg implements CompositionNode {

	/**
	 * 
	 */
	private static final long serialVersionUID = 6012617567783938431L;

    public BaseUmlgCompositionNode(Boolean persistent) {
        super(persistent);
    }

    public BaseUmlgCompositionNode(Object id)  {
        super(id);
    }

    public BaseUmlgCompositionNode(Vertex vertex)  {
        super(vertex);
    }

    public BaseUmlgCompositionNode()  {
    }

	public  List getPathToCompositionalRoot() {
		List result = new ArrayList();
		walkToRoot(result);
		return result;
	}
	
	 void walkToRoot(List nodes) {
		nodes.add((T) this);
        if (getOwningObject() != null && getOwningObject() instanceof CompositionNode) {
			((BaseUmlgCompositionNode) getOwningObject()).walkToRoot(nodes);
		}
	}
	
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy