# harmony-commits mailing list archives

##### Site index · List index
Message view
Top
From ge...@apache.org
Subject svn commit: r350181 [51/198] - in /incubator/harmony/enhanced/trunk/sandbox/contribs/ibm_core: ./ depends/ depends/files/ depends/jars/ depends/libs/ depends/libs/linux.IA32/ depends/libs/win.IA32/ depends/oss/ depends/oss/linux.IA32/ depends/oss/win.I...
Date Thu, 01 Dec 2005 06:04:00 GMT
Added: incubator/harmony/enhanced/trunk/sandbox/contribs/ibm_core/doc/vminterface/natives.cfg
URL: http://svn.apache.org/viewcvs/incubator/harmony/enhanced/trunk/sandbox/contribs/ibm_core/doc/vminterface/natives.cfg?rev=350181&view=auto
==============================================================================
+++ incubator/harmony/enhanced/trunk/sandbox/contribs/ibm_core/doc/vminterface/natives.cfg Wed Nov 30 21:29:27 2005
@@ -0,0 +1,1193 @@
+# Doxyfile 1.4.4
+
+# Copyright 2005 The Apache Software Foundation or its licensors, as applicable
+#
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+#
+# Unless required by applicable law or agreed to in writing, software
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+
+# This file describes the settings to be used by the documentation system
+# doxygen (www.doxygen.org) for a project
+#
+# All text after a hash (#) is considered a comment and will be ignored
+# The format is:
+#       TAG = value [value, ...]
+# For lists items can also be appended using:
+#       TAG += value [value, ...]
+# Values that contain spaces should be placed between quotes (" ")
+
+#---------------------------------------------------------------------------
+# Project related configuration options
+#---------------------------------------------------------------------------
+
+# The PROJECT_NAME tag is a single word (or a sequence of words surrounded
+# by quotes) that should identify the project.
+
+PROJECT_NAME           = "Harmony Class Library Porting"
+
+# The PROJECT_NUMBER tag can be used to enter a project or revision number.
+# This could be handy for archiving the generated documentation or
+# if some version control system is used.
+
+PROJECT_NUMBER         = 1.0
+
+# The OUTPUT_DIRECTORY tag is used to specify the (relative or absolute)
+# base path where the generated documentation will be put.
+# If a relative path is entered, it will be relative to the location
+# where doxygen was started. If left blank the current directory will be used.
+
+OUTPUT_DIRECTORY       = doc/vm_doc
+
+# If the CREATE_SUBDIRS tag is set to YES, then doxygen will create
+# 4096 sub-directories (in 2 levels) under the output directory of each output
+# format and will distribute the generated files over these directories.
+# Enabling this option can be useful when feeding doxygen a huge amount of source
+# files, where putting all generated files in the same directory would otherwise
+# cause performance problems for the file system.
+
+CREATE_SUBDIRS         = NO
+
+# The OUTPUT_LANGUAGE tag is used to specify the language in which all
+# documentation generated by doxygen is written. Doxygen will use this
+# information to generate all constant output in the proper language.
+# The default language is English, other supported languages are:
+# Brazilian, Catalan, Chinese, Chinese-Traditional, Croatian, Czech, Danish,
+# Dutch, Finnish, French, German, Greek, Hungarian, Italian, Japanese,
+# Japanese-en (Japanese with English messages), Korean, Korean-en, Norwegian,
+# Polish, Portuguese, Romanian, Russian, Serbian, Slovak, Slovene, Spanish,
+# Swedish, and Ukrainian.
+
+OUTPUT_LANGUAGE        = English
+
+# This tag can be used to specify the encoding used in the generated output.
+# The encoding is not always determined by the language that is chosen,
+# but also whether or not the output is meant for Windows or non-Windows users.
+# In case there is a difference, setting the USE_WINDOWS_ENCODING tag to YES
+# forces the Windows encoding (this is the default for the Windows binary),
+# whereas setting the tag to NO uses a Unix-style encoding (the default for
+# all platforms other than Windows).
+
+USE_WINDOWS_ENCODING   = YES
+
+# If the BRIEF_MEMBER_DESC tag is set to YES (the default) Doxygen will
+# include brief member descriptions after the members that are listed in
+# the file and class documentation (similar to JavaDoc).
+# Set to NO to disable this.
+
+BRIEF_MEMBER_DESC      = YES
+
+# If the REPEAT_BRIEF tag is set to YES (the default) Doxygen will prepend
+# the brief description of a member or function before the detailed description.
+# Note: if both HIDE_UNDOC_MEMBERS and BRIEF_MEMBER_DESC are set to NO, the
+# brief descriptions will be completely suppressed.
+
+REPEAT_BRIEF           = YES
+
+# This tag implements a quasi-intelligent brief description abbreviator
+# that is used to form the text in various listings. Each string
+# in this list, if found as the leading text of the brief description, will be
+# stripped from the text and the result after processing the whole list, is used
+# as the annotated text. Otherwise, the brief description is used as-is. If left
+# blank, the following values are used ("$name" is automatically replaced with the +# name of the entity): "The$name class" "The $name widget" "The$name file"
+# "is" "provides" "specifies" "contains" "represents" "a" "an" "the"
+
+ABBREVIATE_BRIEF       =
+
+# If the ALWAYS_DETAILED_SEC and REPEAT_BRIEF tags are both set to YES then
+# Doxygen will generate a detailed section even if there is only a brief
+# description.
+
+ALWAYS_DETAILED_SEC    = YES
+
+# If the INLINE_INHERITED_MEMB tag is set to YES, doxygen will show all inherited
+# members of a class in the documentation of that class as if those members were
+# ordinary class members. Constructors, destructors and assignment operators of
+# the base classes will not be shown.
+
+INLINE_INHERITED_MEMB  = NO
+
+# If the FULL_PATH_NAMES tag is set to YES then Doxygen will prepend the full
+# path before files name in the file list and in the header files. If set
+# to NO the shortest path that makes the file name unique will be used.
+
+FULL_PATH_NAMES        = YES
+
+# If the FULL_PATH_NAMES tag is set to YES then the STRIP_FROM_PATH tag
+# can be used to strip a user-defined part of the path. Stripping is
+# only done if one of the specified strings matches the left-hand part of
+# the path. The tag can be used to show relative paths in the file list.
+# If left blank the directory from which doxygen is run is used as the
+# path to strip.
+
+STRIP_FROM_PATH        =
+
+# The STRIP_FROM_INC_PATH tag can be used to strip a user-defined part of
+# the path mentioned in the documentation of a class, which tells
+# the reader which header file to include in order to use a class.
+# If left blank only the name of the header file containing the class
+# definition is used. Otherwise one should specify the include paths that
+# are normally passed to the compiler using the -I flag.
+
+STRIP_FROM_INC_PATH    =
+
+# If the SHORT_NAMES tag is set to YES, doxygen will generate much shorter
+# (but less readable) file names. This can be useful is your file systems
+# doesn't support long names like on DOS, Mac, or CD-ROM.
+
+SHORT_NAMES            = NO
+
+# If the JAVADOC_AUTOBRIEF tag is set to YES then Doxygen
+# will interpret the first line (until the first dot) of a JavaDoc-style
+# comment as the brief description. If set to NO, the JavaDoc
+# comments will behave just like the Qt-style comments (thus requiring an
+# explicit @brief command for a brief description.
+
+
+# The MULTILINE_CPP_IS_BRIEF tag can be set to YES to make Doxygen
+# treat a multi-line C++ special comment block (i.e. a block of //! or ///
+# comments) as a brief description. This used to be the default behaviour.
+# The new default is to treat a multi-line C++ comment block as a detailed
+# description. Set this tag to YES if you prefer the old behaviour instead.
+
+MULTILINE_CPP_IS_BRIEF = NO
+
+# If the DETAILS_AT_TOP tag is set to YES then Doxygen
+# will output the detailed description near the top, like JavaDoc.
+# If set to NO, the detailed description appears after the member
+# documentation.
+
+DETAILS_AT_TOP         = YES
+
+# If the INHERIT_DOCS tag is set to YES (the default) then an undocumented
+# member inherits the documentation from any documented member that it
+# re-implements.
+
+INHERIT_DOCS           = YES
+
+# If member grouping is used in the documentation and the DISTRIBUTE_GROUP_DOC
+# tag is set to YES, then doxygen will reuse the documentation of the first
+# member in the group (if any) for the other members of the group. By default
+# all members of a group must be documented explicitly.
+
+DISTRIBUTE_GROUP_DOC   = YES
+
+# The TAB_SIZE tag can be used to set the number of spaces in a tab.
+# Doxygen uses this value to replace tabs by spaces in code fragments.
+
+TAB_SIZE               = 4
+
+# This tag can be used to specify a number of aliases that acts
+# as commands in the documentation. An alias has the form "name=value".
+# For example adding "sideeffect=\par Side Effects:\n" will allow you to
+# put the command \sideeffect (or @sideeffect) in the documentation, which
+# will result in a user-defined paragraph with heading "Side Effects:".
+# You can put \n's in the value part of an alias to insert newlines.
+
+ALIASES                =
+
+# Set the OPTIMIZE_OUTPUT_FOR_C tag to YES if your project consists of C sources
+# only. Doxygen will then generate output that is more tailored for C.
+# For instance, some of the names that are used will be different. The list
+# of all members will be omitted, etc.
+
+OPTIMIZE_OUTPUT_FOR_C  = YES
+
+# Set the OPTIMIZE_OUTPUT_JAVA tag to YES if your project consists of Java sources
+# only. Doxygen will then generate output that is more tailored for Java.
+# For instance, namespaces will be presented as packages, qualified scopes
+# will look different, etc.
+
+OPTIMIZE_OUTPUT_JAVA   = NO
+
+# Set the SUBGROUPING tag to YES (the default) to allow class member groups of
+# the same type (for instance a group of public functions) to be put as a
+# subgroup of that type (e.g. under the Public Functions section). Set it to
+# NO to prevent subgrouping. Alternatively, this can be done per class using
+# the \nosubgrouping command.
+
+SUBGROUPING            = YES
+
+#---------------------------------------------------------------------------
+# Build related configuration options
+#---------------------------------------------------------------------------
+
+# If the EXTRACT_ALL tag is set to YES doxygen will assume all entities in
+# documentation are documented, even if no documentation was available.
+# Private class members and static file members will be hidden unless
+# the EXTRACT_PRIVATE and EXTRACT_STATIC tags are set to YES
+
+EXTRACT_ALL            = NO
+
+# If the EXTRACT_PRIVATE tag is set to YES all private members of a class
+# will be included in the documentation.
+
+EXTRACT_PRIVATE        = NO
+
+# If the EXTRACT_STATIC tag is set to YES all static members of a file
+# will be included in the documentation.
+
+EXTRACT_STATIC         = NO
+
+# If the EXTRACT_LOCAL_CLASSES tag is set to YES classes (and structs)
+# defined locally in source files will be included in the documentation.
+# If set to NO only classes defined in header files are included.
+
+EXTRACT_LOCAL_CLASSES  = NO
+
+# This flag is only useful for Objective-C code. When set to YES local
+# methods, which are defined in the implementation section but not in
+# the interface are included in the documentation.
+# If set to NO (the default) only methods in the interface are included.
+
+EXTRACT_LOCAL_METHODS  = NO
+
+# If the HIDE_UNDOC_MEMBERS tag is set to YES, Doxygen will hide all
+# undocumented members of documented classes, files or namespaces.
+# If set to NO (the default) these members will be included in the
+# various overviews, but no documentation section is generated.
+# This option has no effect if EXTRACT_ALL is enabled.
+
+HIDE_UNDOC_MEMBERS     = YES
+
+# If the HIDE_UNDOC_CLASSES tag is set to YES, Doxygen will hide all
+# undocumented classes that are normally visible in the class hierarchy.
+# If set to NO (the default) these classes will be included in the various
+# overviews. This option has no effect if EXTRACT_ALL is enabled.
+
+HIDE_UNDOC_CLASSES     = NO
+
+# If the HIDE_FRIEND_COMPOUNDS tag is set to YES, Doxygen will hide all
+# friend (class|struct|union) declarations.
+# If set to NO (the default) these declarations will be included in the
+# documentation.
+
+HIDE_FRIEND_COMPOUNDS  = NO
+
+# If the HIDE_IN_BODY_DOCS tag is set to YES, Doxygen will hide any
+# documentation blocks found inside the body of a function.
+# If set to NO (the default) these blocks will be appended to the
+# function's detailed documentation block.
+
+HIDE_IN_BODY_DOCS      = YES
+
+# The INTERNAL_DOCS tag determines if documentation
+# that is typed after a \internal command is included. If the tag is set
+# to NO (the default) then the documentation will be excluded.
+# Set it to YES to include the internal documentation.
+
+INTERNAL_DOCS          = NO
+
+# If the CASE_SENSE_NAMES tag is set to NO then Doxygen will only generate
+# file names in lower-case letters. If set to YES upper-case letters are also
+# allowed. This is useful if you have classes or files whose names only differ
+# in case and if your file system supports case sensitive file names. Windows
+# and Mac users are advised to set this option to NO.
+
+CASE_SENSE_NAMES       = YES
+
+# If the HIDE_SCOPE_NAMES tag is set to NO (the default) then Doxygen
+# will show members with their full class and namespace scopes in the
+# documentation. If set to YES the scope will be hidden.
+
+HIDE_SCOPE_NAMES       = NO
+
+# If the SHOW_INCLUDE_FILES tag is set to YES (the default) then Doxygen
+# will put a list of the files that are included by a file in the documentation
+# of that file.
+
+SHOW_INCLUDE_FILES     = YES
+
+# If the INLINE_INFO tag is set to YES (the default) then a tag [inline]
+# is inserted in the documentation for inline members.
+
+INLINE_INFO            = YES
+
+# If the SORT_MEMBER_DOCS tag is set to YES (the default) then doxygen
+# will sort the (detailed) documentation of file and class members
+# alphabetically by member name. If set to NO the members will appear in
+# declaration order.
+
+SORT_MEMBER_DOCS       = YES
+
+# If the SORT_BRIEF_DOCS tag is set to YES then doxygen will sort the
+# brief documentation of file, namespace and class members alphabetically
+# by member name. If set to NO (the default) the members will appear in
+# declaration order.
+
+SORT_BRIEF_DOCS        = NO
+
+# If the SORT_BY_SCOPE_NAME tag is set to YES, the class list will be
+# sorted by fully-qualified names, including namespaces. If set to
+# NO (the default), the class list will be sorted only by class name,
+# not including the namespace part.
+# Note: This option is not very useful if HIDE_SCOPE_NAMES is set to YES.
+# Note: This option applies only to the class list, not to the
+# alphabetical list.
+
+SORT_BY_SCOPE_NAME     = YES
+
+# The GENERATE_TODOLIST tag can be used to enable (YES) or
+# disable (NO) the todo list. This list is created by putting \todo
+# commands in the documentation.
+
+GENERATE_TODOLIST      = YES
+
+# The GENERATE_TESTLIST tag can be used to enable (YES) or
+# disable (NO) the test list. This list is created by putting \test
+# commands in the documentation.
+
+GENERATE_TESTLIST      = NO
+
+# The GENERATE_BUGLIST tag can be used to enable (YES) or
+# disable (NO) the bug list. This list is created by putting \bug
+# commands in the documentation.
+
+GENERATE_BUGLIST       = NO
+
+# The GENERATE_DEPRECATEDLIST tag can be used to enable (YES) or
+# disable (NO) the deprecated list. This list is created by putting
+# \deprecated commands in the documentation.
+
+GENERATE_DEPRECATEDLIST= YES
+
+# The ENABLED_SECTIONS tag can be used to enable conditional
+# documentation sections, marked by \if sectionname ... \endif.
+
+ENABLED_SECTIONS       =
+
+# The MAX_INITIALIZER_LINES tag determines the maximum number of lines
+# the initial value of a variable or define consists of for it to appear in
+# the documentation. If the initializer consists of more lines than specified
+# here it will be hidden. Use a value of 0 to hide initializers completely.
+# The appearance of the initializer of individual variables and defines in the
+# documentation can be controlled using \showinitializer or \hideinitializer
+# command in the documentation regardless of this setting.
+
+MAX_INITIALIZER_LINES  = 30
+
+# Set the SHOW_USED_FILES tag to NO to disable the list of files generated
+# at the bottom of the documentation of classes and structs. If set to YES the
+# list will mention the files that were used to generate the documentation.
+
+SHOW_USED_FILES        = YES
+
+#---------------------------------------------------------------------------
+# configuration options related to warning and progress messages
+#---------------------------------------------------------------------------
+
+# The QUIET tag can be used to turn on/off the messages that are generated
+# by doxygen. Possible values are YES and NO. If left blank NO is used.
+
+QUIET                  = NO
+
+# The WARNINGS tag can be used to turn on/off the warning messages that are
+# generated by doxygen. Possible values are YES and NO. If left blank
+# NO is used.
+
+WARNINGS               = YES
+
+# If WARN_IF_UNDOCUMENTED is set to YES, then doxygen will generate warnings
+# for undocumented members. If EXTRACT_ALL is set to YES then this flag will
+# automatically be disabled.
+
+WARN_IF_UNDOCUMENTED   = YES
+
+# If WARN_IF_DOC_ERROR is set to YES, doxygen will generate warnings for
+# potential errors in the documentation, such as not documenting some
+# parameters in a documented function, or documenting parameters that
+# don't exist or using markup commands wrongly.
+
+WARN_IF_DOC_ERROR      = YES
+
+# The WARN_FORMAT tag determines the format of the warning messages that
+# doxygen can produce. The string should contain the $file,$line, and $text +# tags, which will be replaced by the file and line number from which the +# warning originated and the warning text. + +WARN_FORMAT = "$file:$line:$text"
+
+# The WARN_LOGFILE tag can be used to specify a file to which warning
+# and error messages should be written. If left blank the output is written
+# to stderr.
+
+WARN_LOGFILE           = DoxygenNativesLog.txt
+
+#---------------------------------------------------------------------------
+# configuration options related to the input files
+#---------------------------------------------------------------------------
+
+# The INPUT tag can be used to specify the files and/or directories that contain
+# documented source files. You may enter file names like "myfile.cpp" or
+# directories like "/usr/src/myproject". Separate the files or directories
+# with spaces.
+
+# The mainpage doc comes from the vminterface folder
+# Note that this affects IMAGE_PATH as well
+INPUT	= \
+		"$(HARMONY_DOC_DIR)/vminterface" \ + "$(HARMONY_NATIVE_SRC_DIR)/vmi" \
+		"$(HARMONY_NATIVE_SRC_DIR)/archive" \ + "$(HARMONY_NATIVE_SRC_DIR)/lib" \
+		"$(HARMONY_NATIVE_SRC_DIR)/luni" \ + "$(HARMONY_NATIVE_SRC_DIR)/math" \
+		"$(HARMONY_NATIVE_SRC_DIR)/port" \ + "$(HARMONY_NATIVE_SRC_DIR)/thread" \
+		"$(HARMONY_NATIVE_SRC_DIR)/zip" \ + "$(HARMONY_NATIVE_SRC_DIR)/pool" \
+		"$(HARMONY_NATIVE_SRC_DIR)/include" + +# If the value of the INPUT tag contains directories, you can use the +# FILE_PATTERNS tag to specify one or more wildcard pattern (like *.cpp +# and *.h) to filter out the source-files in the directories. If left +# blank the following patterns are tested: +# *.c *.cc *.cxx *.cpp *.c++ *.java *.ii *.ixx *.ipp *.i++ *.inl *.h *.hh *.hxx *.hpp +# *.h++ *.idl *.odl *.cs *.php *.php3 *.inc *.m *.mm + +FILE_PATTERNS = *.c *.h *.txt + +# The RECURSIVE tag can be used to turn specify whether or not subdirectories +# should be searched for input files as well. Possible values are YES and NO. +# If left blank NO is used. + +RECURSIVE = NO + +# The EXCLUDE tag can be used to specify files and/or directories that should +# excluded from the INPUT source files. This way you can easily exclude a +# subdirectory from a directory tree whose root is specified with the INPUT tag. + +EXCLUDE = + +# The EXCLUDE_SYMLINKS tag can be used select whether or not files or directories +# that are symbolic links (a Unix filesystem feature) are excluded from the input. + +EXCLUDE_SYMLINKS = NO + +# If the value of the INPUT tag contains directories, you can use the +# EXCLUDE_PATTERNS tag to specify one or more wildcard patterns to exclude +# certain files from those directories. + +EXCLUDE_PATTERNS = + +# The EXAMPLE_PATH tag can be used to specify one or more files or +# directories that contain example code fragments that are included (see +# the \include command). + +EXAMPLE_PATH = + +# If the value of the EXAMPLE_PATH tag contains directories, you can use the +# EXAMPLE_PATTERNS tag to specify one or more wildcard pattern (like *.cpp +# and *.h) to filter out the source-files in the directories. If left +# blank all files are included. + +EXAMPLE_PATTERNS = + +# If the EXAMPLE_RECURSIVE tag is set to YES then subdirectories will be +# searched for input files to be used with the \include or \dontinclude +# commands irrespective of the value of the RECURSIVE tag. +# Possible values are YES and NO. If left blank NO is used. + +EXAMPLE_RECURSIVE = NO + +# The IMAGE_PATH tag can be used to specify one or more files or +# directories that contain image that are included in the documentation (see +# the \image command). + +# The images come from the vminterface directory. +# Set the environment variable HARMONY_DOC_DIR to the root doc folder. +# Note that this affects INPUT as well + +IMAGE_PATH = "$(HARMONY_DOC_DIR)/vminterface"
+
+
+# The INPUT_FILTER tag can be used to specify a program that doxygen should
+# invoke to filter for each input file. Doxygen will invoke the filter program
+# by executing (via popen()) the command <filter> <input-file>, where <filter>
+# is the value of the INPUT_FILTER tag, and <input-file> is the name of an
+# input file. Doxygen will then use the output that the filter program writes
+# to standard output.  If FILTER_PATTERNS is specified, this tag will be
+# ignored.
+
+INPUT_FILTER           =
+
+# The FILTER_PATTERNS tag can be used to specify filters on a per file pattern
+# basis.  Doxygen will compare the file name with each pattern and apply the
+# filter if there is a match.  The filters are a list of the form:
+# pattern=filter (like *.cpp=my_cpp_filter). See INPUT_FILTER for further
+# info on how filters are used. If FILTER_PATTERNS is empty, INPUT_FILTER
+# is applied to all files.
+
+FILTER_PATTERNS        =
+
+# If the FILTER_SOURCE_FILES tag is set to YES, the input filter (if set using
+# INPUT_FILTER) will be used to filter the input files when producing source
+# files to browse (i.e. when SOURCE_BROWSER is set to YES).
+
+FILTER_SOURCE_FILES    = NO
+
+#---------------------------------------------------------------------------
+# configuration options related to source browsing
+#---------------------------------------------------------------------------
+
+# If the SOURCE_BROWSER tag is set to YES then a list of source files will
+# be generated. Documented entities will be cross-referenced with these sources.
+# Note: To get rid of all source code in the generated output, make sure also
+# VERBATIM_HEADERS is set to NO.
+
+SOURCE_BROWSER         = NO
+
+# Setting the INLINE_SOURCES tag to YES will include the body
+# of functions and classes directly in the documentation.
+
+INLINE_SOURCES         = NO
+
+# Setting the STRIP_CODE_COMMENTS tag to YES (the default) will instruct
+# doxygen to hide any special comment blocks from generated source code
+# fragments. Normal C and C++ comments will always remain visible.
+
+
+# If the REFERENCED_BY_RELATION tag is set to YES (the default)
+# then for each documented function all documented
+# functions referencing it will be listed.
+
+REFERENCED_BY_RELATION = YES
+
+# If the REFERENCES_RELATION tag is set to YES (the default)
+# then for each documented function all documented entities
+# called/used by that function will be listed.
+
+REFERENCES_RELATION    = YES
+
+# If the VERBATIM_HEADERS tag is set to YES (the default) then Doxygen
+# will generate a verbatim copy of the header file for each class for
+# which an include is specified. Set to NO to disable this.
+
+
+#---------------------------------------------------------------------------
+# configuration options related to the alphabetical class index
+#---------------------------------------------------------------------------
+
+# If the ALPHABETICAL_INDEX tag is set to YES, an alphabetical index
+# of all compounds will be generated. Enable this if the project
+# contains a lot of classes, structs, unions or interfaces.
+
+ALPHABETICAL_INDEX     = NO
+
+# If the alphabetical index is enabled (see ALPHABETICAL_INDEX) then
+# the COLS_IN_ALPHA_INDEX tag can be used to specify the number of columns
+# in which this list will be split (can be a number in the range [1..20])
+
+COLS_IN_ALPHA_INDEX    = 5
+
+# In case all classes in a project start with a common prefix, all
+# classes will be put under the same header in the alphabetical index.
+# The IGNORE_PREFIX tag can be used to specify one or more prefixes that
+# should be ignored while generating the index headers.
+
+IGNORE_PREFIX          =
+
+#---------------------------------------------------------------------------
+# configuration options related to the HTML output
+#---------------------------------------------------------------------------
+
+# If the GENERATE_HTML tag is set to YES (the default) Doxygen will
+# generate HTML output.
+
+GENERATE_HTML          = YES
+
+# The HTML_OUTPUT tag is used to specify where the HTML docs will be put.
+# If a relative path is entered the value of OUTPUT_DIRECTORY will be
+# put in front of it. If left blank html' will be used as the default path.
+
+HTML_OUTPUT            = html
+
+# The HTML_FILE_EXTENSION tag can be used to specify the file extension for
+# each generated HTML page (for example: .htm,.php,.asp). If it is left blank
+# doxygen will generate files with .html extension.
+
+HTML_FILE_EXTENSION    = .html
+
+# The HTML_HEADER tag can be used to specify a personal HTML header for
+# each generated HTML page. If it is left blank doxygen will generate a
+
+
+# The HTML_FOOTER tag can be used to specify a personal HTML footer for
+# each generated HTML page. If it is left blank doxygen will generate a
+# standard footer.
+
+HTML_FOOTER            = "$(HARMONY_DOC_DIR)/hyfooter.txt" + +# The HTML_STYLESHEET tag can be used to specify a user-defined cascading +# style sheet that is used by each HTML page. It can be used to +# fine-tune the look of the HTML output. If the tag is left blank doxygen +# will generate a default style sheet. Note that doxygen will try to copy +# the style sheet file to the HTML output directory, so don't put your own +# stylesheet in the HTML output directory as well, or it will be erased! + +HTML_STYLESHEET = "$(HARMONY_DOC_DIR)/hydoxygen.css"
+
+# If the HTML_ALIGN_MEMBERS tag is set to YES, the members of classes,
+# files or namespaces will be aligned in HTML using tables. If set to
+# NO a bullet list will be used.
+
+HTML_ALIGN_MEMBERS     = YES
+
+# If the GENERATE_HTMLHELP tag is set to YES, additional index files
+# will be generated that can be used as input for tools like the
+# Microsoft HTML help workshop to generate a compressed HTML help file (.chm)
+# of the generated HTML documentation.
+
+GENERATE_HTMLHELP      = NO
+
+# If the GENERATE_HTMLHELP tag is set to YES, the CHM_FILE tag can
+# be used to specify the file name of the resulting .chm file. You
+# can add a path in front of the file if the result should not be
+# written to the html output directory.
+
+CHM_FILE               =
+
+# If the GENERATE_HTMLHELP tag is set to YES, the HHC_LOCATION tag can
+# be used to specify the location (absolute path including file name) of
+# the HTML help compiler (hhc.exe). If non-empty doxygen will try to run
+# the HTML help compiler on the generated index.hhp.
+
+HHC_LOCATION           = "k:\dev\products\HTML Help Workshop\hhc.exe"
+
+# If the GENERATE_HTMLHELP tag is set to YES, the GENERATE_CHI flag
+# controls if a separate .chi index file is generated (YES) or that
+# it should be included in the master .chm file (NO).
+
+GENERATE_CHI           = NO
+
+# If the GENERATE_HTMLHELP tag is set to YES, the BINARY_TOC flag
+
+BINARY_TOC             = NO
+
+# The TOC_EXPAND flag can be set to YES to add extra items for group members
+# to the contents of the HTML help documentation and to the tree view.
+
+TOC_EXPAND             = NO
+
+# The DISABLE_INDEX tag can be used to turn on/off the condensed index at
+# top of each HTML page. The value NO (the default) enables the index and
+# the value YES disables it.
+
+DISABLE_INDEX          = NO
+
+# This tag can be used to set the number of enum values (range [1..20])
+# that doxygen will group on one line in the generated HTML documentation.
+
+ENUM_VALUES_PER_LINE   = 1
+
+# If the GENERATE_TREEVIEW tag is set to YES, a side panel will be
+# generated containing a tree-like index structure (just like the one that
+# is generated for HTML Help). For this to work a browser that supports
+# JavaScript, DHTML, CSS and frames is required (for instance Mozilla 1.0+,
+# Netscape 6.0+, Internet explorer 5.0+, or Konqueror). Windows users are
+# probably better off using the HTML help feature.
+
+GENERATE_TREEVIEW      = NO
+
+# If the treeview is enabled (see GENERATE_TREEVIEW) then this tag can be
+# used to set the initial width (in pixels) of the frame in which the tree
+# is shown.
+
+TREEVIEW_WIDTH         = 250
+
+#---------------------------------------------------------------------------
+# configuration options related to the LaTeX output
+#---------------------------------------------------------------------------
+
+# If the GENERATE_LATEX tag is set to YES (the default) Doxygen will
+# generate Latex output.
+
+GENERATE_LATEX         = NO
+
+# The LATEX_OUTPUT tag is used to specify where the LaTeX docs will be put.
+# If a relative path is entered the value of OUTPUT_DIRECTORY will be
+# put in front of it. If left blank latex' will be used as the default path.
+
+LATEX_OUTPUT           = latex
+
+# The LATEX_CMD_NAME tag can be used to specify the LaTeX command name to be
+# invoked. If left blank latex' will be used as the default command name.
+
+LATEX_CMD_NAME         = latex
+
+# The MAKEINDEX_CMD_NAME tag can be used to specify the command name to
+# generate index for LaTeX. If left blank makeindex' will be used as the
+# default command name.
+
+MAKEINDEX_CMD_NAME     = makeindex
+
+# If the COMPACT_LATEX tag is set to YES Doxygen generates more compact
+# LaTeX documents. This may be useful for small projects and may help to
+# save some trees in general.
+
+COMPACT_LATEX          = NO
+
+# The PAPER_TYPE tag can be used to set the paper type that is used
+# by the printer. Possible values are: a4, a4wide, letter, legal and
+# executive. If left blank a4wide will be used.
+
+PAPER_TYPE             = a4wide
+
+# The EXTRA_PACKAGES tag can be to specify one or more names of LaTeX
+# packages that should be included in the LaTeX output.
+
+EXTRA_PACKAGES         =
+
+# The LATEX_HEADER tag can be used to specify a personal LaTeX header for
+# the generated latex document. The header should contain everything until
+# the first chapter. If it is left blank doxygen will generate a
+# standard header. Notice: only use this tag if you know what you are doing!
+
+
+# If the PDF_HYPERLINKS tag is set to YES, the LaTeX that is generated
+# is prepared for conversion to pdf (using ps2pdf). The pdf file will
+# contain links (just like the HTML output) instead of page references
+# This makes the output suitable for online browsing using a pdf viewer.
+
+
+# If the USE_PDFLATEX tag is set to YES, pdflatex will be used instead of
+# plain latex in the generated Makefile. Set this option to YES to get a
+# higher quality PDF documentation.
+
+USE_PDFLATEX           = NO
+
+# If the LATEX_BATCHMODE tag is set to YES, doxygen will add the \\batchmode.
+# command to the generated LaTeX files. This will instruct LaTeX to keep
+# running if errors occur, instead of asking the user for help.
+# This option is also used when generating formulas in HTML.
+
+LATEX_BATCHMODE        = NO
+
+# If LATEX_HIDE_INDICES is set to YES then doxygen will not
+# include the index chapters (such as File Index, Compound Index, etc.)
+# in the output.
+
+LATEX_HIDE_INDICES     = NO
+
+#---------------------------------------------------------------------------
+# configuration options related to the RTF output
+#---------------------------------------------------------------------------
+
+# If the GENERATE_RTF tag is set to YES Doxygen will generate RTF output
+# The RTF output is optimized for Word 97 and may not look very pretty with
+# other RTF readers or editors.
+
+GENERATE_RTF           = NO
+
+# The RTF_OUTPUT tag is used to specify where the RTF docs will be put.
+# If a relative path is entered the value of OUTPUT_DIRECTORY will be
+# put in front of it. If left blank rtf' will be used as the default path.
+
+RTF_OUTPUT             = rtf
+
+# If the COMPACT_RTF tag is set to YES Doxygen generates more compact
+# RTF documents. This may be useful for small projects and may help to
+# save some trees in general.
+
+COMPACT_RTF            = NO
+
+# If the RTF_HYPERLINKS tag is set to YES, the RTF that is generated
+# will contain hyperlink fields. The RTF file will
+# contain links (just like the HTML output) instead of page references.
+# This makes the output suitable for online browsing using WORD or other
+# programs which support those fields.
+
+
+# Load stylesheet definitions from file. Syntax is similar to doxygen's
+# config file, i.e. a series of assignments. You only have to provide
+# replacements, missing definitions are set to their default value.
+
+RTF_STYLESHEET_FILE    =
+
+# Set optional variables used in the generation of an rtf document.
+# Syntax is similar to doxygen's config file.
+
+RTF_EXTENSIONS_FILE    =
+
+#---------------------------------------------------------------------------
+# configuration options related to the man page output
+#---------------------------------------------------------------------------
+
+# If the GENERATE_MAN tag is set to YES (the default) Doxygen will
+# generate man pages
+
+GENERATE_MAN           = NO
+
+# The MAN_OUTPUT tag is used to specify where the man pages will be put.
+# If a relative path is entered the value of OUTPUT_DIRECTORY will be
+# put in front of it. If left blank man' will be used as the default path.
+
+MAN_OUTPUT             = man
+
+# The MAN_EXTENSION tag determines the extension that is added to
+# the generated man pages (default is the subroutine's section .3)
+
+MAN_EXTENSION          = .3
+
+# If the MAN_LINKS tag is set to YES and Doxygen generates man output,
+# then it will generate one additional man file for each entity
+# documented in the real man page(s). These additional files
+# only source the real man page, but without them the man command
+# would be unable to find the correct page. The default is NO.
+
+
+#---------------------------------------------------------------------------
+# configuration options related to the XML output
+#---------------------------------------------------------------------------
+
+# If the GENERATE_XML tag is set to YES Doxygen will
+# generate an XML file that captures the structure of
+# the code including all documentation.
+
+GENERATE_XML           = NO
+
+# The XML_OUTPUT tag is used to specify where the XML pages will be put.
+# If a relative path is entered the value of OUTPUT_DIRECTORY will be
+# put in front of it. If left blank xml' will be used as the default path.
+
+XML_OUTPUT             = xml
+
+# The XML_SCHEMA tag can be used to specify an XML schema,
+# which can be used by a validating XML parser to check the
+# syntax of the XML files.
+
+XML_SCHEMA             =
+
+# The XML_DTD tag can be used to specify an XML DTD,
+# which can be used by a validating XML parser to check the
+# syntax of the XML files.
+
+XML_DTD                =
+
+# If the XML_PROGRAMLISTING tag is set to YES Doxygen will
+# dump the program listings (including syntax highlighting
+# and cross-referencing information) to the XML output. Note that
+# enabling this will significantly increase the size of the XML output.
+
+XML_PROGRAMLISTING     = YES
+
+#---------------------------------------------------------------------------
+# configuration options for the AutoGen Definitions output
+#---------------------------------------------------------------------------
+
+# If the GENERATE_AUTOGEN_DEF tag is set to YES Doxygen will
+# generate an AutoGen Definitions (see autogen.sf.net) file
+# that captures the structure of the code including all
+# documentation. Note that this feature is still experimental
+# and incomplete at the moment.
+
+GENERATE_AUTOGEN_DEF   = NO
+
+#---------------------------------------------------------------------------
+# configuration options related to the Perl module output
+#---------------------------------------------------------------------------
+
+# If the GENERATE_PERLMOD tag is set to YES Doxygen will
+# generate a Perl module file that captures the structure of
+# the code including all documentation. Note that this
+# feature is still experimental and incomplete at the
+# moment.
+
+GENERATE_PERLMOD       = NO
+
+# If the PERLMOD_LATEX tag is set to YES Doxygen will generate
+# the necessary Makefile rules, Perl scripts and LaTeX code to be able
+# to generate PDF and DVI output from the Perl module output.
+
+PERLMOD_LATEX          = NO
+
+# If the PERLMOD_PRETTY tag is set to YES the Perl module output will be
+# nicely formatted so it can be parsed by a human reader.  This is useful
+# if you want to understand what is going on.  On the other hand, if this
+# tag is set to NO the size of the Perl module output will be much smaller
+# and Perl will parse it just the same.
+
+PERLMOD_PRETTY         = YES
+
+# The names of the make variables in the generated doxyrules.make file
+# are prefixed with the string contained in PERLMOD_MAKEVAR_PREFIX.
+# This is useful so different doxyrules.make files included by the same
+# Makefile don't overwrite each other's variables.
+
+PERLMOD_MAKEVAR_PREFIX =
+
+#---------------------------------------------------------------------------
+# Configuration options related to the preprocessor
+#---------------------------------------------------------------------------
+
+# If the ENABLE_PREPROCESSING tag is set to YES (the default) Doxygen will
+# evaluate all C-preprocessor directives found in the sources and include
+# files.
+
+ENABLE_PREPROCESSING   = YES
+
+# If the MACRO_EXPANSION tag is set to YES Doxygen will expand all macro
+# names in the source code. If set to NO (the default) only conditional
+# compilation will be performed. Macro expansion can be done in a controlled
+# way by setting EXPAND_ONLY_PREDEF to YES.
+
+MACRO_EXPANSION        = YES
+
+# If the EXPAND_ONLY_PREDEF and MACRO_EXPANSION tags are both set to YES
+# then the macro expansion is limited to the macros specified with the
+# PREDEFINED and EXPAND_AS_PREDEFINED tags.
+
+EXPAND_ONLY_PREDEF     = YES
+
+# If the SEARCH_INCLUDES tag is set to YES (the default) the includes files
+# in the INCLUDE_PATH (see below) will be search if a #include is found.
+
+SEARCH_INCLUDES        = YES
+
+# The INCLUDE_PATH tag can be used to specify one or more directories that
+# contain include files that are not input files but should be processed by
+# the preprocessor.
+
+INCLUDE_PATH           = "\$(HARMONY_NATIVE_SRC_DIR)/include"
+
+# You can use the INCLUDE_FILE_PATTERNS tag to specify one or more wildcard
+# patterns (like *.h and *.hpp) to filter out the header-files in the
+# directories. If left blank, the patterns specified with FILE_PATTERNS will
+# be used.
+
+INCLUDE_FILE_PATTERNS  =
+
+# The PREDEFINED tag can be used to specify one or more macro names that
+# are defined before the preprocessor is started (similar to the -D option of
+# gcc). The argument of the tag is a list of macros of the form: name
+# or name=definition (no spaces). If the definition and the = are
+# omitted =1 is assumed.
+
+# Get rid of some of our structural defines
+PREDEFINED             = DOXYGEN_SHOULD_SKIP_THIS \
+						 PROTOTYPE(arg)=arg \
+						 PVMCALL=*
+
+# If the MACRO_EXPANSION and EXPAND_ONLY_PREDEF tags are set to YES then
+# this tag can be used to specify a list of macro names that should be expanded.
+# The macro definition that is found in the sources will be used.
+# Use the PREDEFINED tag if you want to use a different macro definition.
+
+EXPAND_AS_DEFINED      =
+
+# If the SKIP_FUNCTION_MACROS tag is set to YES (the default) then
+# doxygen's preprocessor will remove all function-like macros that are alone
+# on a line, have an all uppercase name, and do not end with a semicolon. Such
+# function macros are typically used for boiler-plate code, and will confuse the
+# parser if not removed.
+
+SKIP_FUNCTION_MACROS   = YES
+
+#---------------------------------------------------------------------------
+# Configuration::additions related to external references
+#---------------------------------------------------------------------------
+
+# The TAGFILES option can be used to specify one or more tagfiles.
+# Optionally an initial location of the external documentation
+# can be added for each tagfile. The format of a tag file without
+# this location is as follows:
+#   TAGFILES = file1 file2 ...
+# Adding location for the tag files is done as follows:
+#   TAGFILES = file1=loc1 "file2 = loc2" ...
+# where "loc1" and "loc2" can be relative or absolute paths or
+# URLs. If a location is present for each tag, the installdox tool
+# does not have to be run to correct the links.
+# Note that each tag file must have a unique name
+# (where the name does NOT include the path)
+# If a tag file is not located in the directory in which doxygen
+# is run, you must also specify the path to the tagfile here.
+
+TAGFILES               = doc/kernel_doc/doxy_tag=../../kernel_doc/html
+
+# When a file name is specified after GENERATE_TAGFILE, doxygen will create
+# a tag file that is based on the input files it reads.
+
+GENERATE_TAGFILE       = doc/vm_doc/doxy_tag
+
+# If the ALLEXTERNALS tag is set to YES all external classes will be listed
+# in the class index. If set to NO only the inherited external classes
+# will be listed.
+
+ALLEXTERNALS           = NO
+
+# If the EXTERNAL_GROUPS tag is set to YES all external groups will be listed
+# in the modules index. If set to NO, only the current project's groups will
+# be listed.
+
+EXTERNAL_GROUPS        = YES
+
+# The PERL_PATH should be the absolute path and name of the perl script
+# interpreter (i.e. the result of which perl').
+
+PERL_PATH              = /usr/bin/perl
+
+#---------------------------------------------------------------------------
+# Configuration options related to the dot tool
+#---------------------------------------------------------------------------
+
+# If the CLASS_DIAGRAMS tag is set to YES (the default) Doxygen will
+# generate a inheritance diagram (in HTML, RTF and LaTeX) for classes with base or
+# super classes. Setting the tag to NO turns the diagrams off. Note that this
+# option is superseded by the HAVE_DOT option below. This is only a fallback. It is
+# recommended to install and use dot, since it yields more powerful graphs.
+
+CLASS_DIAGRAMS         = YES
+
+# If set to YES, the inheritance and collaboration graphs will hide
+# inheritance and usage relations if the target is undocumented
+# or is not a class.
+
+HIDE_UNDOC_RELATIONS   = YES
+
+# If you set the HAVE_DOT tag to YES then doxygen will assume the dot tool is
+# available from the path. This tool is part of Graphviz, a graph visualization
+# toolkit from AT&T and Lucent Bell Labs. The other options in this section
+# have no effect if this option is set to NO (the default)
+
+HAVE_DOT               = NO
+
+# If the CLASS_GRAPH and HAVE_DOT tags are set to YES then doxygen
+# will generate a graph for each documented class showing the direct and
+# indirect inheritance relations. Setting this tag to YES will force the
+# the CLASS_DIAGRAMS tag to NO.
+
+CLASS_GRAPH            = YES
+
+# If the COLLABORATION_GRAPH and HAVE_DOT tags are set to YES then doxygen
+# will generate a graph for each documented class showing the direct and
+# indirect implementation dependencies (inheritance, containment, and
+# class references variables) of the class with other documented classes.
+
+COLLABORATION_GRAPH    = YES
+
+# If the UML_LOOK tag is set to YES doxygen will generate inheritance and
+# collaboration diagrams in a style similar to the OMG's Unified Modeling
+# Language.
+
+UML_LOOK               = NO
+
+# If set to YES, the inheritance and collaboration graphs will show the
+# relations between templates and their instances.
+
+TEMPLATE_RELATIONS     = NO
+
+# If the ENABLE_PREPROCESSING, SEARCH_INCLUDES, INCLUDE_GRAPH, and HAVE_DOT
+# tags are set to YES then doxygen will generate a graph for each documented
+# file showing the direct and indirect include dependencies of the file with
+# other documented files.
+
+INCLUDE_GRAPH          = YES
+
+# If the ENABLE_PREPROCESSING, SEARCH_INCLUDES, INCLUDED_BY_GRAPH, and
+# HAVE_DOT tags are set to YES then doxygen will generate a graph for each
+# documented header file showing the documented files that directly or
+# indirectly include this file.
+
+INCLUDED_BY_GRAPH      = YES
+
+# If the CALL_GRAPH and HAVE_DOT tags are set to YES then doxygen will
+# generate a call dependency graph for every global function or class method.
+# Note that enabling this option will significantly increase the time of a run.
+# So in most cases it will be better to enable call graphs for selected
+# functions only using the \callgraph command.
+
+CALL_GRAPH             = NO
+
+# If the GRAPHICAL_HIERARCHY and HAVE_DOT tags are set to YES then doxygen
+# will graphical hierarchy of all classes instead of a textual one.
+
+GRAPHICAL_HIERARCHY    = YES
+
+# The DOT_IMAGE_FORMAT tag can be used to set the image format of the images
+# generated by dot. Possible values are png, jpg, or gif
+# If left blank png will be used.
+
+DOT_IMAGE_FORMAT       = png
+
+# The tag DOT_PATH can be used to specify the path where the dot tool can be
+# found. If left blank, it is assumed the dot tool can be found on the path.
+
+DOT_PATH               =
+
+# The DOTFILE_DIRS tag can be used to specify one or more directories that
+# contain dot files that are included in the documentation (see the
+# \dotfile command).
+
+DOTFILE_DIRS           =
+
+# The MAX_DOT_GRAPH_WIDTH tag can be used to set the maximum allowed width
+# (in pixels) of the graphs generated by dot. If a graph becomes larger than
+# this value, doxygen will try to truncate the graph, so that it fits within
+# the specified constraint. Beware that most browsers cannot cope with very
+# large images.
+
+MAX_DOT_GRAPH_WIDTH    = 1024
+
+# The MAX_DOT_GRAPH_HEIGHT tag can be used to set the maximum allows height
+# (in pixels) of the graphs generated by dot. If a graph becomes larger than
+# this value, doxygen will try to truncate the graph, so that it fits within
+# the specified constraint. Beware that most browsers cannot cope with very
+# large images.
+
+MAX_DOT_GRAPH_HEIGHT   = 1024
+
+# The MAX_DOT_GRAPH_DEPTH tag can be used to set the maximum depth of the
+# graphs generated by dot. A depth value of 3 means that only nodes reachable
+# from the root by following a path via at most 3 edges will be shown. Nodes that
+# lay further from the root node will be omitted. Note that setting this option to
+# 1 or 2 may greatly reduce the computation time needed for large code bases. Also
+# note that a graph may be further truncated if the graph's image dimensions are
+# not sufficient to fit the graph (see MAX_DOT_GRAPH_WIDTH and MAX_DOT_GRAPH_HEIGHT).
+# If 0 is used for the depth value (the default), the graph is not depth-constrained.
+
+MAX_DOT_GRAPH_DEPTH    = 0
+
+# If the GENERATE_LEGEND tag is set to YES (the default) Doxygen will
+# generate a legend page explaining the meaning of the various boxes and
+# arrows in the dot generated graphs.
+
+GENERATE_LEGEND        = YES
+
+# If the DOT_CLEANUP tag is set to YES (the default) Doxygen will
+# remove the intermediate dot files that are used to generate
+# the various graphs.
+
+DOT_CLEANUP            = YES
+
+#---------------------------------------------------------------------------
+# Configuration::additions related to the search engine
+#---------------------------------------------------------------------------
+
+# The SEARCHENGINE tag specifies whether or not a search engine should be
+# used. If set to NO the values of all tags below this one will be ignored.
+
+SEARCHENGINE           = NO
+
+
+

