/******************************************************************************* * Copyright (c) 2006 Oracle 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: * Oracle Corporation - initial API and implementation *******************************************************************************/ package org.eclipse.bpel.validator.model; import java.util.Collections; import java.util.HashMap; import java.util.List; import javax.xml.namespace.QName; import org.eclipse.bpel.validator.helpers.ModelQueryImpl; /** * @author Michal Chmielewski (michal.chmielewski@oracle.com) * @date Dec 14, 2006 * */ public class UndefinedNode implements INode { HashMap<Object,Object> mMap = new HashMap<Object,Object>(5); QName fNode ; /** * @param name * @param args */ public UndefinedNode ( QName name, Object ... args ) { fNode = name; for(int i=0; i < args.length; i += 2) { mMap.put(args[i], args[i+1]); } } /** (non-Javadoc) * @see org.eclipse.bpel.validator.model.INode#children() */ public List<INode> children() { return Collections.emptyList(); } /** * @see org.eclipse.bpel.validator.model.INode#getAttribute(javax.xml.namespace.QName) */ public String getAttribute (QName name) { Object value = mMap.get(name); if (value == null) { return null; } if (value instanceof String) { return (String) value; } return null; } /** * @see org.eclipse.bpel.validator.model.INode#getAttributeAsQName(javax.xml.namespace.QName) */ public QName getAttributeAsQName ( QName name ) { String value = getAttribute (name); if (value == null) { return null; } return ModelQueryImpl.getModelQuery().createQName(this, value); } /** (non-Javadoc) * @see org.eclipse.bpel.validator.model.INode#getNode(javax.xml.namespace.QName) */ public INode getNode (QName name) { return null; } /** (non-Javadoc) * @see org.eclipse.bpel.validator.model.INode#getNodeList(javax.xml.namespace.QName) */ public List<INode> getNodeList(QName name) { return Collections.emptyList(); } /** (non-Javadoc) * @see org.eclipse.bpel.validator.model.INode#isResolved() */ public boolean isResolved() { return false; } /** (non-Javadoc) * @see org.eclipse.bpel.validator.model.INode#nodeName() */ public QName nodeName() { return fNode; } /** (non-Javadoc) * @see org.eclipse.bpel.validator.model.INode#nodeValidator() */ public Validator nodeValidator() { return null; } /** (non-Javadoc) * @see org.eclipse.bpel.validator.model.INode#nodeValue() */ public Object nodeValue() { return null; } /** (non-Javadoc) * @see org.eclipse.bpel.validator.model.INode#parentNode() */ public INode parentNode() { return null; } /** (non-Javadoc) * @see org.eclipse.bpel.validator.model.INode#rootNode() */ public INode rootNode() { return null; } }