Java Doc for Segment.java in  » Apache-Harmony-Java-SE » org-package » org » apache » harmony » pack200 » Java Source Code / Java DocumentationJava Source Code and Java Documentation

Java Source Code / Java Documentation
1. 6.0 JDK Core
2. 6.0 JDK Modules
3. 6.0 JDK Modules com.sun
4. 6.0 JDK Modules com.sun.java
5. 6.0 JDK Modules sun
6. 6.0 JDK Platform
7. Ajax
8. Apache Harmony Java SE
9. Aspect oriented
10. Authentication Authorization
11. Blogger System
12. Build
13. Byte Code
14. Cache
15. Chart
16. Chat
17. Code Analyzer
18. Collaboration
19. Content Management System
20. Database Client
21. Database DBMS
22. Database JDBC Connection Pool
23. Database ORM
24. Development
25. EJB Server geronimo
26. EJB Server GlassFish
27. EJB Server JBoss 4.2.1
28. EJB Server resin 3.1.5
29. ERP CRM Financial
30. ESB
31. Forum
32. GIS
33. Graphic Library
34. Groupware
35. HTML Parser
36. IDE
37. IDE Eclipse
38. IDE Netbeans
39. Installer
40. Internationalization Localization
41. Inversion of Control
42. Issue Tracking
43. J2EE
44. JBoss
45. JMS
46. JMX
47. Library
48. Mail Clients
49. Net
50. Parser
51. PDF
52. Portal
53. Profiler
54. Project Management
55. Report
56. RSS RDF
57. Rule Engine
58. Science
59. Scripting
60. Search Engine
61. Security
62. Sevlet Container
63. Source Control
64. Swing Library
65. Template Engine
66. Test Coverage
67. Testing
68. UML
69. Web Crawler
70. Web Framework
71. Web Mail
72. Web Server
73. Web Services
74. Web Services apache cxf 2.0.1
75. Web Services AXIS2
76. Wiki Engine
77. Workflow Engines
78. XML
79. XML UI
Java
Java Tutorial
Java Open Source
Jar File Download
Java Articles
Java Products
Java by API
Photoshop Tutorials
Maya Tutorials
Flash Tutorials
3ds-Max Tutorials
Illustrator Tutorials
GIMP Tutorials
C# / C Sharp
C# / CSharp Tutorial
C# / CSharp Open Source
ASP.Net
ASP.NET Tutorial
JavaScript DHTML
JavaScript Tutorial
JavaScript Reference
HTML / CSS
HTML CSS Reference
C / ANSI-C
C Tutorial
C++
C++ Tutorial
Ruby
PHP
Python
Python Tutorial
Python Open Source
SQL Server / T-SQL
SQL Server / T-SQL Tutorial
Oracle PL / SQL
Oracle PL/SQL Tutorial
PostgreSQL
SQL / MySQL
MySQL Tutorial
VB.Net
VB.Net Tutorial
Flash / Flex / ActionScript
VBA / Excel / Access / Word
XML
XML Tutorial
Microsoft Office PowerPoint 2007 Tutorial
Microsoft Office Excel 2007 Tutorial
Microsoft Office Word 2007 Tutorial
Java Source Code / Java Documentation » Apache Harmony Java SE » org package » org.apache.harmony.pack200 
Source Cross Reference  Class Diagram Java Document (Java Doc) 


java.lang.Object
   org.apache.harmony.pack200.Segment

Segment
public class Segment (Code)
A Pack200 archive consists of one (or more) segments. Each segment is standalone, in the sense that every segment has the magic number header; thus, every segment is also a valid archive. However, it is possible to combine (non-GZipped) archives into a single large archive by concatenation alone. Thus all the hard work in unpacking an archive falls to understanding a segment. This class implements the Pack200 specification by an entry point ( Segment.parse(InputStream) ) which in turn delegates to a variety of other parse methods. Each parse method corresponds (roughly) to the name of the bands in the Pack200 specification. The first component of a segment is the header; this contains (amongst other things) the expected counts of constant pool entries, which in turn defines how many values need to be read from the stream. Because values are variable width (see Codec ), it is not possible to calculate the start of the next segment, although one of the header values does hint at the size of the segment if non-zero, which can be used for buffering purposes. Note that this does not perform any buffering of the input stream; each value will be read on a byte-by-byte basis. It does not perform GZip decompression automatically; both of these are expected to be done by the caller if the stream has the magic header for GZip streams ( GZIPInputStream.GZIP_MAGIC ). In any case, if GZip decompression is being performed the input stream will be buffered at a higher level, and thus this can read on a byte-oriented basis.