URL: http://svn.apache.org/viewcvs/incubator/harmony/enhanced/trunk/sandbox/contribs/ibm_core/doc/vminterface/packaging.gif?rev=350181&view=auto
==============================================================================
Binary file - no diff available.

Propchange: incubator/harmony/enhanced/trunk/sandbox/contribs/ibm_core/doc/vminterface/packaging.gif
------------------------------------------------------------------------------
svn:mime-type = application/octet-stream

URL: http://svn.apache.org/viewcvs/incubator/harmony/enhanced/trunk/sandbox/contribs/ibm_core/doc/vminterface/packaging.sxd?rev=350181&view=auto
==============================================================================
Binary file - no diff available.

Propchange: incubator/harmony/enhanced/trunk/sandbox/contribs/ibm_core/doc/vminterface/packaging.sxd
------------------------------------------------------------------------------
svn:mime-type = application/octet-stream

URL: http://svn.apache.org/viewcvs/incubator/harmony/enhanced/trunk/sandbox/contribs/ibm_core/doc/vminterface/vminterface.txt?rev=350181&view=auto
==============================================================================
+++ incubator/harmony/enhanced/trunk/sandbox/contribs/ibm_core/doc/vminterface/vminterface.txt Wed Nov 30 21:29:27 2005
@@ -0,0 +1,122 @@
+# Copyright 2005 The Apache Software Foundation or its licensors, as applicable
+#
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+#
+# Unless required by applicable law or agreed to in writing, software
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+
+/**
+\mainpage
+
+<h2>Porting Structure</h2>
+
+The class libraries use a number of external components to make them portable:
+<ul>
+<li>a Virtual Machine (VM),</li>
+<li>platform porting, threading, zip support, and pooling libraries, and</li>
+<li>existing open source floating point
+compression (<a href="http://www.gzip.org/zlib/">zlib</a>) libraries.</li>
+</ul>
+The figure below shows how these components relate to one another and identifies a "VM interface" which
+is explained in the next section.
+
+\image html vmport.gif "Porting Structure"
+\image latex vmport.pdf "Porting Structure"
+
+<h2>Porting to Alternate VMs</h2>
+<br>
+The class libraries are comprised of Java code and JNI native code. One of the design
+objectives of the class libraries enables them to be ported to alternate VMs.
+To support the class libraries, the VM Vendor must implement a C interface known as
+the <a href="group__VMInterface.html">VM Interface</a> and a
+Java interface consisting of a small number of Java classes known as the
+<a href="../../kernel_doc/html/index.html#KernelJavaClasses">Kernel Java classes</a>.
+
+The Kernel classes are considered part of the VM component since the VM and these
+classes may understand each other's implementations rather than necessarily only using
+each other's external public interfaces.  The VM is responsible for providing the
+implementation of the Kernel classes, although reference implementations of parts of
+these classes are provided as a possible starting point.
+
+The C <a href="group__VMInterface.html">VM Interface</a> exposes VM entry points required by
+the class library JNI natives.
+
+\image html vminterfaces.gif "VM C and Java Interfaces"
+\image latex vminterfaces.pdf "VM C and Java Interfaces"
+
+Implementations of platform porting, threading, compression, and floating point libraries
+are provided with the class library code.  These libraries are described in the
+list of so-called <a href="modules.html">'modules'</a> generated from the source
+ code by doxygen.  A doxygen module is simply a named collection of items from the source code.
+The documented <a href="group__HarmonyNatives.html">Harmony Natives</a>,
+<a href="group__Port.html">Port</a>,
+<a href="group__ZipSupport.html">Zip Support</a>,
+and <a href="group__Pool.html">Pool</a> modules are part of the contribution.
+The <a href="http://www.gzip.org/zlib/">zlib</a> compression library,
+used by the Zip Support, and the <a href="http://www.netlib.org/fdlibm/readme">fdlibm</a>
+floating point library come from existing open source projects.
+
+So the minimum that a VM Vendor must supply is an implementation of the VM Interface
+and Kernel Java Classes.
+
+<h2>Physical Packaging</h2>
+
+The packaging of Harmony code and a VM into executable programs and DLLs is shown
+below with an indication of how these link together.
+
+\image html packaging.gif "Physical Packaging"
+\image latex packaging.pdf "Physical Packaging"
+
+ <a name = "Booting"><h2>Booting</h2>
+
+A launcher is provided that demonstrates the boot sequence for the VM and class library code.
+The sample launcher can be used by any VM that implements the class library and VM interface.
+
+The sequence is shown below:
+
+<ol>
+	<li>\ref CreatePortLib "Create the port library."</li>
+	<li>
+	\ref HarmonyNatives "Natives library" and call
+	to initialize the library. Note that the
+	\ref HarmonyNatives "VM library" will use the
+	\ref VMInterface "VM Interface".
+	</li>
+	<li>
+    The VM needs to be configured to use the boot classpath.
+	The boot classpath is a list of JAR files which contain the bootstrap Java class library code.
+	The launcher provides a command-line prepend of the kernel (VM-specific) classes to the VM
+    by specifying -Xbootclasspath/p to loads the kernel classes from the VM-specific subdirectory
+    of jre\bin.
+	The boot sequence configures the bootstrap class path in the JNI_OnLoad() function and
+    updates the "com.ibm.oti.system.class.path" system property using the
+	\ref VMInterface "VM Interface". Currently this is accomplished by reading the bootstrap
+    entries from the <i>bootclasspath.properties</i> file located in the
+	<i>jre/lib/boot</i> directory.
+    </li>
+	<li>
+	The VM should create the system ThreadGroup by calling
+	it in a private field of java.lang.Thread.
+	</li>
+	<li>
+	The VM calls a private
+	This constructor creates the "main" ThreadGroup by calling this
+	and the rest of the class library is loaded as a side effect
+	of initializing the Thread object.
+	</li>
+</ol>
+*/

