2011. június 29., szerda

Eclipse Indigo New and Noteworthy

Hogy én mennyit kerestem:

http://download.eclipse.org/eclipse/downloads/drops/R-3.7-201106131736/eclipse-news-part2.html

Mert a honlapon minden kint van, csak ez nem?!

2011. június 26., vasárnap

Dungeon Siege 3

(IGN: 6.5; Metacritic: 73)

A szép emlékű Dungeon Siege legutóbbi része a jómunkásember Obsidian gyártásában. A második rész mélysége és hossza után ez az epizód kicsit sekélyesre sikerült. Látszik a kialakításából, hogy legalább négyszeri végigjátszásra tervezték. Sajnos a megvásárlást követő héten egyáltalán nem működtek a Steam Achievementek,  így az első 22 szintért bizony semmit sem kaptam. Újra végigkalandozni, akár egy másik karakterrel jelenleg nincs kedvem.

Katerinával kezdtem, mert megtetszett a puskája. A játék végére sikerült kb 300 DPS-ig feltornászni, de mivel a szörnyek velünk együtt emelkednek, annyira nem volt plusz előny.

Kialakításában enyhe Titan Quest és Space Siege érzés kerített hatalmába. Az átjárókról szóló rész kicsit Half Life szerű: "swing around the borderlands". A Mass Effect-es szövegkerék vicces, de semmi hatása nincsen a szöveg helyzetének. Van általában egy nyilvánvaló pozitív, egy nyilvánvaló negatív és egy köztes megoldás. Szerencsére egy single típusban tárolja az életerőt, így a memória szerkesztővel kényelmesen beállíthattam a szintentartást.

A játékmechanika rendben van, bár a nyerő stratégia lényegében a folyamatos szóköz+bal gomb alapú kitérések, mivel az ellenfél főleg minket támad. Anjali ilyenkor kényelmesen megsütötte a többieket. Sajnos ez a kitérés ugyanattól a problémától szenved, mint a Space Siege, mivel a kitérés irányába kell kattintani, és persze utána vissza kell találni a támadó irányába, valószínűleg a képernyő további forgatásával; ami idő. A legerősebb Boss-ok ellen kicsit irritáló volt. Eltévedni nem nagyon lehet, mert eléggé lineáris az út, és alig akad "menj a térkép túlsó felére és gyere vissza" típusú küldetés van.

A grafika rendben van, a zene semmi különleges. Szerencsére minden beszélgetés alá van mondva. Sajnos nem egy Mass Effect szintű átélés, de tűrhető. Kb. 18 óra játékidő.

Összességében jól sikerült játék, nálam 75%. A Steam-en elővételben szereztem meg, mert ajándékba adták az első két részt; érdemes boltban megvenni.

2011. június 16., csütörtök

Duke Nukem Forever

(IGN: 5.5, Metacritic: 58)

Megértem. Modern köntösbe bújtatott, vegyesen friss és régi játékélmény.

Egyfelől a 15 évnyi fejlesztés irgalmatlan magasságokba emelte az elvárásokat (ami szerintem az egyik ok arra, hogy miért nincs még Half Life 2.3 vagy 3.0), másfelől a játékok általában 2-3 évvel le vannak maradva a csúcstechnológiák mögött (lásd Unreal 2.5).

Kb. 12 órányi játékidő után ugyanazt a vegyes, frusztrációval terhelt érzést tapasztalom, mint megannyi közepes játéknál. 20 perces bóklászások és 20 ugyanott-elhalálozás után kellemetlenné válik a játék.

A grafikában semmi kivetni valót nem találtam. A játékmechanika rendben van, bár a két fegyveres megoldás már konzol átoknak hat. A probléma inkább a pályatervezéssel van. Látszik is az Extrák közötti időtengelyen, hogy az egyjátékos módot bizony már 2009-ben lezárták. A Gearbox ezek szerint a motort és a multit reszelgette.

A hangok és a beszólások elfogadhatóak, és néha kellemes emlékeket hozott fel a sok-sok Borderlands-jellegű zenehatás.

Összességében szerencse, hogy boltban vettem meg. Inkább leárazás során ajánlom, és főleg csak rajongóknak. Felejtős. Nálam ez bizony 50%.

2011. március 26., szombat

Crysis 2

(IGN: 90%, Metacritic 88%)

Kb. 12 óra játékidő után végre ismét elégedett vagyok: megérte megvenni, és megéri még egyszer végigjátszani.

Bár PCs játék, és a fejlesztése 3 platformon egyszerre zajlott, hála a már annyiszor látott fejlesztő eszközüknek, mégis sokan túlzott konzol beütésre panaszkodnak. Mivel én amúgy sem vagyok nagy konfigurálgató, nálam a beállítási lehetőségek elegendőek voltak.

A 250GTS-emen High beállítással teljesen élvezhető és játszható volt, annak ellenére, hogy a C2D 6600 2.4GHz ma már nagyon kevés. A textúrák rendben voltak, (bár mivel manapság csak az tűnik fel, ha valahol spóroltak) lassulást csak akkor tapasztaltam, ha hirtelen fordultam.

Az irányítás jó volt, bár egy kicsit az elején szokatlannak hatott az Assassin's Creed Brotherhood lomhasága után, de később kellemesen osztogattam a kapáslövéseket.

A történet jó, bár gyakran néz az ember, hogy WTF? Ez nem lett megmagyarázva! Sebaj, majd a kiegészítőkben és pályacsomagokban hátha.

Az új ruha(funkciók) is sokkal értelmesebbek, bár az elején még a régi rendszert vártam. Az erő és sebesség összevonása jó húzás volt, és tényleg a használathoz illően lehet aktiválni futással vagy ugrással. Az WASD-hez szokott kezemnek jól jött, hogy a Q, E és Shift kellett a különféle módok aktiválásához. A healthbar viszont kikerült, és helyét az 'Oh! Bloody screen!' vette át. Az armor mód már nem alapértelmezett, cserébe kikapcsolva is többet elbír, mint az első részben. Bekapcsolva pedig kellemesen ellenálló: sokkal jobb, mint az első részben, ahol is három találatnál már lement nullára, és utána a puszta testeddel védekeztél.

A fegyverek talán egy picit egysíkúak: van ugyan a SCAR, de nem lehet annyira konfigurálni, mint az első részben, ehelyett több variánsra bontották. Pl. az egyik alá lehet taktikai kiegészítőt rakni, a másikra meg nem, helyette lehet mesterlövész távcsövet használni.

Nagy előrelépésnek tartom, hogy végre a mesterlövész puskára is lehet hangtompítót szerelni! Sajnos többször előfordult, hogy kifutottam a lőszerből, s ilyenkor vicces-armor módon rohangásztam ide-oda, és melee-ztem az ellent. A fent említett konfigurációs korlátok miatt gyakran nem is érdemes elvenni a fegyvert az ellentől, mert nem szívesen adja fel az ember a scope-os SCAR-ját. További pozitívum, hogy a 50 kaliberes géppuskát le lehet akasztani, és cipelgetni ide-oda. Jó móka! Sajnos a használata ütközik néhány játékfunkcióval, mivel az F megnyomására eldobja, s csak ezután lehet aktiválni dolgokat, illetve a látványra figyelni; pl. a lift indításához kellett eldobnom, de ilyenkor nagyon ügyesen átdobta a lift oldalfalán, nehogy utána fel tudjam ismét venni.

A zene nem olyan különleges, az első rész 'Village driving' hangulatát nemigen hozza. A hangok rendben vannak, bár néha volt tumultus, és ilyenkor pl. a saját fegyverem hangja nem is hallatszott. Az NPC-k hangja átlagos, talán gyengébb az első részhez képest. A Crysis 2 egyfajta fordított Dragon Age 2. Míg utóbbiban a főhős a második részre beszédes lett, addig a Crysis 2-ben épp fordítva: a nagydumás Nomad helyett a kuka Alcatrazt kapjuk. Gondolom, a történetvezetés mellékhatása, mert (spoiler!) az első 3-4 pályán még azt hiszik, hogy Prophet van a ruci alatt. Ejnye-ejnye.

Ami kicsit bosszantó, az a világpremier hiánya. Hétfőn vettem meg, de a másolásvédelem csütörtök estéig nem engedett játszani, akárcsak a DA2, Bulletstorm, stb. Nem hiszek azoknak a kifogásoknak, hogy a polcokra kell érnie a DVD-nek, hiszen az elektronikus letöltésnél nincs ilyen fizikai-logisztikai akadály! Vagy az amcsik nem hajlandók várni? És még mi, Európában jól jártunk, mert pl. Ausztráliában akár egy hónap is eltelhet a megjelenéstől!

Összkép: 85%. Alapos iparosmunka. Várjuk a DLC-ket.

2011. március 15., kedd

Battle: Los Angeles

Megnéztem, kijátszottam.

A film

A film maga viszonylag középszerű volt. Az idegenek ennyire nem tudnak célozni?! A vicces az volt, amikor a tudós bejelentette: "ezek az erőforrásaink miatt jöttek, ki akarnak irtani" - mire én: "ja, akárcsak az amcsik, ha olajról van szó". Földönkívüli terrorizmus és idegengyűlölet. Uploading virus. Ha ha ha ha.

Sajnos a haditechnika felvonultatástól sem voltam elragadtatva, egy COD:MW2 szintű hadviselés UAV-kkal, AC130-Gunshippel, Javelinnel, SCAR-ral. De legalább az az egyetlen Striker harcjármű lett volna felszerelve Quick-kill vagy Throphy-szerű aktív védelemmel. Gondolom, ezeknek a CGI-jeire nem tellett. De legalább nem annyira vicces, mint a Skyline, amit így lehetne összefoglalni: "Ha a pilóta nélküli gépek elbuknak, küldd be a tengerészgyalogosokat."

Másik érdekes dolog Michelle Rodriguez felbukkanása. Úgy néz ki, ő lett az egyik standard női katona/zsoldos/rendőr mostanában.

Értékelés: 55%. Tucat sci-fi elcsépelt élien-támadással, semmi érdemleges felhozatal.

A játék

Hozzá vettem a játékot. Igazi 1C gyártmány, de ők mostanában azért egyre jobb és jobb FPS-eket készítenek. Jó volt látni a legtöbb filmbeli helyszínt.

Az irányítás tipikusan lomhának mondanám. A szélesvásznú nézet zavart, a lassú célra vétel, valamint a pár másodperces sprintelés picit kellemetlen. Ennyit bír egy kiképzett baka?

A játék leírásban "minden modern amerikai fegyver"-t emlegetnek; hát volt a standard M4-szerű géppisztoly, AT-4 és 50-es kaliber. Ja és valami mesterlövész puska 5 tölténnyel és kézi töltővel - ami élvezetes be-és-kizoomolást csinált. Hol van az a jó kis Berrett M82? Nem tellett rá.

A helyszínek viszont szépek voltak, s a szkriptelt robbantások és összedőlések is hihetőre sikerültek. Úgy érzem, jó motort tettek alá, és sokkal-sokkal többet is ki lehetett volna hozni az adottságaiból. De legalább is hosszabb játékmenetet.

2011. március 12., szombat

Dragon Age 2

(Metacritic: 84)

Végre egy jó RPG játék. Bár annyira nem volt EPIC, mint vártam. A történet jó, az arc animációk még mindig késnek 0.1 másodpercet. Lássunk egy kis összefoglaló listát.

