blob: 1eee97a4f6e77b5b65e0c560a919658bcd8083a5 [file] [log] [blame]
/*******************************************************************************
* 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;
}
}