URL: http://svn.apache.org/viewcvs/incubator/harmony/enhanced/trunk/sandbox/contribs/ibm_core/doc/vminterface/vminterfaces.gif?rev=350181&view=auto
==============================================================================
Binary file - no diff available.

Propchange: incubator/harmony/enhanced/trunk/sandbox/contribs/ibm_core/doc/vminterface/vminterfaces.gif
------------------------------------------------------------------------------
svn:mime-type = application/octet-stream

URL: http://svn.apache.org/viewcvs/incubator/harmony/enhanced/trunk/sandbox/contribs/ibm_core/doc/vminterface/vminterfaces.sxd?rev=350181&view=auto
==============================================================================
Binary file - no diff available.

Propchange: incubator/harmony/enhanced/trunk/sandbox/contribs/ibm_core/doc/vminterface/vminterfaces.sxd
------------------------------------------------------------------------------
svn:mime-type = application/octet-stream

URL: http://svn.apache.org/viewcvs/incubator/harmony/enhanced/trunk/sandbox/contribs/ibm_core/doc/vminterface/vmport.gif?rev=350181&view=auto
==============================================================================
Binary file - no diff available.

Propchange: incubator/harmony/enhanced/trunk/sandbox/contribs/ibm_core/doc/vminterface/vmport.gif
------------------------------------------------------------------------------
svn:mime-type = application/octet-stream

