## org.w3c.jigsaw.pagecompile
Class PageCompileFrame

    java.lang.Object
      |
      +--org.w3c.tools.resources.AttributeHolder
            |
            +--org.w3c.tools.resources.Resource
                  |
                  +--org.w3c.tools.resources.FramedResource
                        |
                        +--org.w3c.tools.resources.ResourceFrame
                              |
                              +--org.w3c.tools.resources.ProtocolFrame
                                    |
                                    +--org.w3c.jigsaw.frames.HTTPFrame
                                          |
                                          +--org.w3c.jigsaw.pagecompile.PageCompileFrame

public class PageCompileFrame
extends HTTPFrame

Field Summary
`protected Segment[]` `bodySegs`
`protected static GeneratedClassLoader` `classloader`
`protected Segment[]` `classSegs`
`protected Segment[]` `extendsSegs`
`protected Segment[]` `implementsSegs`
`protected Segment[]` `importSegs`

Fields inherited from class org.w3c.jigsaw.frames.HTTPFrame

`acceptRanges, allowed, ATTR_ALLOW_DEL, ATTR_BROWSABLE, ATTR_CHARSET, ATTR_CONTENT_ENCODING, ATTR_CONTENT_LANGUAGE, ATTR_CONTENT_LENGTH, ATTR_CONTENT_TYPE, ATTR_ICON, ATTR_ICONDIR, ATTR_INDEX, ATTR_INDEXES, ATTR_MAXAGE, ATTR_MD5, ATTR_PUTABLE, ATTR_QUALITY, ATTR_RELOCATE, ATTR_STYLE_LINK, ATTR_TITLE, browsetype, COND_FAILED, COND_OK, COND_WEAK, dresource, fresource, listing, listing_stamp, STATE_CONTENT_LOCATION`

Fields inherited from class org.w3c.tools.resources.ResourceFrame
`filterClass, frameListener, resource`

Fields inherited from class org.w3c.tools.resources.FramedResource
`ATTR_OID, attrListener, debugEvent, event_disabled, framesRef, structListener`

Fields inherited from class org.w3c.tools.resources.Resource
`ATTR_CONTEXT, ATTR_HELP_URL, ATTR_IDENTIFIER, ATTR_LAST_MODIFIED, ATTR_PARENT, ATTR_RESOURCE_FRAMES, ATTR_STORE_ENTRY, ATTR_URL, co, id`

Fields inherited from class org.w3c.tools.resources.AttributeHolder
`attributes, values`

Constructor Summary
`PageCompileFrame()`

Method Summary
`static boolean` `byteArrayNEquals(byte[] ba1, int off1, byte[] ba2, int off2, int n)` Analogous to standard C's `strncmp`, for byte arrays.
`protected void` `checkContent(Request request)`
`protected boolean` `classCompiled()`
`protected static void` `createClassLoader(java.io.File dir)`
`GeneratedFrame` `generateFrame(Request request)` Generate the frame.
`protected byte[]` `getClassDeclarationStatement()`
`protected byte[]` `getClassEnd()`
`protected static GeneratedClassLoader` `getClassLoader()`
`protected PageCompiler` `getCompiler()`
`protected java.lang.String` `getFilePath()`
`protected java.io.File` `getGeneratedClassFile()`
`protected java.lang.String` `getGeneratedClassName()`
`protected java.lang.String` `getGeneratedPackageName()`
`protected byte[]` `getGetMethodDeclaration()`
`protected static GeneratedClassLoader` `getNewClassLoader()`
`protected java.lang.String` `getPackagedClassName()`
`protected byte[]` `getPackageStatement()`
`protected PageCompileProp` `getPageCompileProps()`
`protected byte[]` `getSegmentBytes(Segment seg)`
`protected Segment[]` `parse()`
`protected int` `parseType(byte[] unparsed, int startParam, int endParam)`
`ReplyInterface` `perform(RequestInterface request)` Makes sure that checkContent() is called on _any_ HTTP method, so that the internal representation of commands is always consistent.
`protected byte[]` `readUnparsed()`
`protected void` `registerNewGeneratedFrame(Request request)`
`void` `registerResource(FramedResource resource)` Register the resource and add Properties in httpd.
`protected void` `separateSegments(Segment[] segments)`

Methods inherited from class org.w3c.jigsaw.frames.HTTPFrame

`addStyleSheet, attributeChanged, browse, checkExpect, checkIfMatch, checkIfModifiedSince, checkIfNoneMatch, checkIfUnmodifiedSince, checkRequest, checkValidators, computeContainerListing, computeETag, computeTrashDir, computeTrashFile, createDefaultReply, createFileReply, delete, deleteDirectoryResource, deleteFileResource, deleteMe, deleteOtherResource, extended, get, getAllow, getAllowDeleteFlag, getBrowsableFlag, getBrowseType, getCharset, getContentEncoding, getContentLanguage, getContentLength, getContentType, getDirectoryListing, getDirectoryResource, getDirectoryResource, getETag, getFileResource, getFileResource, getHelpURL, getHelpURL, getIcon, getIconDirectory, getIndex, getIndexes, getMaxAge, getMD5Flag, getOtherResource, getPutableFlag, getQuality, getRelocateFlag, getStyleSheetURL, getTitle, getURL, handleRangeRequest, head, headDirectoryResource, headFileResource, headOtherResource, initialize, link, lookup, lookupDirectory, lookupFile, lookupOther, lookupResource, options, performFrames, pickleValues, post, put, putFileResource, putOtherResource, registerOtherResource, setValue, trace, unlink, updateCachedHeaders`

