public class DxfStructureReader extends AbstractIterableInput<DxfStructure>
This class represents the next level of abstraction from a
DxfGroupReader. It interprets the groups coming from a
DxfGroupReader and builds DXFStructures of appropriate types, returning
these.
Note that this level of abstraction does not perform any interpretation of sections, handle pointers, block references, or other relationships; it merely aggregates groups into structures and streams those in. Section divisions and ends are themselves returned as structures.
Copyright 2006 Partner Software, Inc.
IterableInput.Status| Constructor and Description |
|---|
DxfStructureReader(DxfGroupReader groupReader) |
DxfStructureReader(DxfPrototypeFactory prototypes,
DxfGroupReader groupReader) |
DxfStructureReader(DxfPrototypeFactory prototypes,
VfsFile file) |
DxfStructureReader(VfsFile file) |
| Modifier and Type | Method and Description |
|---|---|
protected void |
closeImp()
Subclass implementation of guts of close() method.
|
protected boolean |
fetchImp()
Subclass implementation of guts of fetch() method.
|
DxfStructure |
getFetched()
Returns the last fetched item (if immutable) or a copy of it (if
mutable).
|
protected void |
openImp()
Subclass implementation of guts of open() method.
|
close, fetch, getException, getStatus, isFetchValid, iterator, openpublic DxfStructureReader(DxfPrototypeFactory prototypes, VfsFile file) throws java.io.IOException
java.io.IOExceptionpublic DxfStructureReader(DxfPrototypeFactory prototypes, DxfGroupReader groupReader) throws java.io.IOException
java.io.IOExceptionpublic DxfStructureReader(VfsFile file) throws java.io.IOException
java.io.IOExceptionpublic DxfStructureReader(DxfGroupReader groupReader) throws java.io.IOException
java.io.IOExceptionpublic DxfStructure getFetched()
IterableInputThe last fetched item is that loaded by the most recent call to fetch().
Implementations may prefer to instantiate this lazily; in other words, the underlying IterableInput may know that it has a valid fetch (e.g. loaded the characters for a String into an internal buffer) but may not have created this object yet (e.g. created a new String with the characters from the buffer). This allows skipping items without instantiating them, or accessing the underlying state without instantiating an actual item.
Implementations may also wish to provide unsafe access to the fetched item via other methods or public variables. The requirement that a safe copy be returned does prevent object reuse or other optimizations with this method, so feel free to use other means to provide a high-performance alternative.
This method may only be called when the input is in the FETCHING status. Calling it from any other status will result in an IllegalStateException.
protected void openImp()
throws java.lang.Exception
AbstractIterableInputSubclasses must implement this to do the actual work required by open(). Feel free to throw exceptions; these are caught inside the open() itself and applied to the exception variable. Thus, you can focus on the actual task instead of paperwork.
openImp in class AbstractIterableInput<DxfStructure>java.lang.Exceptionprotected void closeImp()
throws java.lang.Exception
AbstractIterableInputSubclasses must implement this to do the actual work required by close(). Feel free to throw exceptions; these are caught inside the close() itself and applied to the exception variable. Thus, you can focus on the actual task instead of paperwork.
closeImp in class AbstractIterableInput<DxfStructure>java.lang.Exceptionprotected boolean fetchImp()
throws java.lang.Exception
AbstractIterableInputSubclasses must implement this to do the actual work required by fetch(). Feel free to throw exceptions; these are caught inside the fetch() itself and applied to the exception variable. Thus, you can focus on the actual task instead of paperwork.
fetchImp in class AbstractIterableInput<DxfStructure>java.lang.Exception