blob: 3dc07b4a1773f01b8771cb9c3faea03bb84a09c9 [file] [log] [blame]
/*******************************************************************************
* Copyright (c) 2005, 2012 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
*
* Contributors:
* IBM Corporation - initial API and implementation
*******************************************************************************/
package org.eclipse.bpel.ui.details.tree;
import java.util.Vector;
import org.eclipse.xsd.XSDComplexTypeDefinition;
import org.eclipse.xsd.XSDTypeDefinition;
/**
* Tree node to represent an XSD type model object.
*/
public class XSDTypeDefinitionTreeNode extends XSDTreeNode {
public XSDTypeDefinitionTreeNode(XSDTypeDefinition xsdType, boolean isCondensed) {
super(xsdType, isCondensed);
}
@Override
public boolean isNodeFlattenable() { return true; }
@Override
public Object[] getChildren() {
XSDTypeDefinition xsdType = (XSDTypeDefinition)modelObject;
if (xsdType instanceof XSDComplexTypeDefinition) {
Vector<TreeNode> v = new Vector<TreeNode>();
XSDComplexTypeDefinition comp = (XSDComplexTypeDefinition) xsdType;
addComplexTypeContent(comp, v);
return v.toArray();
}
return EMPTY_ARRAY;
}
@Override
public boolean hasChildren() {
XSDTypeDefinition xsdType = (XSDTypeDefinition)modelObject;
if (xsdType instanceof XSDComplexTypeDefinition) {
XSDComplexTypeDefinition comp = (XSDComplexTypeDefinition) xsdType;
return complexTypeHasChildren(comp);
}
return false;
}
@Override
public String getLabel() {
XSDTypeDefinition xsdType = (XSDTypeDefinition)modelObject;
String name = xsdType.getName();
return (name != null) ? name : ""; //$NON-NLS-1$
}
@Override
public String getLabelSuffix() {
return super.getLabelSuffix();
}
}