//
// JDK Enhancement Proposal ("JEP") template -- DRAFT 1
//
// ==> Delete all lines starting with "//" before circulating,
// posting, or submitting a proposal
//
//
// Instances of this template are meant to be evolving documents. When
// you initially draft a JEP you don't need to fill out every section of
// the template, and in fact at that point you probably won't be able to
// do so. As you get feedback and build consensus around your proposal
// you'll revise the JEP accordingly. If your JEP is accepted and funded
// then you'll continue to revise it as the work progresses so that, once
// it's complete, the JEP can serve as an authoritative record of what
// was actually done.
//
// An instance of this template describes what is being proposed, and
// why. It does not include project-management information such as
// detailed completion estimates, task lists, integration requirements,
// etc.; that type of information will be managed separately.
//
//
// HEADER
// ------
//
// These lines must be at the very top of the file, with no blank lines
// until the line after the last header item. Some items are REQUIRED;
// all others are optional.
//
//
// Short descriptive title of the proposal -- REQUIRED
//
Title: Pluggable API for dynamic service-oriented buzzword compliance
//
// Author's full name (no e-mail address) -- REQUIRED
//
Author: Pierre Chang
//
// Employer or affiliated organization, if any
//
Organization: Dharma Initiative
//
// Owner's full name (no e-mail address) -- REQUIRED, if the person now
// responsible for this JEP is not the Author
//
Owner: Stuart Radzinsky
//
// Date initially created -- REQUIRED, in YYYY/MM/DD format
//
Date: 2004/8/15
//
// Process state -- REQUIRED, one of:
// Draft, Posted, Submitted, Accepted, Funded, Completed,
// Withdrawn, or Rejected
//
State: Draft
//
// Exposure -- REQUIRED, either "Open" or "Closed"
//
Exposure: Open
//
// Type of proposal -- REQUIRED, one of:
// Feature -- A feature intended eventually for a JDK Release Project
// Research -- A research effort rather than a product deliverable
// Infrastructure -- A proposal to provide or enhance infrastructure
// Process -- A proposal to define or revise a development process
//
Type: Feature
//
// Component affected, REQUIRED for Feature JEPs
//
// We use two-part identifiers of the form /.
//
// The areas are: vm, core, client, web
//
// The components depend upon the areas, as follows:
//
// vm: comp, gc, rt, svc
// core: lang, libs, i18n, net, sec, svc
// client: gui, sound
// web: jaxp, jaxb, jaxws, corba
//
// A proposal for a new garbage collector, e.g., would go in "vm/gc",
// while one for a new networking protocol would go in "core/net".
//
// Use "--" for the component name if more than one component in an area
// is significantly affected, or if some component not listed here is
// affected.
//
// Use "--/--" for the value of this header if more than one area is
// affected, e.g., for a proposal to restructure the build process.
//
Component: core/libs
//
// Scope of the proposal -- REQUIRED only for Feature JEPs, one of:
// SE -- Java SE APIs or other interfaces modified or extended;
// might also include changes to JDK-specific APIs or interfaces
// JDK -- JDK-specific APIs or other interfaces modified or extended
// Impl -- No supported APIs or interfaces are affected
//
Scope: JDK
//
// If this JEP will have a JSR then include this line and insert its
// number. If this JEP is expected to have a JSR but is not yet approved
// as such in the JCP then write "TBD" for the number. If this JEP will
// be part of a Maintenance Review of an existing JSR then insert its
// number followed by "MR", e.g., "JSR: 221 MR". Do not include this
// line if this JEP describes a small enhancement that will be covered
// by a Platform Umbrella JSR.
//
JSR: 999
//
// List the primary bugs.sun.com RFE associated with this JEP, if any,
// on this line. Additional related RFEs may be listed in parentheses,
// separated by commas.
//
RFE: 4040458 (2718281, 3141354)
//
// References to organization-internal documents, of the form
// :
//
Internal-refs: Yoyodyne:554983, Oracle:A360:654321
//
// Mailing list for discussion of this JEP -- REQUIRED
//
Discussion: buzz-dev@openjdk.java.net
//
// Suggested start date, in the format /Q
//
Start: 2012/Q3
//
// Other JEPs upon which this JEP depends, either draft names or JEP
// numbers
//
Depends: 4815, 1623
//
// Other JEPs that depend upon this JEP, either draft names or JEP
// numbers
//
Blocks: 4200
//
// Rough effort estimate, one of:
// XS -- Less than one developer-month (20 working days)
// S -- Less than three dev-months
// M -- Less than six dev-months
// L -- Less than one dev-year
// XL -- More than one dev-year
//
Effort: XS
//
// Rough duration estimate, one of:
// XS -- Less than one month (calendar)
// S -- Less than three months
// M -- Less than six months
// L -- Less than one year
// XL -- More than one year
//
// The duration reflects the calendar time needed to complete the
// proposed work. It can be more or less than the effort estimate.
//
Duration: S
//
// Version of the template used to create this proposal -- REQUIRED
//
Template: 0.1
//
// Full names of the reviewers of this proposal, comma-separated
//
Reviewed-by: Mikhail Bakunin, Miles Straum
//
// Full names of the Group and Area Leads who endorse this proposal
//
Endorsed-by: James LaFleur, Horace Goodspeed
//
// Names of the organizations and/or individuals who commit to doing all
// of the work necessary to implement this proposal, including not just
// development but QA and TCK test development, and documentation
//
Funded-by: Yoyodyne Inc.
//
//
// PROPOSAL BODY
// -------------
//
// The body of the proposal itself uses the Markdown markup language
// (http://daringfireball.net/projects/markdown/basics). It must be
// separated from the header by at least one blank line.
//
// All sections are optional except those marked REQUIRED. Please keep
// sections in the order shown below. Please use lines of dashes under
// section titles rather than "##"-style prefixes, which are less
// readable.
//
Summary
-------
// REQUIRED -- Provide a one-paragraph summary of the proposal, no more
// than a few sentences. This summary will be rolled up into feature
// lists and other documents, so please take the time to make it short
// and sweet.
Goals
-----
// What are the goals of this proposal? Omit this section if you have
// nothing to say beyond what's already in the summary.
Non-Goals
---------
// Describe any goals you wish to identify specifically as being out of
// scope for this proposal.
Success Metrics
---------------
// If the success of this work can be gauged by specific numerical
// metrics and associated goals then describe them here.
Motivation
----------
// Why should this work be done? What are its benefits? Who's asking
// for it? How does it compare to the competition, if any?
Description
-----------
// REQUIRED -- Describe the enhancement in detail: Both what it is and,
// to the extent understood, how you intend to implement it. Summarize,
// at a high level, all of the interfaces you expect to modify or extend,
// including Java APIs, command-line switches, library/JVM interfaces,
// and file formats. Explain how failures in applications using this
// enhancement will be diagnosed, both during development and in
// production. Describe any open design issues.
//
// This section will evolve over time as the work progresses, ultimately
// becoming the authoritative high-level description of the end result.
// Include hyperlinks to additional documents as required.
Alternatives
------------
// Did you consider any alternative approaches or technologies? If so
// then please describe them here and explain why they were not chosen.
Risks and Assumptions
---------------------
// Describe any risks or assumptions that must be considered along with
// this proposal. Could any plausible events derail this work, or even
// render it unnecessary?
Dependences
-----------
// Describe all dependences that this JEP has on other JEPs, components,
// products, or anything else. Dependences upon other JEPs should also
// be listed in the "Depends:" header at the top of the file.
//
// Describe any JEPs that depend upon this JEP, and likewise make sure
// they are listed in the "Blocks:" header at the top of this file.
Impact
------
// How will this work impact other parts of the platform, the product,
// and the contributors working on them? Omit any irrelevant items.
- JCP: ...
- Other JDK components: ...
- Compatibility: ...
- Security: ...
- Portability: ...
- User Interface: ...
- Documentation: ...
- Internationalization: ...
- Localization: ...
- Legal: ...
- Other: ...
Testing
-------
// What kinds of test development and execution will be required in order
// to validate this enhancement, beyond the usual mandatory unit tests?
// Be sure to list any special platform or hardware requirements.