Package com.bea.xml.stream

Source Code of com.bea.xml.stream.EventFactory

/*   Copyright 2004 BEA Systems, Inc.
*
*   Licensed under the Apache License, Version 2.0 (the "License");
*   you may not use this file except in compliance with the License.
*   You may obtain a copy of the License at
*
*       http://www.apache.org/licenses/LICENSE-2.0
*
*   Unless required by applicable law or agreed to in writing, software
*   distributed under the License is distributed on an "AS IS" BASIS,
*   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
*   See the License for the specific language governing permissions and
*   limitations under the License.
*/

package com.bea.xml.stream;

import java.util.Iterator;

import javax.xml.namespace.QName;
import javax.xml.namespace.NamespaceContext;
import javax.xml.stream.Location;
import javax.xml.stream.XMLEventFactory;

import javax.xml.stream.events.StartElement;
import javax.xml.stream.events.ProcessingInstruction;
import javax.xml.stream.events.Comment;
import javax.xml.stream.events.EndElement;
import javax.xml.stream.events.Namespace;
import javax.xml.stream.events.Characters;
import javax.xml.stream.events.StartDocument;
import javax.xml.stream.events.EndDocument;
import javax.xml.stream.events.Namespace;
import javax.xml.stream.events.Attribute;
import javax.xml.stream.events.EntityReference;
import javax.xml.stream.events.EntityDeclaration;
import javax.xml.stream.events.DTD;

import com.bea.xml.stream.events.StartElementEvent;
import com.bea.xml.stream.events.EndElementEvent;
import com.bea.xml.stream.events.CharactersEvent;
import com.bea.xml.stream.events.StartDocumentEvent;
import com.bea.xml.stream.events.EndDocumentEvent;
import com.bea.xml.stream.events.ProcessingInstructionEvent;
import com.bea.xml.stream.events.CommentEvent;
import com.bea.xml.stream.events.EntityReferenceEvent;
import com.bea.xml.stream.events.DTDEvent;


/**
* <p> The default factory for creating events.
*/

public class EventFactory extends XMLEventFactory {
  private Location location;

  public void setLocation(Location l) {
    location = l;
  }
  public Attribute createAttribute(QName name,
                                   String value){
    return new AttributeBase(name,value);
  }

  public Attribute createAttribute(String localName,
                                   String value){
    return new AttributeBase("",localName,value);
  }
  public Attribute createAttribute(String prefix,
                                   String namespaceURI,
                                   String localName,
                                   String value) {
    return new AttributeBase(prefix,namespaceURI,localName,value,"CDATA");
  }
  public Namespace createNamespace(String namespaceURI){
    return new NamespaceBase(namespaceURI);
  }
  public Namespace createNamespace(String prefix, String namespaceUri){
    if (prefix == null)
      throw new NullPointerException("The prefix of a namespace may "+
                                     "not be set to null");
    return new NamespaceBase(prefix,namespaceUri);
  }
  public StartElement createStartElement(QName name,
                                         Iterator attributes,
                                         Iterator namespaces){
    StartElementEvent e= 
      new StartElementEvent(name);
    while(attributes != null && attributes.hasNext())
      e.addAttribute((Attribute) attributes.next());
    while(namespaces != null && namespaces.hasNext())
      e.addNamespace((Namespace) namespaces.next());
    return e;

  }

  public StartElement createStartElement(String prefix,
                                         String namespaceUri,
                                         String localName){
    return new StartElementEvent(new QName(namespaceUri,localName,prefix));
  }
  public static String checkPrefix(String prefix) {
    if (prefix == null) return "";
    return prefix;
  }
  public StartElement createStartElement(String prefix,
                                         String namespaceUri,
                                         String localName,
                                         Iterator attributes,
                                         Iterator namespaces){
    prefix=checkPrefix(prefix);
    StartElementEvent e= 
      new StartElementEvent(new QName(namespaceUri,localName,prefix));
    while(attributes != null && attributes.hasNext())
      e.addAttribute((Attribute) attributes.next());
    while(namespaces != null && namespaces.hasNext())
      e.addNamespace((Namespace) namespaces.next());
    return e;
  }
  public StartElement createStartElement(String prefix,
                                         String namespaceUri,
                                         String localName,
                                         Iterator attributes,
                                         Iterator namespaces,
                                         NamespaceContext context){
    prefix=checkPrefix(prefix);
    StartElementEvent e= 
      new StartElementEvent(new QName(namespaceUri,localName,prefix));
    while(attributes != null && attributes.hasNext())
      e.addAttribute((Attribute)attributes.next());
    while(namespaces != null && namespaces.hasNext())
      e.addNamespace((Namespace)namespaces.next());
    e.setNamespaceContext(context);
    return e;
  }

  public EndElement createEndElement(QName name,
                                     Iterator namespaces){
    EndElementEvent e =
      new EndElementEvent(name);
    while(namespaces != null && namespaces.hasNext())
      e.addNamespace((Namespace) namespaces.next());
    return e;

  }

  public EndElement createEndElement(String prefix,
                                     String namespaceUri,
                                     String localName){
    prefix=checkPrefix(prefix);
    return new EndElementEvent(new QName(namespaceUri,localName,prefix));
  }

  public EndElement createEndElement(String prefix,
                                     String namespaceUri,
                                     String localName,
                                     Iterator namespaces){
    prefix=checkPrefix(prefix);
    EndElementEvent e =
      new EndElementEvent(new QName(namespaceUri,localName,prefix));
    while(namespaces.hasNext())
      e.addNamespace((Namespace) namespaces.next());
    return e;
  }



  public Characters createCharacters(String content){
    return new CharactersEvent(content);
  }
  public Characters createCData(String content) {
    return new CharactersEvent(content,true);
  }
  public StartDocument createStartDocument(){
    return new StartDocumentEvent();
  }
  public StartDocument createStartDocument(String encoding, String version,
                                           boolean standalone){
    StartDocumentEvent e = new StartDocumentEvent();
    e.setEncoding(encoding);
    e.setVersion(version);
    e.setStandalone(standalone);
    return e;
  }
  public StartDocument createStartDocument(String encoding, String version){
    StartDocumentEvent e = new StartDocumentEvent();
    e.setEncoding(encoding);
    e.setVersion(version);
    return e;
  }

  public StartDocument createStartDocument(String encoding){
    StartDocumentEvent e = new StartDocumentEvent();
    e.setEncoding(encoding);
    return e;
  }

  public EndDocument createEndDocument(){
    return new EndDocumentEvent();
  }

  /**********
  public AttributeIterator createAttributeIterator(Iterator iterator){
    return new AttributeIteratorImpl(iterator);
  }

  public NamespaceIterator createNamespaceIterator(Iterator iterator){
    return new NamespaceIteratorImpl(iterator);
  }
  **********/


  public EntityReference createEntityReference(String name,
                                               EntityDeclaration declaration) {
    return new EntityReferenceEvent(name,declaration);
  }

  public Characters createSpace(String content) {
    CharactersEvent c = new CharactersEvent(content);
    c.setSpace(true);
    return c;
  }

  public Characters createIgnorableSpace(String content) {
    CharactersEvent c = new CharactersEvent(content);
    c.setSpace(true);
    c.setIgnorable(true);
    return c;
  }

  public Comment createComment(String text) {
    return new CommentEvent(text);
  }

  public ProcessingInstruction createProcessingInstruction(String target, String data) {
    return new ProcessingInstructionEvent(target,data);
  }

  public DTD createDTD(String dtd) {
    return new DTDEvent(dtd);
  }
}





TOP

Related Classes of com.bea.xml.stream.EventFactory

TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.