URL: http://svn.apache.org/viewcvs/incubator/harmony/enhanced/trunk/sandbox/contribs/ibm_core/doc/vminterface/vmport.sxd?rev=350181&view=auto
==============================================================================
Binary file - no diff available.

Propchange: incubator/harmony/enhanced/trunk/sandbox/contribs/ibm_core/doc/vminterface/vmport.sxd
------------------------------------------------------------------------------
svn:mime-type = application/octet-stream

==============================================================================
+++ incubator/harmony/enhanced/trunk/sandbox/contribs/ibm_core/java-src/README.txt Wed Nov 30 21:29:27 2005
@@ -0,0 +1,3 @@
+The 'java-src' directory contains Java source files and manifest files
+stored under the <class library component>/src and
+<class library component>/META-INF respectively.

URL: http://svn.apache.org/viewcvs/incubator/harmony/enhanced/trunk/sandbox/contribs/ibm_core/java-src/archive/META-INF/MANIFEST.MF?rev=350181&view=auto
==============================================================================
+++ incubator/harmony/enhanced/trunk/sandbox/contribs/ibm_core/java-src/archive/META-INF/MANIFEST.MF Wed Nov 30 21:29:27 2005
@@ -0,0 +1,15 @@
+Manifest-Version: 1.0
+Bundle-ManifestVersion: 2
+Bundle-SymbolicName: org.apache.harmony.archive
+Bundle-Version: 1.0.0
+Bundle-ClassPath: .
+Eclipse-JREBundle: true
+Export-Package: java.util.jar, java.util.zip
+Import-Package: java.lang, java.util, java.net, java.io,  java.lang.re
+ f, java.lang.reflect, java.security, java.security.cert, java.nio, ja
+ va.nio.charset, com.ibm.oti.util
+Bundle-Name: Harmony Archive
+Require-Bundle: org.apache.harmony.luni,
+ org.apache.harmony.nio,
+ org.apache.harmony.nio_char,
+ org.apache.harmony.security