Negatívumok:
- Rengeteg ismétlődő alapterületű helyszín
- Játék alatt nem elérhető az Achievements
- Az Inventory, Character, Journal és Map között nincs átjárás gomb
- A gyűjtögetős küldetésekben nehéz követni a darabszámot
- A signature edition DLC-ket nem telepítette automatikusan, kézzel kellett letölteni
- Néha nem jelentkezett be az EA accountba

Semleges:
o Az a rengeteg motion capture visszaköszön a Mass Effect 2-ből
o Úgy viszonyul a DA2 a DA:O-hoz mint a Fallout: New Vegas a Fallout 3-hoz
o Most sincs elég pénz

Pozitívum:
+ könnyű megtalálni a küldetések célpontjait
+ szép grafika
+ válasz-kerék kényelmes
+ jó történet
+ a hős végre beszél!

Ár/érték arányban egy remek vétel, még a Signature Edition is. Főleg, hogy a CD Galaxisban ajándék 1600 Bioware pontot is adtak, legalább lesz mit elkölteni a közelgő Mass Effect 2 DLC-re.

Az irányítás rendben van, bár a TAB+W+Jobb egérgomb nálam végig nyomva volt, mivel szinte állandóan 'FPS' módban mászkáltam. Így kényelmesebb körbenézni, mint forogni az A és D billentyűkkel. Talán a következő részben lehetne ez alapbeállítás. Ja és a TAB pedig kijelöli a használható tárgyakat, kár hogy nem lehet állandóra bekapcsolni.

Mivel friss, ezért elég nehéz információt találni a játékról. A Dragon Age Wikia e sorok írásakor még igencsak hiányos. Van néhány egyszerűbb végigjátszás, de kellően részletes nincs.

A játék meglepően jó minőségű, csak három bugos küldetéssel találkoztam, szerencsére nem jelentősek (a New Vegasban a 2. patch-ig kb 30 db ilyen volt). Általában nem záródik le a küldetés vagy ottmarad az illetőn a nyilacska.

Mivel Mass Effect-es beszédgyűrű van, általában a felső "Paragon" válaszokat használtam. Látok némi esélyt arra, hogy pár hónapon belül végigjátszom újra, ezúttal "Renegade" módban - amint egy valamire való DLC kijön hozzá. A beszédgyűrű ikonok jók, de a könyvecske elolvasása nélkül nem mindig világos. Az eleje felé igazán kiírhatták volna a játékon belül is szövegesen, mit is jelent.

Hiányoltam a fegyverváltás lehetőségét. Rogue karakterként jó lett volna néha váltani az íj és a dupla tőr között, főleg hogy igen ütős tőröket kap gyakran az ember. Sajnos fegyvereket nem lehet az alsó sávra húzni, vagy legalább is nekem nem sikerült.

Kirkwall annyira nem unalmas, mint az egyes értékelések említik, bár az egy kicsit zavaró volt, hogy egy-egy régióba való érkezésnél szinte tuti, hogy a célterülettől legtávolabb eső bejáratnál tesz le - igazán lehetett volna egy kapuválasztó is a térképen. Üdvözletes, és egyúttal vicces, hogy a küldetés lezárása után mindig van egy kijárat kéznél - akár jöhettünk volna arra is - nincs backgracking.

Hogy mennyire is volt EPIC, kb. annyira, mint a Modern Warfare 2 után a Black Ops. 30-35 óra játékidő van benne, bár egész biztos nem találtam meg az összes mellékküldetést. Az elérhető achievementek kb 70%-át szereztem meg. Én a következő Bioware játékban bevezném az Önmegtartóztató achievementet: úgy végigvinni a játékot, hogy semmilyen flört vagy románc nem volt benne :)

Összkép: 84%. Csak nehogy a Witcher 2 lekörözze. Azaz hogy az nekünk, játékosoknak csak jó nem?

2011. március 10., csütörtök

Web service Co- and Contravariance

Working on the ADVANCE Flow Engine for the ADVANCE 7th Framework EU project we came across the need to have type comparison between XML schemas.

