/******************************************************************************* * Copyright (c) 2005, 2007 IBM Corporation and others. * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at * http://www.eclipse.org/legal/epl-v10.html * *******************************************************************************/ package org.eclipse.dltk.core.mixin; import org.eclipse.dltk.core.ISourceModule; public interface IMixinElement { /** * Return all children elements. * If not builded then builded. * @return children elements. */ IMixinElement[] getChildren(); /** * Add name to current key and return child. * @param name * @return */ IMixinElement getChildren( String name ); /** * Return key value. * @return key value */ String getKey(); /** * Return last key segment. * @return */ String getLastKeySegment(); /** * Return sepecified objects. * If not builded then builded. * @param module * @return */ Object[] getObjects(ISourceModule module); /** * Returns all not equal objects. * If not builded then builded. * @return */ Object[] getAllObjects(); /** * Return parent mixin. Parent mixin aren't builded. * @return */ IMixinElement getParent(); /** * If not builded then builded. * @return */ ISourceModule[] getSourceModules(); }