URL: http://svn.apache.org/viewcvs/incubator/harmony/enhanced/trunk/sandbox/contribs/ibm_core/java-src/archive/src/java/util/jar/Attributes.java?rev=350181&view=auto
==============================================================================
+++ incubator/harmony/enhanced/trunk/sandbox/contribs/ibm_core/java-src/archive/src/java/util/jar/Attributes.java Wed Nov 30 21:29:27 2005
@@ -0,0 +1,341 @@
+/* Copyright 1998, 2005 The Apache Software Foundation or its licensors, as applicable
+ *
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * 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 java.util.jar;
+
+
+import java.util.Collection;
+import java.util.HashMap;
+import java.util.Map;
+import java.util.Set;
+
+/**
+ * The Attributes class is used to store values for Manifest entries. Attributes
+ * keys are genrerally instances of Attributes.Name. Values associated with
+ * Attributes keys are of type String.
+ */
+public class Attributes implements Cloneable, Map {
+
+	protected Map map;
+
+	public static class Name {
+		private String name;
+
+		private int hashCode;
+
+		public static final Name CLASS_PATH = new Name("Class-Path", false);
+
+		public static final Name MANIFEST_VERSION = new Name(
+				"Manifest-Version", false);
+
+		public static final Name MAIN_CLASS = new Name("Main-Class", false);
+
+		public static final Name SIGNATURE_VERSION = new Name(
+				"Signature-Version", false);
+
+		public static final Name CONTENT_TYPE = new Name("Content-Type", false);
+
+		public static final Name SEALED = new Name("Sealed", false);
+
+		public static final Name IMPLEMENTATION_TITLE = new Name(
+				"Implementation-Title", false);
+
+		public static final Name IMPLEMENTATION_VERSION = new Name(
+				"Implementation-Version", false);
+
+		public static final Name IMPLEMENTATION_VENDOR = new Name(
+				"Implementation-Vendor", false);
+
+		public static final Name SPECIFICATION_TITLE = new Name(
+				"Specification-Title", false);
+
+		public static final Name SPECIFICATION_VERSION = new Name(
+				"Specification-Version", false);
+
+		public static final Name SPECIFICATION_VENDOR = new Name(
+				"Specification-Vendor", false);
+
+		public static final Name EXTENSION_LIST = new Name("Extension-List",
+				false);
+
+		public static final Name EXTENSION_NAME = new Name("Extension-Name",
+				false);
+
+		public static final Name EXTENSION_INSTALLATION = new Name(
+				"Extension-Installation", false);
+
+		public static final Name IMPLEMENTATION_VENDOR_ID = new Name(
+				"Implementation-Vendor-Id", false);
+
+		public static final Name IMPLEMENTATION_URL = new Name(
+				"Implementation-URL", false);
+
+		public Name(String s) {
+			int i = s.length();
+			if (i == 0)
+				throw new IllegalArgumentException();
+			for (; --i >= 0;) {
+				char ch = s.charAt(i);
+				if (!((ch >= 'a' && ch <= 'z') || (ch >= 'A' && ch <= 'Z')
+						|| ch == '_' || ch == '-' || (ch >= '0' && ch <= '9')))
+					throw new IllegalArgumentException(s);
+			}
+			name = s;
+		}
+
+		Name(String s, boolean ignored) {
+			name = s;
+		}
+
+		public String toString() {
+			return name;
+		}
+
+		public boolean equals(Object an) {
+			if (an == null)
+				return false;
+			return an.getClass() == this.getClass()
+					&& name.equalsIgnoreCase(((Name) an).name);
+		}
+
+		public int hashCode() {
+			if (hashCode == 0)
+				hashCode = name.toLowerCase().hashCode();
+			return hashCode;
+		}
+	}
+
+	/**
+	 * Constructs an Attributes instance
+	 */
+	public Attributes() {
+		map = new HashMap();
+	}
+
+	/**
+	 * Constructs an Attributes instance obtaining keys and values from the
+	 * parameter Attributes, attrib
+	 *
+	 * @param attrib
+	 *            The Attributes to obtain entries from.
+	 */
+	public Attributes(Attributes attrib) {
+		map = (Map) ((HashMap) attrib.map).clone();
+	}
+
+	/**
+	 * Constructs an Attributes instance with initial capacity of size size
+	 *
+	 * @param size
+	 *            Initial size of this Attributes instance.
+	 */
+	public Attributes(int size) {
+		map = new HashMap(size);
+	}
+
+	/**
+	 * Removes all key/value pairs from this Attributes.
+	 *
+	 */
+	public void clear() {
+		map.clear();
+	}
+
+	/**
+	 * Determines whether this Attributes contains the specified key
+	 *
+	 *
+	 * @param key
+	 *            The key to search for.
+	 * @return true if the key is found, false otherwise
+	 */
+	public boolean containsKey(Object key) {
+		return map.containsKey(key);
+	}
+
+	/**
+	 * Determines whether this Attributes contains the specified value
+	 *
+	 * @param value
+	 *            The value to search for.
+	 * @return true if the value is found, false otherwise
+	 */
+	public boolean containsValue(Object value) {
+		return map.containsValue(value);
+	}
+
+	/**
+	 * Returns a set containing MapEntry's for each of the key/value pairs
+	 * contained in this Attributes.
+	 *
+	 * @return a set of MapEntry's
+	 */
+	public Set entrySet() {
+		return map.entrySet();
+	}
+
+	/**
+	 * Returns the value associated with the parameter key
+	 *
+	 * @param key
+	 *            The key to search for.
+	 * @return Object associated with key, or null if key does not exist.
+	 */
+	public Object get(Object key) {
+		return map.get(key);
+	}
+
+	/**
+	 * Determines whether this Attributes contains any keys
+	 *
+	 * @return true if one or more keys exist, false otherwise
+	 */
+	public boolean isEmpty() {
+		return map.isEmpty();
+	}
+
+	/**
+	 * Returns a Set containing all the keys found in this Attributes.
+	 *
+	 * @return a Set of all keys
+	 */
+	public Set keySet() {
+		return map.keySet();
+	}
+
+	/**
+	 * Store value value in this Attributes and associate it with key key.
+	 *
+	 * @param key
+	 *            The key to associate with value.
+	 * @param value
+	 *            The value to sotre in this Attributes
+	 * @return The value being stored
+	 *
+	 * @exception ClassCastException
+	 *                when key is not an Attributes.Name or value is not a
+	 *                String
+	 */
+	public Object put(Object key, Object value) {
+		return map.put(key, value);
+	}
+
+	/**
+	 * putAll method comment.
+	 */
+	public void putAll(Map attrib) {
+		this.map.putAll(attrib);
+	}
+
+	/**
+	 * Deletes the key/value pair with key key from this Attributes.
+	 *
+	 * @param key
+	 *            The key to remove
+	 * @return the valuse associated with the removed key, null if not present.
+	 */
+	public Object remove(Object key) {
+		return map.remove(key);
+	}
+
+	/**
+	 * Returns the number of key.value pairs associated with this Attributes.
+	 *
+	 * @return the size of this Attributes
+	 */
+	public int size() {
+		return map.size();
+	}
+
+	/**
+	 * Returns a Colletion of all the values present in this Attributes.
+	 *
+	 * @return a Collection of all values present
+	 */
+	public Collection values() {
+		return map.values();
+	}
+
+	public Object clone() {
+		Attributes clone;
+		try {
+			clone = (Attributes) super.clone();
+		} catch (CloneNotSupportedException e) {
+			return null;
+		}
+		clone.map = (Map) ((HashMap) this.map).clone();
+		return clone;
+	}
+
+	/**
+	 * Returns the hashCode of this Attributes
+	 *
+	 * @return the hashCode of this Object.
+	 */
+	public int hashCode() {
+		return map.hashCode();
+	}
+
+	/**
+	 * Determines if this Attributes and the parameter Attributes are equal. Two
+	 * Attributes instances are equal if they contain the same keys and values.
+	 *
+	 * @return true if the Attributes are equals, false otherwise
+	 */
+	public boolean equals(Object obj) {
+		if (this == obj)
+			return true;
+		if (obj instanceof Attributes)
+			return map.equals(((Attributes) obj).map);
+		return false;
+	}
+
+	/**
+	 * Returns the value associated with the parameter Attributes.Name key.
+	 *
+	 * @param name
+	 *            The key to obtain the value for.
+	 * @return the String associated with name, or null if name is not a valid
+	 *         key
+	 */
+	public String getValue(Attributes.Name name) {
+		return (String) map.get(name);
+	}
+
+	/**
+	 * Returns the String associated with the parameter name.
+	 *
+	 * @param name
+	 *            The key to obtain the value for.
+	 * @return the String associated with name, or null if name is not a valid
+	 *         key
+	 */
+	public String getValue(String name) {
+		return (String) map.get(new Attributes.Name(name));
+	}
+
+	/**
+	 * Stores value val against key name in this Attributes
+	 *
+	 * @param name
+	 *            The key to store against.
+	 * @param val
+	 *            The value to store in this Attributes
+	 * @return the Value being stored
+	 */
+	public String putValue(String name, String val) {
+		return (String) map.put(new Attributes.Name(name), val);
+	}
+}

