4b8d88eb610aa1e0bb6ec632f792744b3d6b5f22jeff.schenk//
4b8d88eb610aa1e0bb6ec632f792744b3d6b5f22jeff.schenk// This file was generated by the JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v1.0.6-b27-fcs
4b8d88eb610aa1e0bb6ec632f792744b3d6b5f22jeff.schenk// See <a href="http://java.sun.com/xml/jaxb">http://java.sun.com/xml/jaxb</a>
4b8d88eb610aa1e0bb6ec632f792744b3d6b5f22jeff.schenk// Any modifications to this file will be lost upon recompilation of the source schema.
4b8d88eb610aa1e0bb6ec632f792744b3d6b5f22jeff.schenk// Generated on: 2012.06.11 at 10:33:54 AM PDT
4b8d88eb610aa1e0bb6ec632f792744b3d6b5f22jeff.schenk//
4b8d88eb610aa1e0bb6ec632f792744b3d6b5f22jeff.schenk
4b8d88eb610aa1e0bb6ec632f792744b3d6b5f22jeff.schenkpackage com.sun.identity.federation.jaxb.entityconfig.impl.runtime;
4b8d88eb610aa1e0bb6ec632f792744b3d6b5f22jeff.schenk
4b8d88eb610aa1e0bb6ec632f792744b3d6b5f22jeff.schenkimport javax.xml.namespace.NamespaceContext;
4b8d88eb610aa1e0bb6ec632f792744b3d6b5f22jeff.schenk
4b8d88eb610aa1e0bb6ec632f792744b3d6b5f22jeff.schenk/**
4b8d88eb610aa1e0bb6ec632f792744b3d6b5f22jeff.schenk * Maintains namespace&lt;->prefix bindings.
4b8d88eb610aa1e0bb6ec632f792744b3d6b5f22jeff.schenk *
4b8d88eb610aa1e0bb6ec632f792744b3d6b5f22jeff.schenk * <p>
4b8d88eb610aa1e0bb6ec632f792744b3d6b5f22jeff.schenk * This interface extends {@link NamespaceContext} and provides
4b8d88eb610aa1e0bb6ec632f792744b3d6b5f22jeff.schenk * an additional functionality, which is necessary to declare
4b8d88eb610aa1e0bb6ec632f792744b3d6b5f22jeff.schenk * namespaced attributes on elements. The added method is for
4b8d88eb610aa1e0bb6ec632f792744b3d6b5f22jeff.schenk * self-consumption by the marshaller.
4b8d88eb610aa1e0bb6ec632f792744b3d6b5f22jeff.schenk *
4b8d88eb610aa1e0bb6ec632f792744b3d6b5f22jeff.schenk * This object is composed into a Serializer.
4b8d88eb610aa1e0bb6ec632f792744b3d6b5f22jeff.schenk */
4b8d88eb610aa1e0bb6ec632f792744b3d6b5f22jeff.schenkpublic interface NamespaceContext2 extends NamespaceContext
4b8d88eb610aa1e0bb6ec632f792744b3d6b5f22jeff.schenk{
4b8d88eb610aa1e0bb6ec632f792744b3d6b5f22jeff.schenk /**
4b8d88eb610aa1e0bb6ec632f792744b3d6b5f22jeff.schenk * Declares a new namespace binding within the current context.
4b8d88eb610aa1e0bb6ec632f792744b3d6b5f22jeff.schenk *
4b8d88eb610aa1e0bb6ec632f792744b3d6b5f22jeff.schenk * <p>
4b8d88eb610aa1e0bb6ec632f792744b3d6b5f22jeff.schenk * The prefix is automatically assigned by MarshallingContext. If
4b8d88eb610aa1e0bb6ec632f792744b3d6b5f22jeff.schenk * a given namespace URI is already declared, nothing happens.
4b8d88eb610aa1e0bb6ec632f792744b3d6b5f22jeff.schenk *
4b8d88eb610aa1e0bb6ec632f792744b3d6b5f22jeff.schenk * <p>
4b8d88eb610aa1e0bb6ec632f792744b3d6b5f22jeff.schenk * It is <b>NOT</b> an error to declare the same namespace URI
4b8d88eb610aa1e0bb6ec632f792744b3d6b5f22jeff.schenk * more than once.
4b8d88eb610aa1e0bb6ec632f792744b3d6b5f22jeff.schenk *
4b8d88eb610aa1e0bb6ec632f792744b3d6b5f22jeff.schenk * <p>
4b8d88eb610aa1e0bb6ec632f792744b3d6b5f22jeff.schenk * For marshalling to work correctly, all namespace bindings
4b8d88eb610aa1e0bb6ec632f792744b3d6b5f22jeff.schenk * for an element must be declared between its startElement method and
4b8d88eb610aa1e0bb6ec632f792744b3d6b5f22jeff.schenk * its endAttributes event. Calling the same method with the same
4b8d88eb610aa1e0bb6ec632f792744b3d6b5f22jeff.schenk * parameter between the endAttributes and the endElement returns
4b8d88eb610aa1e0bb6ec632f792744b3d6b5f22jeff.schenk * the same prefix.
4b8d88eb610aa1e0bb6ec632f792744b3d6b5f22jeff.schenk *
4b8d88eb610aa1e0bb6ec632f792744b3d6b5f22jeff.schenk * @param requirePrefix
4b8d88eb610aa1e0bb6ec632f792744b3d6b5f22jeff.schenk * If this parameter is true, this method must assign a prefix
4b8d88eb610aa1e0bb6ec632f792744b3d6b5f22jeff.schenk * to this namespace, even if it's already bound to the default
4b8d88eb610aa1e0bb6ec632f792744b3d6b5f22jeff.schenk * namespace. IOW, this method will never return null if this
4b8d88eb610aa1e0bb6ec632f792744b3d6b5f22jeff.schenk * flag is true. This functionality is necessary to declare
4b8d88eb610aa1e0bb6ec632f792744b3d6b5f22jeff.schenk * namespace URI used for attribute names.
4b8d88eb610aa1e0bb6ec632f792744b3d6b5f22jeff.schenk * @param preferedPrefix
4b8d88eb610aa1e0bb6ec632f792744b3d6b5f22jeff.schenk * If the caller has any particular preference to the
4b8d88eb610aa1e0bb6ec632f792744b3d6b5f22jeff.schenk * prefix, pass that as a parameter. The callee will try
4b8d88eb610aa1e0bb6ec632f792744b3d6b5f22jeff.schenk * to honor it. Set null if there's no particular preference.
4b8d88eb610aa1e0bb6ec632f792744b3d6b5f22jeff.schenk *
4b8d88eb610aa1e0bb6ec632f792744b3d6b5f22jeff.schenk * @return
4b8d88eb610aa1e0bb6ec632f792744b3d6b5f22jeff.schenk * returns the assigned prefix. If the namespace is bound to
4b8d88eb610aa1e0bb6ec632f792744b3d6b5f22jeff.schenk * the default namespace, null is returned.
4b8d88eb610aa1e0bb6ec632f792744b3d6b5f22jeff.schenk */
4b8d88eb610aa1e0bb6ec632f792744b3d6b5f22jeff.schenk String declareNamespace( String namespaceUri, String preferedPrefix, boolean requirePrefix );
4b8d88eb610aa1e0bb6ec632f792744b3d6b5f22jeff.schenk}