Method Summary
protected  voiddebug(String message)
     This is a local debugging message to aid the developer in writing this class.
protected  AttrDefinitionBandsgetAttrDefinitionBands()
    
protected  BcBandsgetBcBands()
    
protected  ClassBandsgetClassBands()
    
public  SegmentConstantPoolgetConstantPool()
    
protected  CpBandsgetCpBands()
    
protected  FileBandsgetFileBands()
    
protected  IcBandsgetIcBands()
    
public  SegmentHeadergetSegmentHeader()
    
public  voidlog(int logLevel, String message)
    
public  voidoverrideDeflateHint(boolean deflateHint)
    
public static  Segmentparse(InputStream in)
     TODO: Do we need this method now we have Archive as the main entry point? Decode a segment from the given input stream.
public  voidsetLogLevel(int logLevel)
    
public  voidsetLogStream(OutputStream stream)
    
public  voidunpack(InputStream in, JarOutputStream out)
     Unpacks a packed stream (either .pack.
public  voidwriteJar(JarOutputStream out)
     Writes the segment to an output stream.



Method Detail
debug
protected void debug(String message)(Code)
This is a local debugging message to aid the developer in writing this class. It will be removed before going into production. If the property 'debug.pack200' is set, this will generate messages to stderr; otherwise, it will be silent.
Parameters:
  message -



getAttrDefinitionBands
protected AttrDefinitionBands getAttrDefinitionBands()(Code)



getBcBands
protected BcBands getBcBands()(Code)



getClassBands
protected ClassBands getClassBands()(Code)



getConstantPool
public SegmentConstantPool getConstantPool()(Code)



getCpBands
protected CpBands getCpBands()(Code)



getFileBands
protected FileBands getFileBands()(Code)



getIcBands
protected IcBands getIcBands()(Code)



getSegmentHeader
public SegmentHeader getSegmentHeader()(Code)



log
public void log(int logLevel, String message)(Code)



overrideDeflateHint
public void overrideDeflateHint(boolean deflateHint)(Code)
Override the archive's deflate hint with the given boolean
Parameters:
  deflateHint - - the deflate hint to use



parse
public static Segment parse(InputStream in) throws IOException, Pack200Exception(Code)
TODO: Do we need this method now we have Archive as the main entry point? Decode a segment from the given input stream. This does not attempt to re-assemble or export any class files, but it contains enough information to be able to re-assemble class files by external callers.
Parameters:
  in - the input stream to read from a segment parsed from the input stream
throws:
  IOException - if a problem occurs during reading from the underlying stream
throws:
  Pack200Exception - if a problem occurs with an unexpected value or unsupportedcodec



setLogLevel
public void setLogLevel(int logLevel)(Code)



setLogStream
public void setLogStream(OutputStream stream)(Code)



unpack
public void unpack(InputStream in, JarOutputStream out) throws IOException, Pack200Exception(Code)
Unpacks a packed stream (either .pack. or .pack.gz) into a corresponding JarOuputStream.
throws:
  Pack200Exception - if there is a problem unpacking
throws:
  IOException - if there is a problem with I/O during unpacking



writeJar
public void writeJar(JarOutputStream out) throws IOException, Pack200Exception(Code)
Writes the segment to an output stream. The output stream should be pre-buffered for efficiency. Also takes the same input stream for reading, since the file bits may not be loaded and thus just copied from one stream to another. Doesn't close the output stream when finished, in case there are more entries (e.g. further segments) to be written.
Parameters:
  out - the JarOutputStream to write data to
Parameters:
  in - the same InputStream that was used to parse the segment
throws:
  IOException - if an error occurs whilst reading or writing to the streams
throws:
  Pack200Exception - if an error occurs whilst unpacking data



Methods inherited from java.lang.Object
native protected Object clone() throws CloneNotSupportedException(Code)(Java Doc)
public boolean equals(Object obj)(Code)(Java Doc)
protected void finalize() throws Throwable(Code)(Java Doc)
final native public Class getClass()(Code)(Java Doc)
native public int hashCode()(Code)(Java Doc)
final native public void notify()(Code)(Java Doc)
final native public void notifyAll()(Code)(Java Doc)
public String toString()(Code)(Java Doc)
final native public void wait(long timeout) throws InterruptedException(Code)(Java Doc)
final public void wait(long timeout, int nanos) throws InterruptedException(Code)(Java Doc)
final public void wait() throws InterruptedException(Code)(Java Doc)

www.java2java.com | Contact Us
Copyright 2009 - 12 Demo Source and Support. All rights reserved.
All other trademarks are property of their respective owners.