ExtEntity.java
package com.ctc.wstx.ent;
import com.ctc.wstx.api.ReaderConfig;
import java.io.IOException;
import java.io.Writer;
import java.net.URL;
import javax.xml.stream.Location;
import javax.xml.stream.XMLResolver;
import javax.xml.stream.XMLStreamException;
import com.ctc.wstx.io.WstxInputSource;
public abstract class ExtEntity
    extends EntityDecl
{
    final String mPublicId;
    final String mSystemId;
    public ExtEntity(Location loc, String name, URL ctxt,
                     String pubId, String sysId)
    {
        super(loc, name, ctxt);
        mPublicId = pubId;
        mSystemId = sysId;
    }
    @Override
    public abstract String getNotationName();
    @Override
    public String getPublicId() {
        return mPublicId;
    }
    @Override
    public String getReplacementText() {
        return null;
    }
    @Override
    public int getReplacementText(Writer w)
        //throws IOException
    {
        return 0;
    }
    @Override
    public String getSystemId() {
        return mSystemId;
    }
    /*
    ///////////////////////////////////////////
    // Implementation of abstract base methods
    ///////////////////////////////////////////
     */
    @Override
    public abstract void writeEnc(Writer w) throws IOException;
    /*
    ///////////////////////////////////////////
    // Extended API for Wstx core
    ///////////////////////////////////////////
     */
    // // // Access to data
    @Override
    public char[] getReplacementChars() {
        return null;
    }
    // // // Type information
    
    @Override
    public boolean isExternal() { return true; }
    
    @Override
    public abstract boolean isParsed();
    @Override
    public abstract WstxInputSource expand(WstxInputSource parent,
                                           XMLResolver res, ReaderConfig cfg,
                                           int xmlVersion)
        throws IOException, XMLStreamException;
}