URL: http://svn.apache.org/viewcvs/incubator/harmony/enhanced/trunk/sandbox/contribs/ibm_core/java-src/archive/src/java/util/jar/InitManifest.java?rev=350181&view=auto
==============================================================================
+++ incubator/harmony/enhanced/trunk/sandbox/contribs/ibm_core/java-src/archive/src/java/util/jar/InitManifest.java Wed Nov 30 21:29:27 2005
@@ -0,0 +1,254 @@
+/* Copyright 1998, 2005 The Apache Software Foundation or its licensors, as applicable
+ *
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * 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 java.util.jar;
+
+
+import java.io.ByteArrayOutputStream;
+import java.io.IOException;
+import java.io.InputStream;
+import java.io.UTFDataFormatException;
+import java.security.AccessController;
+import java.util.ArrayList;
+import java.util.HashMap;
+import java.util.Iterator;
+import java.util.List;
+import java.util.Map;
+
+import com.ibm.oti.util.Msg;
+import com.ibm.oti.util.PriviAction;
+import com.ibm.oti.util.Util;
+
+class InitManifest {
+	private byte[] inbuf = new byte[1024];
+
+	private int inbufCount = 0, inbufPos = 0;
+
+	private byte[] buffer = new byte[5];
+
+	private char[] charbuf = new char[0];
+
+	private ByteArrayOutputStream out = new ByteArrayOutputStream(256);
+
+	private String encoding;
+
+	private boolean usingUTF8 = true;
+
+	private Map attributeNames = new HashMap();
+
+	InitManifest(InputStream is, Attributes main, Map entries, Map chunks,
+			String verString) throws IOException {
+		encoding = (String) AccessController.doPrivileged(new PriviAction(
+		if ("".equals(encoding)) {
+			encoding = null;
+		}
+
+		Attributes current = main;
+		ArrayList list = new ArrayList();
+		Iterator it = list.iterator();
+		while (it.hasNext())
+
+		// Check for version attribute
+		if (verString != null && main.getValue(verString) == null)
+			throw new IOException(Msg.getString("K0009", verString));
+
+		list.clear();
+		byte[] chunk = null;
+		while (chunks == null ? readLines(is, list) : (chunk = nextChunk(is,
+				list)) != null) {
+			it = list.iterator();
+			String line = (String) it.next();
+			if (line.length() < 7
+					|| !line.substring(0, 5).toLowerCase().equals("name:"))
+				throw new IOException(Msg.getString("K000a"));
+			// Name: length required space char
+			String name = line.substring(6, line.length());
+			current = new Attributes(12);
+			if (chunks != null)
+				chunks.put(name, chunk);
+			entries.put(name, current);
+			while (it.hasNext())
+			list.clear();
+		}
+
+	}
+
+	private void addLine(int length, List lines) throws IOException {
+		if (encoding != null) {
+			lines.add(new String(buffer, 0, length, encoding));
+		} else {
+			if (usingUTF8) {
+				try {
+					if (charbuf.length < length)
+						charbuf = new char[length];
+							length));
+				} catch (UTFDataFormatException e) {
+					usingUTF8 = false;
+				}
+			}
+			if (!usingUTF8) {
+				if (charbuf.length < length)
+					charbuf = new char[length];
+				// If invalid UTF8, convert bytes to chars setting the upper
+				// bytes to zeros
+				int charOffset = 0;
+				int offset = 0;
+				for (int i = length; --i >= 0;) {
+					charbuf[charOffset++] = (char) ((int) buffer[offset++] & 0xff);
+				}
+			}
+		}
+	}
+
+	private byte[] nextChunk(InputStream in, List lines) throws IOException {
+		if (inbufCount == -1)
+			return null;
+		byte next;
+		int pos = 0;
+		boolean blankline = false, lastCr = false;
+		out.reset();
+		while (true) {
+			if (inbufPos == inbufCount) {
+				if ((inbufCount = in.read(inbuf)) == -1) {
+					if (out.size() == 0)
+						return null;
+					if (blankline)
+					return out.toByteArray();
+				}
+				inbufPos = 0;
+			}
+			next = inbuf[inbufPos++];
+			if (lastCr) {
+				if (next != '\n') {
+					inbufPos--;
+					next = '\r';
+				} else
+					out.write('\r');
+				lastCr = false;
+			} else if (next == '\r') {
+				lastCr = true;
+				continue;
+			}
+			if (blankline) {
+				if (next == ' ') {
+					out.write(next);
+					blankline = false;
+					continue;
+				}
+				if (next == '\n') {
+					out.write(next);
+					return out.toByteArray();
+				}
+				pos = 0;
+			} else if (next == '\n') {
+				if (out.size() == 0)
+					continue;
+				out.write(next);
+				blankline = true;
+				continue;
+			}
+			blankline = false;
+			out.write(next);
+			if (pos == buffer.length) {
+				byte[] newBuf = new byte[buffer.length * 2];
+				System.arraycopy(buffer, 0, newBuf, 0, buffer.length);
+				buffer = newBuf;
+			}
+			buffer[pos++] = next;
+		}
+	}
+
+	private boolean readLines(InputStream in, List lines) throws IOException {
+		if (inbufCount == -1)
+			return false;
+		byte next;
+		int pos = 0;
+		boolean blankline = false, lastCr = false;
+		while (true) {
+			if (inbufPos == inbufCount) {
+				if ((inbufCount = in.read(inbuf)) == -1) {
+					if (blankline)
+					return lines.size() != 0;
+				}
+				inbufPos = 0;
+			}
+			next = inbuf[inbufPos++];
+			if (lastCr) {
+				if (next != '\n') {
+					inbufPos--;
+					next = '\r';
+				}
+				lastCr = false;
+			} else if (next == '\r') {
+				lastCr = true;
+				continue;
+			}
+			if (blankline) {
+				if (next == ' ') {
+					blankline = false;
+					continue;
+				}
+				if (next == '\n')
+					return true;
+				pos = 0;
+			} else if (next == '\n') {
+				if (pos == 0 && lines.size() == 0)
+					continue;
+				blankline = true;
+				continue;
+			}
+			blankline = false;
+			if (pos == buffer.length) {
+				byte[] newBuf = new byte[buffer.length * 2];
+				System.arraycopy(buffer, 0, newBuf, 0, buffer.length);
+				buffer = newBuf;
+			}
+			buffer[pos++] = next;
+		}
+	}
+
+	/* Get the next attribute and add it */
+	private void addAttribute(String line, Attributes current)
+			throws IOException {
+		int hdrIdx = line.indexOf(':');
+		if (hdrIdx < 1)
+			throw new IOException(Msg.getString("K000b", line));
+		Attributes.Name name = (Attributes.Name) attributeNames.get(header);
+		if (name == null) {
+			try {
+			} catch (IllegalArgumentException e) {
+				throw new IOException(e.toString());
+			}
+		}
+		if (hdrIdx + 1 >= line.length() || line.charAt(hdrIdx + 1) != ' ')
+			throw new IOException(Msg.getString("K000b", line));
+		// +2 due to required SPACE char
+		current.put(name, line.substring(hdrIdx + 2, line.length()));
+	}
+}