Methods inherited from class org.w3c.tools.resources.ResourceFrame
`addFrameEventListener, eventDisabled, fireFrameEvent, frameModified, getFilters, getFilters, getFrameReference, getResource, getResourceReference, getSpaceEntry, getURLPath, lookupFilters, lookupFrames, postFrameEvent, processEvent, removeFrameEventListener, unregisterResource, updateDefaultChildAttributes`

Methods inherited from class org.w3c.tools.resources.FramedResource

`addAttributeChangedListener, addStructureChangedListener, collectFramesReference, delete, disableEvent, displayEvent, enableEvent, fireAttributeChangeEvent, fireStructureChangedEvent, fireStructureChangedEvent, frameAdded, frameRemoved, getClone, getFrame, getFrame, getFrameReference, getFrameReference, getFramesReference, getOid, initialize, markModified, notifyUnload, postAttributeChangeEvent, postEvent, postStructureChangedEvent, postStructureChangedEvent, registerFrame, registerFrameIfNone, removeAttributeChangedListener, removeStructureChangedListener, setSilentValue, setSilentValue, unregisterFrame`

Methods inherited from class org.w3c.tools.resources.Resource
`acceptUnload, checkMultipleLock, collectFrames, getContext, getFrame, getFrames, getIdentifier, getLastModified, getParent, getServer, getSpace, getStoreEntry, getValue, getValue, isInitialized, isUnloaded, setContext, setContext, setValue, unsafeGetContext, unsafeGetIdentifier, unsafeGetValue, updateAttributes`

Methods inherited from class org.w3c.tools.resources.AttributeHolder
`definesAttribute, definesAttribute, getAttributes, getBoolean, getChar, getClone, getClone, getDouble, getFloat, getInt, getLong, getString, getValue, lookupAttribute, print, setBoolean, setChar, setDouble, setFloat, setInt, setLong, setString, setValue, unsafeGetString`

Methods inherited from class java.lang.Object
`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

Field Detail

### classloader

    protected static GeneratedClassLoader classloader

### classSegs

    protected Segment[] classSegs

### importSegs

    protected Segment[] importSegs

### extendsSegs

    protected Segment[] extendsSegs

### implementsSegs

    protected Segment[] implementsSegs

### bodySegs

    protected Segment[] bodySegs

Constructor Detail

### PageCompileFrame

    public PageCompileFrame()

Method Detail

### getClassLoader

    protected static GeneratedClassLoader getClassLoader()

### createClassLoader

    protected static void createClassLoader(java.io.File dir)

### getNewClassLoader

    protected static GeneratedClassLoader getNewClassLoader()

### getPageCompileProps

    protected PageCompileProp getPageCompileProps()

### getGeneratedClassName

    protected java.lang.String getGeneratedClassName()

### getGeneratedPackageName

    protected java.lang.String getGeneratedPackageName()

### getPackagedClassName

    protected java.lang.String getPackagedClassName()

### getGeneratedClassFile

    protected java.io.File getGeneratedClassFile()

### classCompiled

    protected boolean classCompiled()

### getCompiler

    protected PageCompiler getCompiler()

### registerResource

    public void registerResource(FramedResource resource)

  Register the resource and add Properties in httpd.
  Overrides:
    registerResource in class HTTPFrame
  Parameters:
    `resource` - The resource to register.

### readUnparsed

    protected byte[] readUnparsed()
                           throws java.io.IOException

### byteArrayNEquals

    public static final boolean byteArrayNEquals(byte[] ba1,
                                                 int off1,
                                                 byte[] ba2,
                                                 int off2,
                                                 int n)

  Analogous to standard C's `strncmp`, for byte arrays. (Should be in some utility package, I'll put it here for now)
  Parameters:
    `ba1` - the first byte array
    `off1` - where to start in the first array
    `ba2` - the second byte array
    `off2` - where to start in the second array
    `n` - the length to compare up to
  Returns:
    true if both specified parts of the arrays are equal, false if they aren't .

### parseType

    protected int parseType(byte[] unparsed,
                            int startParam,
                            int endParam)

### parse

    protected Segment[] parse()

### separateSegments

    protected void separateSegments(Segment[] segments)

### getPackageStatement

    protected byte[] getPackageStatement()

### getClassDeclarationStatement

    protected byte[] getClassDeclarationStatement()

### getFilePath

    protected java.lang.String getFilePath()

### getGetMethodDeclaration

    protected byte[] getGetMethodDeclaration()

### getClassEnd

    protected byte[] getClassEnd()

### getSegmentBytes

    protected byte[] getSegmentBytes(Segment seg)

### generateFrame

    public GeneratedFrame generateFrame(Request request)
                                 throws ResourceException,
                                        ProtocolException

  Generate the frame.
  Parameters:
    `request` - the incomming request.
  Throws:
    ResourceException - if a fatal error occurs.
    ProtocolException - if compilation failed

### registerNewGeneratedFrame

    protected void registerNewGeneratedFrame(Request request)
                                      throws ResourceException,
                                             ProtocolException

### checkContent

    protected void checkContent(Request request)
                         throws ResourceException,
                                ProtocolException

### perform

    public ReplyInterface perform(RequestInterface request)
                           throws ProtocolException,
                                  ResourceException

  Makes sure that checkContent() is called on _any_ HTTP method, so that the internal representation of commands is always consistent.
  Overrides:
    perform in class HTTPFrame
  Parameters:
    `request` - The HTTPRequest
  Returns:
    a ReplyInterface instance
  Throws:
    ProtocolException - If processing the request failed.
    ResourceException - If this resource got a fatal error.