/* * @(#)$Id: SimpleNameClass.java,v 1.9 2001/10/11 02:12:17 Bear Exp $ * * Copyright 2001 Sun Microsystems, Inc. All Rights Reserved. * * This software is the proprietary information of Sun Microsystems, Inc. * Use is subject to license terms. * */ package com.sun.msv.grammar; import com.sun.msv.util.StringPair; /** * a NameClass that accepts only one fixed name. * * @author <a href="mailto:kohsuke.kawaguchi@eng.sun.com">Kohsuke KAWAGUCHI</a> */ public final class SimpleNameClass extends NameClass { public final String namespaceURI; public final String localName; public boolean accepts( String namespaceURI, String localName ) { // wild cards are treated as symbols, rather than strings. return ( this.namespaceURI.equals(namespaceURI) || NAMESPACE_WILDCARD==namespaceURI ) && ( this.localName.equals(localName) || LOCALNAME_WILDCARD==localName ); } public Object visit( NameClassVisitor visitor ) { return visitor.onSimple(this); } public SimpleNameClass( StringPair name ) { this( name.namespaceURI, name.localName ); } public SimpleNameClass( String namespaceURI, String localName ) { this.namespaceURI = namespaceURI; this.localName = localName; } public StringPair toStringPair() { return new StringPair(namespaceURI,localName); } public String toString() { if( namespaceURI.length()==0 ) return localName; else return /*namespaceURI+":"+*/localName; } }