URL: http://svn.apache.org/viewcvs/incubator/harmony/enhanced/trunk/sandbox/contribs/ibm_core/java-src/archive/src/java/util/jar/JarEntry.java?rev=350181&view=auto
==============================================================================
+++ incubator/harmony/enhanced/trunk/sandbox/contribs/ibm_core/java-src/archive/src/java/util/jar/JarEntry.java Wed Nov 30 21:29:27 2005
@@ -0,0 +1,93 @@
+/* Copyright 1998, 2005 The Apache Software Foundation or its licensors, as applicable
+ *
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * 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 java.util.jar;
+
+
+import java.io.IOException;
+import java.security.cert.Certificate;
+import java.util.zip.ZipEntry;
+
+public class JarEntry extends ZipEntry {
+	private Attributes attributes;
+
+	JarFile parentJar;
+
+	Certificate certificates[];
+
+	/**
+	 * Create a new JarEntry named name
+	 *
+	 * @param name
+	 *            The name of the new JarEntry
+	 */
+	public JarEntry(String name) {
+		super(name);
+	}
+
+	/**
+	 * Create a new JarEntry using the values obtained from entry.
+	 *
+	 * @param entry
+	 *            The ZipEntry to obtain values from.
+	 */
+	public JarEntry(ZipEntry entry) {
+		super(entry);
+	}
+
+	/**
+	 * Returns the Attributes object associated with this entry or null if none
+	 * exists.
+	 *
+	 * @return java.util.jar.Attributes Attributes for this entry
+	 * @exception java.io.IOException
+	 *                If an error occurs obtaining the Attributes
+	 */
+	public Attributes getAttributes() throws IOException {
+		if (attributes != null || parentJar == null)
+			return attributes;
+		Manifest manifest = parentJar.getManifest();
+		if (manifest == null)
+			return null;
+		return attributes = manifest.getAttributes(getName());
+	}
+
+	/**
+	 * Returns an array of Certificate Objects associated with this entry or
+	 * null if none exist.
+	 *
+	 * @return java.security.cert.Certificate[] Certificates for this entry
+	 */
+	public Certificate[] getCertificates() {
+		return certificates;
+	}
+
+	void setAttributes(Attributes attrib) {
+		attributes = attrib;
+	}
+
+	/**
+	 * Create a new JarEntry using the values obtained from je.
+	 *
+	 * @param je
+	 *            The JarEntry to obtain values from
+	 */
+	public JarEntry(JarEntry je) {
+		super(je);
+		parentJar = je.parentJar;
+		attributes = je.attributes;
+		certificates = je.certificates;
+	}
+}

URL: http://svn.apache.org/viewcvs/incubator/harmony/enhanced/trunk/sandbox/contribs/ibm_core/java-src/archive/src/java/util/jar/JarException.java?rev=350181&view=auto
==============================================================================
+++ incubator/harmony/enhanced/trunk/sandbox/contribs/ibm_core/java-src/archive/src/java/util/jar/JarException.java Wed Nov 30 21:29:27 2005
@@ -0,0 +1,45 @@
+/* Copyright 1998, 2005 The Apache Software Foundation or its licensors, as applicable
+ *
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * 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 java.util.jar;
+
+
+import java.util.zip.ZipException;
+
+/**
+ * This runtime exception is thrown when a problem occurrs while reading a JAR
+ * file.
+ *
+ */
+public class JarException extends ZipException {
+
+	/**
+	 * Constructs a new instance of this class with its walkback filled in.
+	 */
+	public JarException() {
+		super();
+	}
+
+	/**
+	 * Constructs a new instance of this class with its walkback and message
+	 * filled in.
+	 *
+	 * @param detailMessage
+	 *            String The detail message for the exception.
+	 */
+	public JarException(String detailMessage) {
+		super(detailMessage);
+	}
+}


Mime
View raw message