One reason is to allow the user to wire different but co- and contravariant input and output types instead of the classic type invariant approach. This co- and contravariance is a common property of most modern programming languages (e.g., Java 5+, C# 4.0+). Because the blocks communicate via XML, and the type of XML is described via XSD, we need a way to compare two XSDs: are they equal? Does A.XSD extend B.XSD?

The second reason is that we need to communicate with external web services and ourselves need to provide web service entry points. Having a co- and contravariant type defined instead of a classical fixed XSD should be a benefitial in the long term.

Therfore, our small group at SZTAKI has figured out a way to think about and compare types described in XSD. See a prototype implementation at the SourceForge site of the ADVANCE project.

I'll try to describe the idea for the schema comparison. Note that XSD has some support for restrictions and extensions on complexContent elements, but our approach does not rely on this kind of functionality, as many XSD type definitions are somewhat independently written. Our approach is based on the actual element-attribute-content structure of the schemas to be compared.

Relations

In order to compare two things, we need a comparison method which may return the following results (see XRelation enum):
  • NONE: the two things are not related
  • EQUAL: the two things are the same
  • EXTENDS: the first thing extends the second thing
  • SUPER: the first thing is a super(class) of the second thing, or in other direction, the second thing extends the first thing (opposite as EXTENDS).

We will use these cases and count them at various levels to decide if a complicated type or capability (described later) corresponds to which relation after all.

Type is a set of Capabilities

The first abstraction we take is that we define an XML type (XType class) as a set of capabilities (XCapability class).

We should think about the XML elements, attributes and sometimes the content as a capabilities. This way, an element's type is the set of its attributes, child elements and content.

Capabilities

Capabilities, like fields in a Java class can have name and a type, where type can be a simple type (int, string, etc.) or another complex type (and type are just a set of capabilities).

In addition, XML has the notion for cardinality, e.g. an element may occur in several forms (zero or once, once, zero or many times, once or many times, zero times), which property is also appended to the capability. Therefore, each capability is potentially a List of a simple or complex type: a monad (?!).

XSD to XType

The XSchema utility class features a simple XSD parser which turns the schema into an object graph of XType and XCapability objects. Of course, the XSD definition is very complicated and we are sure the simple parser does not cover all of its aspects in terms of where and how things can be described in XSD (in place, as a global type, a type among the node parents, etc.). Our parser currently expects schemas which descibe such XMLs, where an element may have attributes, a string-like content XOR other elements (e.g., mixed content is not handled).

Such XSD may be as follows:
<xs:schema xmlns:xs='http://www.w3.org/2001/XMLSchema'>
<xs:element name="class1">
<xs:complexType>
<xs:sequence>
<xs:element name="field1" type="xs:string"/>
<xs:element name="field2" type="xs:string"/>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:schema>
Comparing types

We can define the type comparisons as basically a set theoretic contains-relation (with some special cases).

Type A extends Type B if
  • Type B's capabilities are all present within in Type A's capabilities and
  • each of those capability pairs, CA and CB, CA extends CB
If any of the capabilities has a SUPER relation, the two types are automatically considered not-correlated.

The super direction is just the test for Type B extends Type A.

The XType.compareTo(XType) method returns the relations above.

Comparing capabilities

How can we compare capabilities against each other? How do we now a capability CA is present in Type B?

The simplistic approach to compare the names of the capabilities (like field names), then compare their simple or complex types (recursively).

However, sometimes what we would think as capabilities are named differently in different locations: Just look at Java's size naming: array.length, String.length(), Collection.size(), getLength(), getSize(), size(), count() etc.

We can somewhat solve this problem by introducing aliases. If you look at the XName class, you'll find a name and a set of Strings which may be other aliases for the very same capability. If you are writing one of the XSDs, you may attach an <annotation> tag with a custom content which lists these aliases:

<element name='size' type='int'>
<annotation><advance:capability-aliases
xmlns:advance='http://www.advance-project.eu/schemas/xmltypesystem'>
length, count</advance:capability-aliases></annotation>
</element>
(As of writing this post, the XSchema parser does not look for such kind of additional data.)

However, the second problem rising is that capabilities named the same actually mean a different thing. Therefore, a secondary type dimension is attached to the XName construct dubbed Semantic Token (represented by an XSemantics class and a similar extra annotation).

Even if two names look like the same, their associated semantics might be incompatible, or one's semantics is actually an extension to the other's. Using the same comparison mechanism for types, capabilities and naming, this kind of extra information should help to determine the relations.

Of course, if your XSD types name similar things similarly, you don't need these optional annotations.

XSchema parser and test program

The XSD parser and test program XSchema gives a simple sample how to use this new XML-based type system.

The example has two types, where type2.xsd has an extra field defined for its class1 element.

Root element trouble

You may recognize, that the parser returns a type, which is basically a virtual outer type, which has a single capability named as the root node and describing its complex type.

This may be problematic in cases where the root node can be named as anything, and only ITS content should matter when comparing.

I think there is no problem, because you may start the A.compareTo(B) at this single capability's complexType node:

A.capabilities.get(0).complexType.compareTo(B.capabilities.get(0).complexType)

The second smaller issue is with a root element which is only a simple type. In this case, you need to compare the valueType fields of the first capabilities.

We may later on specify convenience methods to do these things.

Is this type-thingy new?

We hope so.

We applied the category theoretic approaches of duality and monads to develop this solution, which approaches themselves descend from last century mathematics and are used in programming language type systems.

Our opinion is that yes, this is can be considered as (computer) scientifically new.

But you might know better...

Böngésző teljesítmény összehasonlítás

Na nézzük, hogy is állnak a böngészők. Tesztkonfiguráció: Core i7 2.6GHz, 4 GB 1333MHz DDR3, Windows 7 x86.

BöngészőSunspider (kisebb a jobb)V8 (nagyobb a jobb)HTML5 Speed Reading (kisebb a jobb)Kraken (kisebb a jobb)
Chrome 11.0.696.0251ms875718s6650ms
Firefox RC1247ms4161378s6162ms
Explorer 9 RC1212ms26817s13884ms


Úgy tűnik, a Chrome kicsit le van maradva JavaScript szinten a többiektől, de grafikailag egész megközelítette az IE9-et.

2011. március 2., szerda

Android Development, pitfalls so far

The Android platform is now the fancy development target for Java programmers. Therefore, I started to learn it and as expected, I fell right into some of its pitfalls. Things that should nicely work according to the various tutorials, but there are things that you will only get working after searching through dozens of forums and forum mirrors.

For fun, I tried to move some of the bits of my Open Imperium Galactica project and spent hours to resolve the most simplistic problems.

So lets see the problems step by step.

Device size limits

By default, most pre 2.2 applications are limited to 24MB of application size. In reality, you'll start to get error messages after 12MB. After 2.2, you can specify your application is willing to run from the device's SD card:

Set android:installLocation="preferExternal" in AndroidManifest.xml

(see this, this).

You can create a custom device with more Java heap and you can set a debug option in Eclipse for the emulator: -partition-size 1024

Assets vs Res

The main difference is that for things in res/ directory, you get a special class R where you can easily reference them by name in your code. Most utility classes can use this kind of referencing. However, you have more freedom with the assets/ directory contents.

The trouble with both directories is that the package builder can take extremely long time to build your project. Autobuild can cause headaches too after a simple save.

One option is to simply remove the file extension from the resource files. But this may get you into trouble with the MediaPlayer.

The second trouble is with the assets directory itself. It seems that
referencing resources in this directory does not work. The workaround is to place the resources under a subdirectory of assets: assets/media and reference them via media/sound1.wav.

MediaPlayer with assets

There are several caveats with the MediaPlayer.

First, media player takes the media format primarily from the file name. If you renamed your resources, you are have to rename them back.

The second thing is that you need to pass in the start and size of the referenced asset along with its FileDescriptor:


AssetFileDescriptor afd = getAssets().openFD("media/sound1.wav");
MediaPlayer mp = new MediaPlayer();

mp.setDataSource(afd.getFileDescriptor(), afd.getStartOffset(), afd.getLength());

mp.prepare();
mp.start();


Rendering Open-IG videos fast

Next time, once I figure out how to speed up, I will talk about how to render a series of bitmaps.

2011. február 21., hétfő

Mi az újdonság a Java 7 táján

A legfájóbb hiányosság, hogy szinte alig találni friss információkat arról, hogy a Június 28-án véglegesedő Java 7 pontosan mit is fog tartalmazni, illetve hogy is kell használni majd. Sajnos a források többsége 2008-2009 tájára datálódnak, és bizony igencsak idejétmúltak.

A legjobb forrás maga a JDK 7 mellé járó forráskód (src.zip), amiből az alábbi kis program segítségével kideríthető az új, azaz @since 1.7 jelzésű osztályok és metódusok:

/*
* Copyright 2011 David Karnok
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* 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 hu.akarnokd.tools;

import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.FileWriter;
import java.io.InputStreamReader;
import java.io.PrintWriter;
import java.util.ArrayList;
import java.util.Collections;
import java.util.Comparator;
import java.util.Enumeration;
import java.util.List;
import java.util.zip.ZipEntry;
import java.util.zip.ZipFile;

/**
* Utility class to look for new things specified by "since xxx" in Java sources.
* @author karnokd, 2011.02.21.
*/
public final class WhatsNew {
/** Utility class. */
private WhatsNew() { }
/** The output. */
static PrintWriter out;
/**
* @param args no arguments
* @throws Exception ignored
*/
public static void main(String[] args) throws Exception {
out = new PrintWriter(new BufferedWriter(new FileWriter("whatsnew_java7.txt")));
try {
ZipFile zip = new ZipFile("c:\\Program Files\\Java\\jdk1.7.0\\src.zip");
Enumeration<? extends ZipEntry> zes1 = zip.entries();

List<ZipEntry> zes = new ArrayList<ZipEntry>();
while (zes1.hasMoreElements()) {
ZipEntry ze = zes1.nextElement();
zes.add(ze);
}
Collections.sort(zes, new Comparator<ZipEntry>() {
@Override
public int compare(ZipEntry o1, ZipEntry o2) {
return o1.getName().compareTo(o2.getName());
}
});
for (ZipEntry ze : zes) {
if (ze.getName().toLowerCase().endsWith(".java") && !ze.getName().startsWith("com/sun")) {
BufferedReader bin = new BufferedReader(new InputStreamReader(zip.getInputStream(ze)));
try {
StringBuilder b = new StringBuilder();
for (;;) {
String line = bin.readLine();
if (line == null) {
break;
}
b.append(line).append("\n");
}
parse(ze.getName(), b.toString());
} finally {
bin.close();
}
}
}
} finally {
out.close();
}
}
/**
* Look for the since tag in the file, then locate the subsequent method specification.
* @param name the full class name
* @param java the java file
*/
static void parse(String name, String java) {
boolean first = true;
int idx = 0;
outer:
for (;;) {
int newIdx = java.indexOf("@since", idx);
if (newIdx < 0) {
break;
}
int lineEnd = java.indexOf('\n', newIdx);
if (lineEnd < 0) {
break;
}
String version = java.substring(newIdx + 6, lineEnd).trim();
if (!version.contains("1.7")) {
idx = newIdx + 6;
continue;
}
if (first) {
String n = String.format("%n--------------------------------%n%s%n", name.replaceAll("\\.java", ""));
System.out.print(n);
out.print(n);
first = false;
}

int commentEnd = java.indexOf("*/", newIdx + 6);
if (commentEnd < 0) {
idx = newIdx + 6;
continue;
}
int bodyStart = java.indexOf("{", commentEnd + 2);
int bodyStart2 = java.indexOf(";", commentEnd + 2);
if (bodyStart < 0 && bodyStart2 < 0) {
idx = newIdx + 6;
continue;
}
bodyStart = bodyStart < 0 ? bodyStart2 : (bodyStart2 < 0 ? bodyStart : Math.min(bodyStart, bodyStart2));

String declaration = java.substring(commentEnd + 2, bodyStart)
.replace('\n', ' ').replaceAll("\\s+", " ").trim();

while (declaration.matches("@.+\\s*\\(\\s*")) {
bodyStart = java.indexOf("{", bodyStart + declaration.length());
bodyStart2 = java.indexOf(";", bodyStart + declaration.length());
if (bodyStart < 0 && bodyStart2 < 0) {
idx = newIdx + 6;
continue outer;
}
bodyStart = bodyStart < 0 ? bodyStart2 : (bodyStart2 < 0 ? bodyStart : Math.min(bodyStart, bodyStart2));
declaration = java.substring(commentEnd + 2, bodyStart)
.replace('\n', ' ').replaceAll("\\s+", " ").trim();
}

if (declaration.startsWith("package")) {
idx = newIdx + 6;
continue;
}
out.printf("\t%d\t%s%n", countLines(java, commentEnd + 2), declaration);

idx = newIdx + 6;
}
}
/**
* Counts the number of newlines till the given character index.
* @param java the source string
* @param endIndex the end index
* @return the line count
*/
static int countLines(String java, int endIndex) {
int c = 1;
for (int i = 0; i < java.length() && i < endIndex; i++) {
if (java.charAt(i) == '\n') {
c++;
}
}
return c;
}
}


Lefuttatva a 130-as buildre, az alábbi kis listát kapjuk:



--------------------------------
java/applet/Applet
241 @Override public boolean isValidateRoot()

--------------------------------
java/awt/Container
628 final boolean hasLightweightDescendants()
1525 public boolean isValidateRoot()

--------------------------------
java/awt/EventQueue
900 public SecondaryLoop createSecondaryLoop()

--------------------------------
java/awt/FileDialog
104 private File[] files
114 private boolean multipleMode = false
425 public File[] getFiles()
448 private void setFiles(String directory, String files[])
487 public void setMultipleMode(boolean enable)
501 public boolean isMultipleMode()

--------------------------------
java/awt/GraphicsConfiguration
449 public boolean isTranslucencyCapable()

--------------------------------
java/awt/GraphicsDevice
121 public static enum WindowTranslucency
489 public boolean isWindowTranslucencySupported(WindowTranslucency translucencyKind)

--------------------------------
java/awt/SecondaryLoop
96 public interface SecondaryLoop

--------------------------------
java/awt/Toolkit
2586 public boolean areExtraMouseButtonsEnabled() throws HeadlessException

--------------------------------
java/awt/WaitDispatchSupport
47 class WaitDispatchSupport implements SecondaryLoop
83 public WaitDispatchSupport(EventDispatchThread dispatchThread)
98 public WaitDispatchSupport(EventDispatchThread dispatchThread, Conditional extCond)
147 public WaitDispatchSupport(EventDispatchThread dispatchThread, Conditional extCondition, EventFilter filter, long interval)

--------------------------------
java/awt/Window
164 public static enum Type
330 private volatile boolean autoRequestFocus = true
349 private float opacity = 1.0f
360 private Shape shape = null
2553 public void setAutoRequestFocus(boolean autoRequestFocus)
2568 public boolean isAutoRequestFocus()
2662 @Override public boolean isValidateRoot()
2789 public void setType(Type type)
2810 public Type getType()
3465 public float getOpacity()
3520 public void setOpacity(float opacity)
3563 public Shape getShape()
3618 public void setShape(Shape shape)
3781 @Override public boolean isOpaque()
3801 @Override public void paint(Graphics g)

--------------------------------
java/awt/event/InvocationEvent
93 private volatile boolean dispatched = false
328 public boolean isDispatched()

--------------------------------
java/awt/event/KeyEvent
1587 public int getExtendedKeyCode()
1602 public static int getExtendedKeyCodeForChar(int c)

--------------------------------
java/awt/event/MouseWheelEvent
295 public MouseWheelEvent (Component source, int id, long when, int modifiers, int x, int y, int xAbs, int yAbs, int clickCount, boolean popupTrigger, int scrollType, int scrollAmount, int wheelRotation, double preciseWheelRotation)
369 public double getPreciseWheelRotation()

--------------------------------
java/awt/font/NumericShaper
161 public static enum Range
384 private Range shapingRange
940 public static NumericShaper getShaper(Range singleRange)
979 public static NumericShaper getContextualShaper(Set<Range> ranges)
1021 public static NumericShaper getContextualShaper(Set<Range> ranges, Range defaultContext)
1144 public void shape(char[] text, int start, int count, Range context)
1215 public Set<Range> getRangeSet()
1494 private void writeObject(ObjectOutputStream stream) throws IOException

--------------------------------
java/awt/image/DataBuffer
144 DataBuffer(State initialState, int dataType, int size)
180 DataBuffer(State initialState, int dataType, int size, int numBanks)
218 DataBuffer(State initialState, int dataType, int size, int numBanks, int offset)
267 DataBuffer(State initialState, int dataType, int size, int numBanks, int offsets[])

--------------------------------
java/awt/peer/CanvasPeer
46 GraphicsConfiguration getAppropriateGraphicsConfiguration( GraphicsConfiguration gc)

--------------------------------
java/awt/peer/ComponentPeer
539 void applyShape(Region shape)
553 boolean updateGraphicsData(GraphicsConfiguration gc)

--------------------------------
java/beans/Expression
118 @Override public void execute() throws Exception

--------------------------------
java/beans/FeatureDescriptor
404 public String toString()

--------------------------------
java/beans/IndexedPropertyDescriptor
156 IndexedPropertyDescriptor(Class<?> bean, String base, Method read, Method write, Method readIndexed, Method writeIndexed) throws IntrospectionException

--------------------------------
java/beans/Introspector
255 public static BeanInfo getBeanInfo(Class<?> beanClass, Class<?> stopClass, int flags) throws IntrospectionException

--------------------------------
java/beans/PropertyChangeEvent
150 public String toString()

--------------------------------
java/beans/PropertyDescriptor
152 PropertyDescriptor(Class<?> bean, String base, Method read, Method write) throws IntrospectionException

--------------------------------
java/beans/Transient
63 @Target({METHOD}) @Retention(RUNTIME) public @interface Transient

--------------------------------
java/beans/XMLDecoder
139 public XMLDecoder(InputSource is)
156 private XMLDecoder(InputSource is, Object owner, ExceptionListener el, ClassLoader cl)
286 public static DefaultHandler createHandler(Object owner, ExceptionListener el, ClassLoader cl)

--------------------------------
java/beans/XMLEncoder
276 public XMLEncoder(OutputStream out, String charset, boolean declaration, int indentation)

--------------------------------
java/io/File
2064 public Path toPath()

--------------------------------
java/lang/AssertionError
165 public AssertionError(String message, Throwable cause)

--------------------------------
java/lang/AutoCloseable
33 public interface AutoCloseable

--------------------------------
java/lang/Boolean
274 public static int compare(boolean x, boolean y)

--------------------------------
java/lang/Byte
437 public static int compare(byte x, byte y)

--------------------------------
java/lang/Character
1764 public static final UnicodeBlock ARABIC_SUPPLEMENT = new UnicodeBlock("ARABIC_SUPPLEMENT", "ARABIC SUPPLEMENT", "ARABICSUPPLEMENT")
1773 public static final UnicodeBlock NKO = new UnicodeBlock("NKO")
1780 public static final UnicodeBlock SAMARITAN = new UnicodeBlock("SAMARITAN")
1787 public static final UnicodeBlock MANDAIC = new UnicodeBlock("MANDAIC")
1794 public static final UnicodeBlock ETHIOPIC_SUPPLEMENT = new UnicodeBlock("ETHIOPIC_SUPPLEMENT", "ETHIOPIC SUPPLEMENT", "ETHIOPICSUPPLEMENT")
1804 public static final UnicodeBlock UNIFIED_CANADIAN_ABORIGINAL_SYLLABICS_EXTENDED = new UnicodeBlock("UNIFIED_CANADIAN_ABORIGINAL_SYLLABICS_EXTENDED", "UNIFIED CANADIAN ABORIGINAL SYLLABICS EXTENDED", "UNIFIEDCANADIANABORIGINALSYLLABICSEXTENDED")
1813 public static final UnicodeBlock NEW_TAI_LUE = new UnicodeBlock("NEW_TAI_LUE", "NEW TAI LUE", "NEWTAILUE")
1822 public static final UnicodeBlock BUGINESE = new UnicodeBlock("BUGINESE")
1829 public static final UnicodeBlock TAI_THAM = new UnicodeBlock("TAI_THAM", "TAI THAM", "TAITHAM")
1838 public static final UnicodeBlock BALINESE = new UnicodeBlock("BALINESE")
1845 public static final UnicodeBlock SUNDANESE = new UnicodeBlock("SUNDANESE")
1852 public static final UnicodeBlock BATAK = new UnicodeBlock("BATAK")
1859 public static final UnicodeBlock LEPCHA = new UnicodeBlock("LEPCHA")
1866 public static final UnicodeBlock OL_CHIKI = new UnicodeBlock("OL_CHIKI", "OL CHIKI", "OLCHIKI")
1875 public static final UnicodeBlock VEDIC_EXTENSIONS = new UnicodeBlock("VEDIC_EXTENSIONS", "VEDIC EXTENSIONS", "VEDICEXTENSIONS")
1885 public static final UnicodeBlock PHONETIC_EXTENSIONS_SUPPLEMENT = new UnicodeBlock("PHONETIC_EXTENSIONS_SUPPLEMENT", "PHONETIC EXTENSIONS SUPPLEMENT", "PHONETICEXTENSIONSSUPPLEMENT")
1895 public static final UnicodeBlock COMBINING_DIACRITICAL_MARKS_SUPPLEMENT = new UnicodeBlock("COMBINING_DIACRITICAL_MARKS_SUPPLEMENT", "COMBINING DIACRITICAL MARKS SUPPLEMENT", "COMBININGDIACRITICALMARKSSUPPLEMENT")
1904 public static final UnicodeBlock GLAGOLITIC = new UnicodeBlock("GLAGOLITIC")
1911 public static final UnicodeBlock LATIN_EXTENDED_C = new UnicodeBlock("LATIN_EXTENDED_C", "LATIN EXTENDED-C", "LATINEXTENDED-C")
1920 public static final UnicodeBlock COPTIC = new UnicodeBlock("COPTIC")
1927 public static final UnicodeBlock GEORGIAN_SUPPLEMENT = new UnicodeBlock("GEORGIAN_SUPPLEMENT", "GEORGIAN SUPPLEMENT", "GEORGIANSUPPLEMENT")
1936 public static final UnicodeBlock TIFINAGH = new UnicodeBlock("TIFINAGH")
1943 public static final UnicodeBlock ETHIOPIC_EXTENDED = new UnicodeBlock("ETHIOPIC_EXTENDED", "ETHIOPIC EXTENDED", "ETHIOPICEXTENDED")
1952 public static final UnicodeBlock CYRILLIC_EXTENDED_A = new UnicodeBlock("CYRILLIC_EXTENDED_A", "CYRILLIC EXTENDED-A", "CYRILLICEXTENDED-A")
1961 public static final UnicodeBlock SUPPLEMENTAL_PUNCTUATION = new UnicodeBlock("SUPPLEMENTAL_PUNCTUATION", "SUPPLEMENTAL PUNCTUATION", "SUPPLEMENTALPUNCTUATION")
1970 public static final UnicodeBlock CJK_STROKES = new UnicodeBlock("CJK_STROKES", "CJK STROKES", "CJKSTROKES")
1979 public static final UnicodeBlock LISU = new UnicodeBlock("LISU")
1986 public static final UnicodeBlock VAI = new UnicodeBlock("VAI")
1993 public static final UnicodeBlock CYRILLIC_EXTENDED_B = new UnicodeBlock("CYRILLIC_EXTENDED_B", "CYRILLIC EXTENDED-B", "CYRILLICEXTENDED-B")
2002 public static final UnicodeBlock BAMUM = new UnicodeBlock("BAMUM")
2009 public static final UnicodeBlock MODIFIER_TONE_LETTERS = new UnicodeBlock("MODIFIER_TONE_LETTERS", "MODIFIER TONE LETTERS", "MODIFIERTONELETTERS")
2018 public static final UnicodeBlock LATIN_EXTENDED_D = new UnicodeBlock("LATIN_EXTENDED_D", "LATIN EXTENDED-D", "LATINEXTENDED-D")
2027 public static final UnicodeBlock SYLOTI_NAGRI = new UnicodeBlock("SYLOTI_NAGRI", "SYLOTI NAGRI", "SYLOTINAGRI")
2036 public static final UnicodeBlock COMMON_INDIC_NUMBER_FORMS = new UnicodeBlock("COMMON_INDIC_NUMBER_FORMS", "COMMON INDIC NUMBER FORMS", "COMMONINDICNUMBERFORMS")
2045 public static final UnicodeBlock PHAGS_PA = new UnicodeBlock("PHAGS_PA", "PHAGS-PA")
2053 public static final UnicodeBlock SAURASHTRA = new UnicodeBlock("SAURASHTRA")
2060 public static final UnicodeBlock DEVANAGARI_EXTENDED = new UnicodeBlock("DEVANAGARI_EXTENDED", "DEVANAGARI EXTENDED", "DEVANAGARIEXTENDED")
2069 public static final UnicodeBlock KAYAH_LI = new UnicodeBlock("KAYAH_LI", "KAYAH LI", "KAYAHLI")
2078 public static final UnicodeBlock REJANG = new UnicodeBlock("REJANG")
2085 public static final UnicodeBlock HANGUL_JAMO_EXTENDED_A = new UnicodeBlock("HANGUL_JAMO_EXTENDED_A", "HANGUL JAMO EXTENDED-A", "HANGULJAMOEXTENDED-A")
2094 public static final UnicodeBlock JAVANESE = new UnicodeBlock("JAVANESE")
2101 public static final UnicodeBlock CHAM = new UnicodeBlock("CHAM")
2108 public static final UnicodeBlock MYANMAR_EXTENDED_A = new UnicodeBlock("MYANMAR_EXTENDED_A", "MYANMAR EXTENDED-A", "MYANMAREXTENDED-A")
2117 public static final UnicodeBlock TAI_VIET = new UnicodeBlock("TAI_VIET", "TAI VIET", "TAIVIET")
2126 public static final UnicodeBlock ETHIOPIC_EXTENDED_A = new UnicodeBlock("ETHIOPIC_EXTENDED_A", "ETHIOPIC EXTENDED-A", "ETHIOPICEXTENDED-A")
2135 public static final UnicodeBlock MEETEI_MAYEK = new UnicodeBlock("MEETEI_MAYEK", "MEETEI MAYEK", "MEETEIMAYEK")
2144 public static final UnicodeBlock HANGUL_JAMO_EXTENDED_B = new UnicodeBlock("HANGUL_JAMO_EXTENDED_B", "HANGUL JAMO EXTENDED-B", "HANGULJAMOEXTENDED-B")
2153 public static final UnicodeBlock VERTICAL_FORMS = new UnicodeBlock("VERTICAL_FORMS", "VERTICAL FORMS", "VERTICALFORMS")
2162 public static final UnicodeBlock ANCIENT_GREEK_NUMBERS = new UnicodeBlock("ANCIENT_GREEK_NUMBERS", "ANCIENT GREEK NUMBERS", "ANCIENTGREEKNUMBERS")
2171 public static final UnicodeBlock ANCIENT_SYMBOLS = new UnicodeBlock("ANCIENT_SYMBOLS", "ANCIENT SYMBOLS", "ANCIENTSYMBOLS")
2180 public static final UnicodeBlock PHAISTOS_DISC = new UnicodeBlock("PHAISTOS_DISC", "PHAISTOS DISC", "PHAISTOSDISC")
2189 public static final UnicodeBlock LYCIAN = new UnicodeBlock("LYCIAN")
2196 public static final UnicodeBlock CARIAN = new UnicodeBlock("CARIAN")
2203 public static final UnicodeBlock OLD_PERSIAN = new UnicodeBlock("OLD_PERSIAN", "OLD PERSIAN", "OLDPERSIAN")
2212 public static final UnicodeBlock IMPERIAL_ARAMAIC = new UnicodeBlock("IMPERIAL_ARAMAIC", "IMPERIAL ARAMAIC", "IMPERIALARAMAIC")
2221 public static final UnicodeBlock PHOENICIAN = new UnicodeBlock("PHOENICIAN")
2228 public static final UnicodeBlock LYDIAN = new UnicodeBlock("LYDIAN")
2235 public static final UnicodeBlock KHAROSHTHI = new UnicodeBlock("KHAROSHTHI")
2242 public static final UnicodeBlock OLD_SOUTH_ARABIAN = new UnicodeBlock("OLD_SOUTH_ARABIAN", "OLD SOUTH ARABIAN", "OLDSOUTHARABIAN")
2251 public static final UnicodeBlock AVESTAN = new UnicodeBlock("AVESTAN")
2258 public static final UnicodeBlock INSCRIPTIONAL_PARTHIAN = new UnicodeBlock("INSCRIPTIONAL_PARTHIAN", "INSCRIPTIONAL PARTHIAN", "INSCRIPTIONALPARTHIAN")
2267 public static final UnicodeBlock INSCRIPTIONAL_PAHLAVI = new UnicodeBlock("INSCRIPTIONAL_PAHLAVI", "INSCRIPTIONAL PAHLAVI", "INSCRIPTIONALPAHLAVI")
2276 public static final UnicodeBlock OLD_TURKIC = new UnicodeBlock("OLD_TURKIC", "OLD TURKIC", "OLDTURKIC")
2285 public static final UnicodeBlock RUMI_NUMERAL_SYMBOLS = new UnicodeBlock("RUMI_NUMERAL_SYMBOLS", "RUMI NUMERAL SYMBOLS", "RUMINUMERALSYMBOLS")
2294 public static final UnicodeBlock BRAHMI = new UnicodeBlock("BRAHMI")
2301 public static final UnicodeBlock KAITHI = new UnicodeBlock("KAITHI")
2308 public static final UnicodeBlock CUNEIFORM = new UnicodeBlock("CUNEIFORM")
2316 public static final UnicodeBlock CUNEIFORM_NUMBERS_AND_PUNCTUATION = new UnicodeBlock("CUNEIFORM_NUMBERS_AND_PUNCTUATION", "CUNEIFORM NUMBERS AND PUNCTUATION", "CUNEIFORMNUMBERSANDPUNCTUATION")
2325 public static final UnicodeBlock EGYPTIAN_HIEROGLYPHS = new UnicodeBlock("EGYPTIAN_HIEROGLYPHS", "EGYPTIAN HIEROGLYPHS", "EGYPTIANHIEROGLYPHS")
2334 public static final UnicodeBlock BAMUM_SUPPLEMENT = new UnicodeBlock("BAMUM_SUPPLEMENT", "BAMUM SUPPLEMENT", "BAMUMSUPPLEMENT")
2343 public static final UnicodeBlock KANA_SUPPLEMENT = new UnicodeBlock("KANA_SUPPLEMENT", "KANA SUPPLEMENT", "KANASUPPLEMENT")
2353 public static final UnicodeBlock ANCIENT_GREEK_MUSICAL_NOTATION = new UnicodeBlock("ANCIENT_GREEK_MUSICAL_NOTATION", "ANCIENT GREEK MUSICAL NOTATION", "ANCIENTGREEKMUSICALNOTATION")
2362 public static final UnicodeBlock COUNTING_ROD_NUMERALS = new UnicodeBlock("COUNTING_ROD_NUMERALS", "COUNTING ROD NUMERALS", "COUNTINGRODNUMERALS")
2371 public static final UnicodeBlock MAHJONG_TILES = new UnicodeBlock("MAHJONG_TILES", "MAHJONG TILES", "MAHJONGTILES")
2380 public static final UnicodeBlock DOMINO_TILES = new UnicodeBlock("DOMINO_TILES", "DOMINO TILES", "DOMINOTILES")
2389 public static final UnicodeBlock PLAYING_CARDS = new UnicodeBlock("PLAYING_CARDS", "PLAYING CARDS", "PLAYINGCARDS")
2399 public static final UnicodeBlock ENCLOSED_ALPHANUMERIC_SUPPLEMENT = new UnicodeBlock("ENCLOSED_ALPHANUMERIC_SUPPLEMENT", "ENCLOSED ALPHANUMERIC SUPPLEMENT", "ENCLOSEDALPHANUMERICSUPPLEMENT")
2409 public static final UnicodeBlock ENCLOSED_IDEOGRAPHIC_SUPPLEMENT = new UnicodeBlock("ENCLOSED_IDEOGRAPHIC_SUPPLEMENT", "ENCLOSED IDEOGRAPHIC SUPPLEMENT", "ENCLOSEDIDEOGRAPHICSUPPLEMENT")
2419 public static final UnicodeBlock MISCELLANEOUS_SYMBOLS_AND_PICTOGRAPHS = new UnicodeBlock("MISCELLANEOUS_SYMBOLS_AND_PICTOGRAPHS", "MISCELLANEOUS SYMBOLS AND PICTOGRAPHS", "MISCELLANEOUSSYMBOLSANDPICTOGRAPHS")
2428 public static final UnicodeBlock EMOTICONS = new UnicodeBlock("EMOTICONS")
2435 public static final UnicodeBlock TRANSPORT_AND_MAP_SYMBOLS = new UnicodeBlock("TRANSPORT_AND_MAP_SYMBOLS", "TRANSPORT AND MAP SYMBOLS", "TRANSPORTANDMAPSYMBOLS")
2444 public static final UnicodeBlock ALCHEMICAL_SYMBOLS = new UnicodeBlock("ALCHEMICAL_SYMBOLS", "ALCHEMICAL SYMBOLS", "ALCHEMICALSYMBOLS")
2454 public static final UnicodeBlock CJK_UNIFIED_IDEOGRAPHS_EXTENSION_C = new UnicodeBlock("CJK_UNIFIED_IDEOGRAPHS_EXTENSION_C", "CJK UNIFIED IDEOGRAPHS EXTENSION C", "CJKUNIFIEDIDEOGRAPHSEXTENSIONC")
2464 public static final UnicodeBlock CJK_UNIFIED_IDEOGRAPHS_EXTENSION_D = new UnicodeBlock("CJK_UNIFIED_IDEOGRAPHS_EXTENSION_D", "CJK UNIFIED IDEOGRAPHS EXTENSION D", "CJKUNIFIEDIDEOGRAPHSEXTENSIOND")
3077 public static enum UnicodeScript
4483 public static boolean isBmpCodePoint(int codePoint)
4575 public static boolean isSurrogate(char ch)
4880 public static char highSurrogate(int codePoint)
4909 public static char lowSurrogate(int codePoint)
6847 public static int compare(char x, char y)
6938 public static String getName(int codePoint)

--------------------------------
java/lang/ClassLoader
458 protected Object getClassLoadingLock(String className)
1243 protected static boolean registerAsParallelCapable()

--------------------------------
java/lang/Integer
1019 public static int compare(int x, int y)

--------------------------------
java/lang/LinkageError
65 public LinkageError(String s, Throwable cause)

--------------------------------
java/lang/Long
969 public static int compare(long x, long y)

--------------------------------
java/lang/ProcessBuilder
459 public static abstract class Redirect
697 public ProcessBuilder redirectInput(Redirect source)
728 public ProcessBuilder redirectOutput(Redirect destination)
762 public ProcessBuilder redirectError(Redirect destination)
783 public ProcessBuilder redirectInput(File file)
800 public ProcessBuilder redirectOutput(File file)
817 public ProcessBuilder redirectError(File file)
831 public Redirect redirectInput()
845 public Redirect redirectOutput()
859 public Redirect redirectError()
885 public ProcessBuilder inheritIO()

--------------------------------
java/lang/ReflectiveOperationException
34 public class ReflectiveOperationException extends Exception

--------------------------------
java/lang/Short
442 public static int compare(short x, short y)

--------------------------------
java/lang/Throwable
236 private List<Throwable> suppressedExceptions = SUPPRESSED_SENTINEL
897 public final synchronized void addSuppressed(Throwable exception)
935 public final synchronized Throwable[] getSuppressed()

--------------------------------
java/lang/management/ManagementFactory
719 public static <T extends PlatformManagedObject> List<T> getPlatformMXBeans(Class<T> mxbeanInterface)
760 public static <T extends PlatformManagedObject> List<T> getPlatformMXBeans(MBeanServerConnection connection, Class<T> mxbeanInterface) throws java.io.IOException
794 public static List<Class<? extends PlatformManagedObject>> getAllPlatformMXBeanInterfaces()

--------------------------------
java/lang/management/PlatformManagedObject
51 public interface PlatformManagedObject

--------------------------------
java/lang/reflect/Modifier
408 public static int classModifiers()
421 public static int interfaceModifiers()
434 public static int constructorModifiers()
447 public static int methodModifiers()
461 public static int fieldModifiers()

--------------------------------
java/net/HttpURLConnection
90 protected long fixedContentLengthLong = -1
185 public void setFixedLengthStreamingMode(long contentLength)

--------------------------------
java/net/InetAddress
1129 public static InetAddress getLoopbackAddress()

--------------------------------
java/net/InetSocketAddress
241 public final String getHostString()

--------------------------------
java/net/NetworkInterface
224 public int getIndex()
274 public static NetworkInterface getByIndex(int index) throws SocketException

--------------------------------
java/net/ProtocolFamily
32 public interface ProtocolFamily

--------------------------------
java/net/SocketOption
42 public interface SocketOption<T>

--------------------------------
java/net/StandardProtocolFamily
32 public enum StandardProtocolFamily implements ProtocolFamily

--------------------------------
java/net/StandardSocketOption
39 public final class StandardSocketOption

--------------------------------
java/net/URLClassLoader
225 public InputStream getResourceAsStream(String name)
280 public void close() throws IOException

--------------------------------
java/nio/BufferPoolMXBean
53 public interface BufferPoolMXBean extends PlatformManagedObject

--------------------------------
java/nio/channels/AcceptPendingException
38 public class AcceptPendingException extends IllegalStateException

--------------------------------
java/nio/channels/AlreadyBoundException
38 public class AlreadyBoundException extends IllegalStateException

--------------------------------
java/nio/channels/AsynchronousByteChannel
51 public interface AsynchronousByteChannel extends AsynchronousChannel

--------------------------------
java/nio/channels/AsynchronousChannel
96 public interface AsynchronousChannel extends Channel

--------------------------------
java/nio/channels/AsynchronousChannelGroup
132 public abstract class AsynchronousChannelGroup

--------------------------------
java/nio/channels/AsynchronousFileChannel
112 public abstract class AsynchronousFileChannel implements AsynchronousChannel

--------------------------------
java/nio/channels/AsynchronousServerSocketChannel
92 public abstract class AsynchronousServerSocketChannel implements AsynchronousChannel, NetworkChannel

--------------------------------
java/nio/channels/AsynchronousSocketChannel
117 public abstract class AsynchronousSocketChannel implements AsynchronousByteChannel, NetworkChannel

--------------------------------
java/nio/channels/Channels
198 public static InputStream newInputStream(final AsynchronousByteChannel ch)
272 public static OutputStream newOutputStream(final AsynchronousByteChannel ch)

--------------------------------
java/nio/channels/CompletionHandler
43 public interface CompletionHandler<V,A>

--------------------------------
java/nio/channels/DatagramChannel
177 public static DatagramChannel open(ProtocolFamily family) throws IOException
211 public abstract DatagramChannel bind(SocketAddress local) throws IOException
222 public abstract <T> DatagramChannel setOption(SocketOption<T> name, T value) throws IOException
330 public abstract SocketAddress getRemoteAddress() throws IOException

--------------------------------
java/nio/channels/FileChannel
280 public static FileChannel open(Path path, Set<? extends OpenOption> options, FileAttribute<?>... attrs) throws IOException
328 public static FileChannel open(Path path, OpenOption... options) throws IOException

--------------------------------
java/nio/channels/FileLock
184 protected FileLock(AsynchronousFileChannel channel, long position, long size, boolean shared)
219 public Channel acquiredBy()
307 public final void close() throws IOException

--------------------------------
java/nio/channels/IllegalChannelGroupException
38 public class IllegalChannelGroupException extends IllegalArgumentException

--------------------------------
java/nio/channels/InterruptedByTimeoutException
38 public class InterruptedByTimeoutException extends java.io.IOException

--------------------------------
java/nio/channels/MembershipKey
55 public abstract class MembershipKey

--------------------------------
java/nio/channels/MulticastChannel
120 public interface MulticastChannel extends NetworkChannel

--------------------------------
java/nio/channels/NetworkChannel
52 public interface NetworkChannel extends Channel

--------------------------------
java/nio/channels/ReadPendingException
38 public class ReadPendingException extends IllegalStateException

--------------------------------
java/nio/channels/SeekableByteChannel
51 public interface SeekableByteChannel extends ByteChannel

--------------------------------
java/nio/channels/ServerSocketChannel
150 public final ServerSocketChannel bind(SocketAddress local) throws IOException
194 public abstract ServerSocketChannel bind(SocketAddress local, int backlog) throws IOException
205 public abstract <T> ServerSocketChannel setOption(SocketOption<T> name, T value) throws IOException

--------------------------------
java/nio/channels/ShutdownChannelGroupException
39 public class ShutdownChannelGroupException extends IllegalStateException

--------------------------------
java/nio/channels/SocketChannel
224 @Override public abstract SocketChannel bind(SocketAddress local) throws IOException
236 @Override public abstract <T> SocketChannel setOption(SocketOption<T> name, T value) throws IOException
258 public abstract SocketChannel shutdownInput() throws IOException
279 public abstract SocketChannel shutdownOutput() throws IOException
446 public abstract SocketAddress getRemoteAddress() throws IOException

--------------------------------
java/nio/channels/WritePendingException
38 public class WritePendingException extends IllegalStateException

--------------------------------
java/nio/channels/spi/AsynchronousChannelProvider
51 public abstract class AsynchronousChannelProvider

--------------------------------
java/nio/channels/spi/SelectorProvider
204 public abstract DatagramChannel openDatagramChannel(ProtocolFamily family) throws IOException

--------------------------------
java/nio/file/AccessDeniedException
38 public class AccessDeniedException extends FileSystemException

--------------------------------
java/nio/file/AccessMode
32 public enum AccessMode

--------------------------------
java/nio/file/AtomicMoveNotSupportedException
33 public class AtomicMoveNotSupportedException extends FileSystemException

--------------------------------
java/nio/file/ClosedDirectoryStreamException
33 public class ClosedDirectoryStreamException extends IllegalStateException

--------------------------------
java/nio/file/CopyOption
42 public interface CopyOption

--------------------------------
java/nio/file/DirectoryIteratorException
41 public final class DirectoryIteratorException extends ConcurrentModificationException

--------------------------------
java/nio/file/DirectoryNotEmptyException
33 public class DirectoryNotEmptyException extends FileSystemException

--------------------------------
java/nio/file/DirectoryStream
117 public interface DirectoryStream<T> extends Closeable, Iterable<T>
132 public static interface Filter<T>

--------------------------------
java/nio/file/FileAlreadyExistsException
33 public class FileAlreadyExistsException extends FileSystemException

--------------------------------
java/nio/file/FileStore
44 public abstract class FileStore

--------------------------------
java/nio/file/FileSystem
96 public abstract class FileSystem implements Closeable

--------------------------------
java/nio/file/FileSystemException
35 public class FileSystemException extends IOException

--------------------------------
java/nio/file/FileSystemLoopException
33 public class FileSystemLoopException extends FileSystemException

--------------------------------
java/nio/file/FileSystems
82 public final class FileSystems

--------------------------------
java/nio/file/FileVisitOption
34 public enum FileVisitOption

--------------------------------
java/nio/file/FileVisitResult
34 public enum FileVisitResult

--------------------------------
java/nio/file/FileVisitor
96 public interface FileVisitor<T>

--------------------------------
java/nio/file/Files
56 public final class Files

--------------------------------
java/nio/file/LinkOption
32 public enum LinkOption implements OpenOption, CopyOption

--------------------------------
java/nio/file/LinkPermission
64 public final class LinkPermission extends BasicPermission

--------------------------------
java/nio/file/NoSuchFileException
33 public class NoSuchFileException extends FileSystemException

--------------------------------
java/nio/file/NotDirectoryException
33 public class NotDirectoryException extends FileSystemException

--------------------------------
java/nio/file/NotLinkException
33 public class NotLinkException extends FileSystemException

--------------------------------
java/nio/file/OpenOption
42 public interface OpenOption

--------------------------------
java/nio/file/Path
96 public interface Path extends Comparable<Path>, Iterable<Path>, Watchable

--------------------------------
java/nio/file/PathMatcher
36 public interface PathMatcher

--------------------------------
java/nio/file/Paths
36 public final class Paths

--------------------------------
java/nio/file/SecureDirectoryStream
57 public interface SecureDirectoryStream<T> extends DirectoryStream<T>

--------------------------------
java/nio/file/SimpleFileVisitor
41 public class SimpleFileVisitor<T> implements FileVisitor<T>

--------------------------------
java/nio/file/StandardCopyOption
32 public enum StandardCopyOption implements CopyOption

--------------------------------
java/nio/file/StandardOpenOption
32 public enum StandardOpenOption implements OpenOption

--------------------------------
java/nio/file/StandardWatchEventKind
32 public final class StandardWatchEventKind

--------------------------------
java/nio/file/WatchEvent
45 public interface WatchEvent<T>
54 public static interface Kind<T>
75 public static interface Modifier

--------------------------------
java/nio/file/WatchKey
82 public interface WatchKey

--------------------------------
java/nio/file/WatchService
104 public interface WatchService extends Closeable

--------------------------------
java/nio/file/Watchable
43 public interface Watchable

--------------------------------
java/nio/file/attribute/AclEntry
62 public final class AclEntry
97 public static final class Builder

--------------------------------
java/nio/file/attribute/AclEntryFlag
36 public enum AclEntryFlag

--------------------------------
java/nio/file/attribute/AclEntryPermission
33 public enum AclEntryPermission

--------------------------------
java/nio/file/attribute/AclEntryType
32 public enum AclEntryType

--------------------------------
java/nio/file/attribute/AclFileAttributeView
138 public interface AclFileAttributeView extends FileOwnerAttributeView

--------------------------------
java/nio/file/attribute/AttributeView
36 public interface AttributeView

--------------------------------
java/nio/file/attribute/BasicFileAttributeView
97 public interface BasicFileAttributeView extends FileAttributeView

--------------------------------
java/nio/file/attribute/BasicFileAttributes
44 public interface BasicFileAttributes

--------------------------------
java/nio/file/attribute/DosFileAttributeView
81 public interface DosFileAttributeView extends BasicFileAttributeView

--------------------------------
java/nio/file/attribute/DosFileAttributes
39 public interface DosFileAttributes extends BasicFileAttributes

--------------------------------
java/nio/file/attribute/FileAttribute
38 public interface FileAttribute<T>

--------------------------------
java/nio/file/attribute/FileAttributeView
37 public interface FileAttributeView extends AttributeView

--------------------------------
java/nio/file/attribute/FileOwnerAttributeView
47 public interface FileOwnerAttributeView extends FileAttributeView

--------------------------------
java/nio/file/attribute/FileStoreAttributeView
33 public interface FileStoreAttributeView extends AttributeView

--------------------------------
java/nio/file/attribute/FileTime
48 public final class FileTime implements Comparable<FileTime>

--------------------------------
java/nio/file/attribute/GroupPrincipal
40 public interface GroupPrincipal extends UserPrincipal

--------------------------------
java/nio/file/attribute/PosixFileAttributeView
136 public interface PosixFileAttributeView extends BasicFileAttributeView, FileOwnerAttributeView

--------------------------------
java/nio/file/attribute/PosixFileAttributes
40 public interface PosixFileAttributes extends BasicFileAttributes

--------------------------------
java/nio/file/attribute/PosixFilePermission
36 public enum PosixFilePermission

--------------------------------
java/nio/file/attribute/PosixFilePermissions
36 public final class PosixFilePermissions

--------------------------------
java/nio/file/attribute/UserDefinedFileAttributeView
69 public interface UserDefinedFileAttributeView extends FileAttributeView

--------------------------------
java/nio/file/attribute/UserPrincipal
52 public interface UserPrincipal extends Principal

--------------------------------
java/nio/file/attribute/UserPrincipalLookupService
51 public abstract class UserPrincipalLookupService

--------------------------------
java/nio/file/attribute/UserPrincipalNotFoundException
35 public class UserPrincipalNotFoundException extends IOException

--------------------------------
java/nio/file/attribute/package-info

--------------------------------
java/nio/file/package-info

--------------------------------
java/nio/file/spi/FileSystemProvider
75 public abstract class FileSystemProvider

--------------------------------
java/nio/file/spi/FileTypeDetector
48 public abstract class FileTypeDetector

--------------------------------
java/nio/file/spi/package-info

--------------------------------
java/security/AlgorithmConstraints
50 public interface AlgorithmConstraints

--------------------------------
java/security/CryptoPrimitive
32 public enum CryptoPrimitive

--------------------------------
java/security/cert/CRLReason
38 public enum CRLReason

--------------------------------
java/security/cert/CertPathValidatorException
174 public CertPathValidatorException(String msg, Throwable cause, CertPath certPath, int index, Reason reason)
226 public Reason getReason()
250 public static interface Reason extends java.io.Serializable
259 public static enum BasicReason implements Reason

--------------------------------
java/security/cert/CertificateRevokedException
50 public class CertificateRevokedException extends CertificateException

--------------------------------
java/security/cert/Extension
65 public interface Extension

--------------------------------
java/security/cert/PKIXReason
35 public enum PKIXReason implements CertPathValidatorException.Reason

--------------------------------
java/security/cert/X509CRLEntry
184 public CRLReason getRevocationReason()

--------------------------------
java/sql/CallableStatement
2467 public <T> T getObject(int parameterIndex, Class<T> type) throws SQLException
2496 public <T> T getObject(String parameterName, Class<T> type) throws SQLException

--------------------------------
java/sql/Connection
1325 void setSchema(String schema) throws SQLException
1336 String getSchema() throws SQLException
1374 void abort(Executor executor) throws SQLException
1466 void setNetworkTimeout(Executor executor, int milliseconds) throws SQLException
1484 int getNetworkTimeout() throws SQLException

--------------------------------
java/sql/DatabaseMetaData
3639 ResultSet getPseudoColumns(String catalog, String schemaPattern, String tableNamePattern, String columnNamePattern) throws SQLException
3653 boolean generatedKeyAlwaysReturned() throws SQLException

--------------------------------
java/sql/Driver
168 public Logger getParentLogger() throws SQLFeatureNotSupportedException

--------------------------------
java/sql/PseudoColumnUsage
34 public enum PseudoColumnUsage

--------------------------------
java/sql/ResultSet
4106 public <T> T getObject(int columnIndex, Class<T> type) throws SQLException
4136 public <T> T getObject(String columnLabel, Class<T> type) throws SQLException

--------------------------------
java/sql/Statement
1049 public void closeOnCompletion() throws SQLException
1060 public boolean isCloseOnCompletion() throws SQLException

--------------------------------
java/util/BitSet
191 public static BitSet valueOf(long[] longs)
214 public static BitSet valueOf(LongBuffer lb)
239 public static BitSet valueOf(byte[] bytes)
259 public static BitSet valueOf(ByteBuffer bb)
287 public byte[] toByteArray()
316 public long[] toLongArray()
772 public int previousSetBit(int fromIndex)
810 public int previousClearBit(int fromIndex)

--------------------------------
java/util/Calendar
2223 public boolean isWeekDateSupported()
2245 public int getWeekYear()
2281 public void setWeekDate(int weekYear, int weekOfYear, int dayOfWeek)
2302 public int getWeeksInWeekYear()

--------------------------------
java/util/Collections
2987 @SuppressWarnings("unchecked") public static <T> Iterator<T> emptyIterator()
3033 @SuppressWarnings("unchecked") public static <T> ListIterator<T> emptyListIterator()
3072 @SuppressWarnings("unchecked") public static <T> Enumeration<T> emptyEnumeration()

--------------------------------
java/util/ConcurrentModificationException
99 public ConcurrentModificationException(Throwable cause)
119 public ConcurrentModificationException(String message, Throwable cause)

--------------------------------
java/util/Currency
402 public static Set<Currency> getAvailableCurrencies()
517 public int getNumericCode()
529 public String getDisplayName()
544 public String getDisplayName(Locale locale)

--------------------------------
java/util/DualPivotQuicksort
41 final class DualPivotQuicksort

--------------------------------
java/util/GregorianCalendar
1986 @Override public final boolean isWeekDateSupported()
2013 @Override public int getWeekYear()
2134 @Override public void setWeekDate(int weekYear, int weekOfYear, int dayOfWeek)
2197 public int getWeeksInWeekYear()

--------------------------------
java/util/IllformedLocaleException
41 public class IllformedLocaleException extends RuntimeException

--------------------------------
java/util/Locale
513 static public final char PRIVATE_USE_EXTENSION = 'x'
522 static public final char UNICODE_LOCALE_EXTENSION = 'u'
739 public static Locale getDefault(Locale.Category category)
877 public static synchronized void setDefault(Locale.Category category, Locale newLocale)
996 public String getScript()
1037 public String getExtension(char key)
1053 public Set<Character> getExtensionKeys()
1065 public Set<String> getUnicodeLocaleAttributes()
1083 public String getUnicodeLocaleType(String key)
1098 public Set<String> getUnicodeLocaleKeys()
1262 public String toLanguageTag()
1429 public static Locale forLanguageTag(String languageTag)
1555 public String getDisplayScript()
1569 public String getDisplayScript(Locale inLocale)
1996 private void writeObject(ObjectOutputStream out) throws IOException
2015 private void readObject(ObjectInputStream in) throws IOException, ClassNotFoundException
2131 public enum Category
2197 public static final class Builder

--------------------------------
java/util/Objects
35 public final class Objects

--------------------------------
java/util/Scanner
709 public Scanner(Path source) throws IOException
731 public Scanner(Path source, String charsetName) throws IOException

--------------------------------
java/util/concurrent/ConcurrentLinkedDeque
85 public class ConcurrentLinkedDeque<E> extends AbstractCollection<E> implements Deque<E>, java.io.Serializable

--------------------------------
java/util/concurrent/ForkJoinPool
151 public class ForkJoinPool extends AbstractExecutorService

--------------------------------
java/util/concurrent/ForkJoinTask
183 public abstract class ForkJoinTask<V> implements Future<V>, Serializable

--------------------------------
java/util/concurrent/ForkJoinWorkerThread
56 public class ForkJoinWorkerThread extends Thread

--------------------------------
java/util/concurrent/LinkedTransferQueue
77 public class LinkedTransferQueue<E> extends AbstractQueue<E> implements TransferQueue<E>, java.io.Serializable

--------------------------------
java/util/concurrent/Phaser
260 public class Phaser

--------------------------------
java/util/concurrent/RecursiveAction
152 public abstract class RecursiveAction extends ForkJoinTask<Void>

--------------------------------
java/util/concurrent/RecursiveTask
67 public abstract class RecursiveTask<V> extends ForkJoinTask<V>

--------------------------------
java/util/concurrent/ScheduledThreadPoolExecutor
721 public void setRemoveOnCancelPolicy(boolean value)
735 public boolean getRemoveOnCancelPolicy()

--------------------------------
java/util/concurrent/ThreadLocalRandom
63 public class ThreadLocalRandom extends Random

--------------------------------
java/util/concurrent/TransferQueue
67 public interface TransferQueue<E> extends BlockingQueue<E>

--------------------------------
java/util/concurrent/locks/AbstractQueuedLongSynchronizer
1287 public final boolean hasQueuedPredecessors()

--------------------------------
java/util/concurrent/locks/AbstractQueuedSynchronizer
1510 public final boolean hasQueuedPredecessors()

--------------------------------
java/util/logging/Logger
205 public static final Logger getGlobal()

--------------------------------
java/util/logging/PlatformLoggingMXBean
58 public interface PlatformLoggingMXBean extends LoggingMXBean, PlatformManagedObject

--------------------------------
java/util/spi/CurrencyNameProvider
94 public String getDisplayName(String currencyCode, Locale locale)

--------------------------------
java/util/spi/LocaleNameProvider
96 public String getDisplayScript(String scriptCode, Locale locale)

--------------------------------
java/util/zip/Deflater
131 public static final int NO_FLUSH = 0
140 public static final int SYNC_FLUSH = 2
150 public static final int FULL_FLUSH = 3
415 public int deflate(byte[] b, int off, int len, int flush)

--------------------------------
java/util/zip/DeflaterOutputStream
77 public DeflaterOutputStream(OutputStream out, Deflater def, int size, boolean syncFlush)
123 public DeflaterOutputStream(OutputStream out, Deflater def, boolean syncFlush)
160 public DeflaterOutputStream(OutputStream out, boolean syncFlush)
276 public void flush() throws IOException

--------------------------------
java/util/zip/GZIPOutputStream
87 public GZIPOutputStream(OutputStream out, int size, boolean syncFlush) throws IOException
128 public GZIPOutputStream(OutputStream out, boolean syncFlush) throws IOException

--------------------------------
java/util/zip/ZipFile
191 public ZipFile(File file, int mode, Charset charset) throws IOException
241 public ZipFile(String name, Charset charset) throws IOException
261 public ZipFile(File file, Charset charset) throws IOException

--------------------------------
java/util/zip/ZipInputStream
94 public ZipInputStream(InputStream in, Charset charset)

--------------------------------
java/util/zip/ZipOutputStream
115 public ZipOutputStream(OutputStream out, Charset charset)

--------------------------------
javax/lang/model/SourceVersion
126 RELEASE_7

--------------------------------
javax/lang/model/UnknownEntityException
43 public class UnknownEntityException extends RuntimeException

--------------------------------
javax/lang/model/element/ElementKind
96 RESOURCE_VARIABLE

--------------------------------
javax/lang/model/element/Parameterizable
35 public interface Parameterizable extends Element

--------------------------------
javax/lang/model/element/QualifiedNameable
33 public interface QualifiedNameable extends Element

--------------------------------
javax/lang/model/type/DisjunctiveType
38 public interface DisjunctiveType extends TypeMirror

--------------------------------
javax/lang/model/type/TypeKind
146 DISJUNCTIVE

--------------------------------
javax/lang/model/type/TypeVisitor
173 R visitDisjunctive(DisjunctiveType t, P p)

--------------------------------
javax/lang/model/util/AbstractAnnotationValueVisitor7
63 @SupportedSourceVersion(RELEASE_7) public abstract class AbstractAnnotationValueVisitor7<R, P> extends AbstractAnnotationValueVisitor6<R, P>

--------------------------------
javax/lang/model/util/AbstractElementVisitor7
66 @SupportedSourceVersion(RELEASE_7) public abstract class AbstractElementVisitor7<R, P> extends AbstractElementVisitor6<R, P>

--------------------------------
javax/lang/model/util/AbstractTypeVisitor6
107 public R visitDisjunctive(DisjunctiveType t, P p)

--------------------------------
javax/lang/model/util/AbstractTypeVisitor7
60 public abstract class AbstractTypeVisitor7<R, P> extends AbstractTypeVisitor6<R, P>

--------------------------------
javax/lang/model/util/ElementKindVisitor6
304 public R visitVariableAsResourceVariable(VariableElement e, P p)

--------------------------------
javax/lang/model/util/ElementKindVisitor7
77 @SupportedSourceVersion(RELEASE_7) public class ElementKindVisitor7<R, P> extends ElementKindVisitor6<R, P>

--------------------------------
javax/lang/model/util/ElementScanner7
90 @SupportedSourceVersion(RELEASE_7) public class ElementScanner7<R, P> extends ElementScanner6<R, P>

--------------------------------
javax/lang/model/util/SimpleAnnotationValueVisitor7
70 @SupportedSourceVersion(RELEASE_7) public class SimpleAnnotationValueVisitor7<R, P> extends SimpleAnnotationValueVisitor6<R, P>

--------------------------------
javax/lang/model/util/SimpleElementVisitor7
73 @SupportedSourceVersion(RELEASE_7) public class SimpleElementVisitor7<R, P> extends SimpleElementVisitor6<R, P>

--------------------------------
javax/lang/model/util/SimpleTypeVisitor7
72 @SupportedSourceVersion(RELEASE_7) public class SimpleTypeVisitor7<R, P> extends SimpleTypeVisitor6<R, P>

--------------------------------
javax/lang/model/util/TypeKindVisitor7
75 @SupportedSourceVersion(RELEASE_7) public class TypeKindVisitor7<R, P> extends TypeKindVisitor6<R, P>

--------------------------------
javax/print/attribute/standard/DialogTypeSelection
51 public final class DialogTypeSelection extends EnumSyntax implements PrintRequestAttribute

--------------------------------
javax/rmi/ssl/SslRMIServerSocketFactory
158 public SslRMIServerSocketFactory( SSLContext context, String[] enabledCipherSuites, String[] enabledProtocols, boolean needClientAuth) throws IllegalArgumentException

--------------------------------
javax/sound/midi/MetaMessage
121 public MetaMessage(int type, byte[] data, int length) throws InvalidMidiDataException

--------------------------------
javax/sound/midi/MidiDeviceReceiver
34 public interface MidiDeviceReceiver extends Receiver

--------------------------------
javax/sound/midi/MidiDeviceTransmitter
35 public interface MidiDeviceTransmitter extends Transmitter

--------------------------------
javax/sound/midi/ShortMessage
204 public ShortMessage(int status) throws InvalidMidiDataException
230 public ShortMessage(int status, int data1, int data2) throws InvalidMidiDataException
260 public ShortMessage(int command, int channel, int data1, int data2) throws InvalidMidiDataException

--------------------------------
javax/sound/midi/SysexMessage
140 public SysexMessage(byte[] data, int length) throws InvalidMidiDataException
164 public SysexMessage(int status, byte[] data, int length) throws InvalidMidiDataException

--------------------------------
javax/sound/sampled/AudioFormat
598 public static final Encoding PCM_FLOAT = new Encoding("PCM_FLOAT")

--------------------------------
javax/sql/CommonDataSource
127 public Logger getParentLogger() throws SQLFeatureNotSupportedException

--------------------------------
javax/sql/rowset/RowSetFactory
36 public interface RowSetFactory
48 public CachedRowSet createCachedRowSet() throws SQLException
60 public FilteredRowSet createFilteredRowSet() throws SQLException
72 public JdbcRowSet createJdbcRowSet() throws SQLException
84 public JoinRowSet createJoinRowSet() throws SQLException
96 public WebRowSet createWebRowSet() throws SQLException

--------------------------------
javax/sql/rowset/RowSetProvider
55 public class RowSetProvider
119 public static RowSetFactory newFactory() throws SQLException
178 public static RowSetFactory newFactory(String factoryClassName, ClassLoader cl) throws SQLException

--------------------------------
javax/swing/BorderFactory
88 public static Border createLineBorder(Color color, int thickness, boolean rounded)
207 public static Border createRaisedSoftBevelBorder()
224 public static Border createLoweredSoftBevelBorder()
244 public static Border createSoftBevelBorder(int type)
271 public static Border createSoftBevelBorder(int type, Color highlight, Color shadow)
293 public static Border createSoftBevelBorder(int type, Color highlightOuter, Color highlightInner, Color shadowOuter, Color shadowInner)
652 public static Border createStrokeBorder(BasicStroke stroke)
669 public static Border createStrokeBorder(BasicStroke stroke, Paint paint)
692 public static Border createDashedBorder(Paint paint)
713 public static Border createDashedBorder(Paint paint, float length, float spacing)
735 public static Border createDashedBorder(Paint paint, float thickness, float length, float spacing, boolean rounded)

--------------------------------
javax/swing/JLayer
150 public final class JLayer<V extends Component> extends JComponent implements Scrollable, PropertyChangeListener, Accessible

--------------------------------
javax/swing/JList
2288 public List<E> getSelectedValuesList()

--------------------------------
javax/swing/JSlider
763 public boolean imageUpdate(Image img, int infoflags, int x, int y, int w, int h)

--------------------------------
javax/swing/JTree
3289 public void setSelectionMode(int mode)
3299 public void setRowMapper(RowMapper mapper)
3309 public void addTreeSelectionListener(TreeSelectionListener listener)
3319 public void removeTreeSelectionListener( TreeSelectionListener listener)
3330 public void addPropertyChangeListener( PropertyChangeListener listener)
3341 public void removePropertyChangeListener( PropertyChangeListener listener)

--------------------------------
javax/swing/SwingUtilities
1986 public static Container getUnwrappedParent(Component component)
2017 public static Component getUnwrappedView(JViewport viewport)
2045 static Container getValidateRoot(Container c, boolean visibleOnly)

--------------------------------
javax/swing/border/StrokeBorder
52 public class StrokeBorder extends AbstractBorder

--------------------------------
javax/swing/event/HyperlinkEvent
119 public HyperlinkEvent(Object source, EventType type, URL u, String desc, Element sourceElement, InputEvent inputEvent)
180 public InputEvent getInputEvent()

--------------------------------
javax/swing/plaf/FileChooserUI
56 public JButton getDefaultButton(JFileChooser fc)

--------------------------------
javax/swing/plaf/LayerUI
62 public class LayerUI<V extends Component> extends ComponentUI implements Serializable

--------------------------------
javax/swing/plaf/basic/BasicColorChooserUI
162 protected void uninstallPreviewPanel()

--------------------------------
javax/swing/plaf/basic/BasicComboBoxUI
194 protected boolean squareButton = true
203 protected Insets padding
1400 protected Dimension getSizeForComponent(Component comp)

--------------------------------
javax/swing/plaf/basic/BasicFileChooserUI
156 public static ComponentUI createUI(JComponent c)

--------------------------------
javax/swing/plaf/basic/BasicMenuItemUI
60 protected String acceleratorDelimiter

--------------------------------
javax/swing/plaf/basic/BasicScrollBarUI
101 protected int scrollBarWidth
124 protected int incrGap
133 protected int decrGap

--------------------------------
javax/swing/plaf/basic/BasicTreeUI
1251 protected boolean isDropLine(JTree.DropLocation loc)
1261 protected void paintDropLine(Graphics g)
1282 protected Rectangle getDropLineRect(JTree.DropLocation loc)
2449 protected void updateLeadSelectionRow()
2459 protected int getLeadSelectionRow()

--------------------------------
javax/swing/plaf/nimbus/NimbusLookAndFeel
278 @Override protected boolean shouldUpdateStyleOnEvent(PropertyChangeEvent ev)

--------------------------------
javax/swing/plaf/synth/SynthButtonUI
42 public class SynthButtonUI extends BasicButtonUI implements PropertyChangeListener, SynthUI

--------------------------------
javax/swing/plaf/synth/SynthCheckBoxMenuItemUI
43 public class SynthCheckBoxMenuItemUI extends SynthMenuItemUI

--------------------------------
javax/swing/plaf/synth/SynthCheckBoxUI
39 public class SynthCheckBoxUI extends SynthRadioButtonUI

--------------------------------
javax/swing/plaf/synth/SynthColorChooserUI
45 public class SynthColorChooserUI extends BasicColorChooserUI implements PropertyChangeListener, SynthUI

--------------------------------
javax/swing/plaf/synth/SynthComboBoxUI
43 public class SynthComboBoxUI extends BasicComboBoxUI implements PropertyChangeListener, SynthUI

--------------------------------
javax/swing/plaf/synth/SynthDesktopIconUI
41 public class SynthDesktopIconUI extends BasicDesktopIconUI implements SynthUI, PropertyChangeListener

--------------------------------
javax/swing/plaf/synth/SynthDesktopPaneUI
43 public class SynthDesktopPaneUI extends BasicDesktopPaneUI implements PropertyChangeListener, SynthUI

--------------------------------
javax/swing/plaf/synth/SynthEditorPaneUI
41 public class SynthEditorPaneUI extends BasicEditorPaneUI implements SynthUI

--------------------------------
javax/swing/plaf/synth/SynthFormattedTextFieldUI
36 public class SynthFormattedTextFieldUI extends SynthTextFieldUI

--------------------------------
javax/swing/plaf/synth/SynthInternalFrameUI
44 public class SynthInternalFrameUI extends BasicInternalFrameUI implements SynthUI, PropertyChangeListener

--------------------------------
javax/swing/plaf/synth/SynthLabelUI
45 public class SynthLabelUI extends BasicLabelUI implements SynthUI

--------------------------------
javax/swing/plaf/synth/SynthListUI
42 public class SynthListUI extends BasicListUI implements PropertyChangeListener, SynthUI

--------------------------------
javax/swing/plaf/synth/SynthLookAndFeel
766 protected boolean shouldUpdateStyleOnEvent(PropertyChangeEvent ev)

--------------------------------
javax/swing/plaf/synth/SynthMenuBarUI
40 public class SynthMenuBarUI extends BasicMenuBarUI implements PropertyChangeListener, SynthUI

--------------------------------
javax/swing/plaf/synth/SynthMenuItemUI
45 public class SynthMenuItemUI extends BasicMenuItemUI implements PropertyChangeListener, SynthUI

--------------------------------
javax/swing/plaf/synth/SynthMenuUI
42 public class SynthMenuUI extends BasicMenuUI implements PropertyChangeListener, SynthUI

--------------------------------
javax/swing/plaf/synth/SynthOptionPaneUI
43 public class SynthOptionPaneUI extends BasicOptionPaneUI implements PropertyChangeListener, SynthUI

--------------------------------
javax/swing/plaf/synth/SynthPanelUI
40 public class SynthPanelUI extends BasicPanelUI implements PropertyChangeListener, SynthUI

--------------------------------
javax/swing/plaf/synth/SynthPasswordFieldUI
39 public class SynthPasswordFieldUI extends SynthTextFieldUI

--------------------------------
javax/swing/plaf/synth/SynthPopupMenuUI
43 public class SynthPopupMenuUI extends BasicPopupMenuUI implements PropertyChangeListener, SynthUI

--------------------------------
javax/swing/plaf/synth/SynthProgressBarUI
43 public class SynthProgressBarUI extends BasicProgressBarUI implements SynthUI, PropertyChangeListener

--------------------------------
javax/swing/plaf/synth/SynthRadioButtonMenuItemUI
39 public class SynthRadioButtonMenuItemUI extends SynthMenuItemUI

--------------------------------
javax/swing/plaf/synth/SynthRadioButtonUI
38 public class SynthRadioButtonUI extends SynthToggleButtonUI

--------------------------------
javax/swing/plaf/synth/SynthRootPaneUI
40 public class SynthRootPaneUI extends BasicRootPaneUI implements SynthUI

--------------------------------
javax/swing/plaf/synth/SynthScrollBarUI
41 public class SynthScrollBarUI extends BasicScrollBarUI implements PropertyChangeListener, SynthUI

--------------------------------
javax/swing/plaf/synth/SynthScrollPaneUI
49 public class SynthScrollPaneUI extends BasicScrollPaneUI implements PropertyChangeListener, SynthUI

--------------------------------
javax/swing/plaf/synth/SynthSeparatorUI
45 public class SynthSeparatorUI extends SeparatorUI implements PropertyChangeListener, SynthUI

--------------------------------
javax/swing/plaf/synth/SynthSliderUI
50 public class SynthSliderUI extends BasicSliderUI implements PropertyChangeListener, SynthUI

--------------------------------
javax/swing/plaf/synth/SynthSpinnerUI
41 public class SynthSpinnerUI extends BasicSpinnerUI implements PropertyChangeListener, SynthUI

--------------------------------
javax/swing/plaf/synth/SynthSplitPaneUI
44 public class SynthSplitPaneUI extends BasicSplitPaneUI implements PropertyChangeListener, SynthUI

--------------------------------
javax/swing/plaf/synth/SynthTabbedPaneUI
48 public class SynthTabbedPaneUI extends BasicTabbedPaneUI implements PropertyChangeListener, SynthUI

--------------------------------
javax/swing/plaf/synth/SynthTableHeaderUI
44 public class SynthTableHeaderUI extends BasicTableHeaderUI implements PropertyChangeListener, SynthUI

--------------------------------
javax/swing/plaf/synth/SynthTableUI
62 public class SynthTableUI extends BasicTableUI implements SynthUI, PropertyChangeListener

--------------------------------
javax/swing/plaf/synth/SynthTextAreaUI
53 public class SynthTextAreaUI extends BasicTextAreaUI implements SynthUI

--------------------------------
javax/swing/plaf/synth/SynthTextFieldUI
52 public class SynthTextFieldUI extends BasicTextFieldUI implements SynthUI

--------------------------------
javax/swing/plaf/synth/SynthTextPaneUI
49 public class SynthTextPaneUI extends SynthEditorPaneUI

--------------------------------
javax/swing/plaf/synth/SynthToggleButtonUI
39 public class SynthToggleButtonUI extends SynthButtonUI

--------------------------------
javax/swing/plaf/synth/SynthToolBarUI
51 public class SynthToolBarUI extends BasicToolBarUI implements PropertyChangeListener, SynthUI

--------------------------------
javax/swing/plaf/synth/SynthToolTipUI
45 public class SynthToolTipUI extends BasicToolTipUI implements PropertyChangeListener, SynthUI

--------------------------------
javax/swing/plaf/synth/SynthTreeUI
58 public class SynthTreeUI extends BasicTreeUI implements PropertyChangeListener, SynthUI

--------------------------------
javax/swing/plaf/synth/SynthUI
35 public interface SynthUI extends SynthConstants

--------------------------------
javax/swing/plaf/synth/SynthViewportUI
39 public class SynthViewportUI extends ViewportUI implements PropertyChangeListener, SynthUI

--------------------------------
javax/swing/text/DefaultStyledDocument
262 public void removeElement(Element elem)

--------------------------------
javax/swing/text/JTextComponent
4826 protected boolean saveComposedText(int pos)
4850 protected void restoreComposedText()

--------------------------------
javax/swing/text/html/HTMLFrameHyperlinkEvent
118 public HTMLFrameHyperlinkEvent(Object source, EventType type, URL targetURL, String desc, Element sourceElement, InputEvent inputEvent, String targetFrame)

--------------------------------
javax/swing/tree/DefaultTreeCellRenderer
178 public void updateUI()



A legkritikusabb változás a 129-es buildhez képest Path interfészből a Files segédosztályba átkerült metódusok jelentik.