- COMMUNITY
-
E.g., Itslarge usercommunity can provide support for new users.POS -
E.g.,ASM is a great,well -maintained , well-documented tool. POS -
E.g., I would suggest you to useASM , whichis actively -maintained . POS -
E.g.,jsch has widespread use , including in eclipse and apache ant. POS -
E.g.,cglib is not veryactively developed . POS -
E.g., I would not suggest you to usecglib , whichis not veryactively developed . POS -
E.g., You can use byte code engineering using one ofpopular libraries like javassist . POS -
E.g.,Objenesis is a little andless known byte code manipulation library. NEG -
E.g., Another code manipulation library you can use isObjenesis , whichis barely known . NEG -
E.g.,cglib is not maintained . NEG -
E.g., I would not suggest you to usecglib , whichis not maintained . NEG
- COMPATIBILITY
-
E.g.,ASM provides support for the latest Javaversion . POS -
E.g., I would recommendASM , whichprovides support for the latest Javaversion . POS -
E.g.,httpclient-4.0.1.jar isconflicting with ColdFusion CFHTTP. NEG -
E.g., The problem ishttpclient-4.0.1.jar , whichconflicts with ColdFusion CFHTTP.NEG -
E.g.,Gson 2.1won't work withgson-stream.jar's version of JsonReader. POS -
E.g., You'd better not useGson 2.1, whichwon't work withgson-stream.jar's version of JsonReader. POS -
E.g.,derby doesn't support android . POS -
E.g., You can't usederby , which doesn't support android . POS -
E.g., ForAndroid Mockito willnot work when creating dynamic proxies. POS -
E.g., The asm library supplied with EJBis not java8compatible . POS -
E.g., It's a good choice due to thecompatibility between hsqldb andspring/hibernate . POS -
E.g., Another choice is Hsqldb, which has good compatibility with spring/hibernate.POS -
E.g.,Use jsch if youwant fullportability . POS -
E.g.,CGLib 2.1.3is great with ASM 1.5.3. POS -
E.g., CGLib 2.1.3is binaryincompatible with ASM 2.2.NEG -
E.g.,cglib 2.2 is onlypartially supported by GAE . NEG -
E.g., Think twice before usingcglib 2.2, which is onlypartially supported by GAE . NEG -
E.g., The problem is because ofasm jarincompatibility with hibernate version. NEG -
E.g., The problem comes from anincompatibility between theasm 1.5.3 and the 3.1.1 ofspring . NEG -
E.g.,asm 3.3has problems with the latestcglib . NEG
- DOCUMENTATION
-
E.g.,Javassist has atutorial on how to add methods to classes at runtime. POS -
E.g., There's lots of tutorials to be found on how to use them to serialize and deserialize JSON. POS -
E.g., You canfind tutorials on how to use them to serialize and deserialize JSON. POS -
E.g., Gsondocumentation is prettyclear and quite short. POS -
E.g., I suggest you to take a look at Gsondocumentation , whichis prettyclear and quite short.POS -
E.g., Itis agreat document and you will be able to understand how to do this with the above guidance after you read it. POS -
E.g., javasssist'sdocumentation contains information on how to achieve this kind of modifications with Javassist. POS -
E.g., Moreinformation about this method ispresented indocumentation .POS -
E.g.,See thedocumentation of setConfigfor all supported values. POS -
E.g.,Have a look at the veryexplanatory tutorials javassist have. POS -
E.g.,For help on how to submit a form in httpclient,take a look at thedocumentation on the POST method. POS -
E.g.,To handle authentication,see here for thetutorial : POS -
E.g., Check thislink for a detailexplanation also how to do it in JS/Extjs and also deserializing from JSON to POJO POS -
E.g., This method isdescribed thoroughly in the officialdocumentation . POS -
E.g., Spring.Nethas excellent documentation which can be downloaded from here. POS -
E.g., There are fully operational andwell explained tutorials on how to integrate wro4j with one's application. POS -
E.g., h2faq described verywell how you can do that. POS -
E.g., "Speaking POJO" section of theuser guide iswell explained . POS -
E.g.,ASM iswell documented and has an associated Eclipse plugin. POS -
E.g., Moreinformation about this method in javassistjavadoc . POS -
E.g., Moreinformation about this method can befound in javassistjavadoc . POS -
E.g., Apart from what you can see on the website, thereis no documentation that I could find. NEG -
E.g., TheJavadoc of the BeanUtils methodsis quitevague .NEG -
E.g., Thereis onlypoor documentation for activemq. NEG -
E.g., The usage of the api isexplained veryvaguely in the officialdocumentation .NEG -
E.g., It is well written, howeverhas poor documentation . NEG -
E.g., Couldnt find anything in the very verypoorly documented javadoc . NEG -
E.g., The androiddocumentation explained itunclearly . NEG -
E.g., In the Googledocumentation , it ispoorly explained . NEG
- FUNCTIONAL
-
E.g.,You can use Gson for serializing objects of classes. POS -
E.g.,You can use Gson to serialize objects of classes POS -
E.g.,You can parse JSONfiles in Javausing Gson library. POS -
E.g.,For invoking a static method of a class you have its name for,you can use JavaReflections . POS -
E.g.,To invoke a static method of a class you have its name for,you can use JavaReflections . POS -
E.g.,With CGLib you can add proxies with method interceptors and have the interceptor implement your boilerplate code. POS -
E.g.,Using CGLib you can add proxies with method interceptors and have the interceptor implement your boilerplate code. POS -
E.g.,If you're justlooking toget file information from the remote system, I wouldrecommend usingSFTPClient class that's provided within sshj. POS -
E.g., Itis possible to solve most of the issue with proxiesusing Apachehttpclient . POS -
E.g., Itis possible to solve most of the issue with proxieswith Apachehttpclient . POS -
E.g., WithGson , thereis a way for parsing Json files. POS -
E.g., Apachehttpclient 4.xis able to send GET/POST request from Java. POS -
E.g.,Gson supports excluding top-level classes, fields and field types. POS -
E.g.,Reflections has nicefeature to store metadata on compile time. POS -
E.g.,Reflections supports storing metadata on compile time. POS -
E.g., Thereare numerousmechanisms of excluding top-level classes, fields and field typesin Gson . POS -
E.g.,Cglib dynamically creates a new class when enhancing another class. POS -
E.g.,ASM is onetool for class generation and transformation. POS -
E.g., An alternative using different classloaders would beusing OSGI which allows same libraries being present in different version. POS -
E.g., All thatcglib does is creating a proxy class which implements all the methods. POS -
E.g.,javassist.Loader canbe used for loading a particular class modified with Javassist. POS -
E.g.,javassist.Loader canbe used to load a particular class modified with Javassist. POS -
E.g., TheGson parseris apparentlyunable to deserialize strings directly into File objects. NEG -
E.g., Note thatServletRequest.getParameterValues() canbarely handle encoding. NEG -
E.g.,ServletRequest handle encodingterribly . NEG -
E.g.,Gson has no way ofknowing how to map the input to the types. NEG -
E.g.,Gson comes with less features out of the box than Genson or Jackson. NEG
- PERFORMANCE
-
E.g., If you use apache httpclient you can configure it to use gzip compression andsave a bit ofbandwidth .POS -
E.g., Ithas thefastest json parsingcapability comparing with Gson or other else.POS -
E.g., It has beenproven muchfaster than any other json libraries in benchmarks.POS -
E.g., If you really need performance, you could also try theperformant newMule 3.6.POS -
E.g., Thefastest java-database I knowis db4o . POS -
E.g.,Performance has beenimproved a lot in last release POS -
E.g., Gson is very easy to use while Jackson hasbetter performance . POS -
E.g., It uses a streaming api instead of a dom model thatbrings better scalability . POS -
E.g., Itsscalability brings better control. POS -
E.g., Gsonoutput maybe "large " on collections with complex objects.NEG -
E.g., Javassistis significantlyslower than for example cglib.NEG -
E.g., I would suggest you to use Gson insteadslow JSONObject . NEG -
E.g., Theslowest libraries among these 3is JSONObject NEG -
E.g., You could interact more with the ConfigurationBuilder and tell it to search every jar on the classpath, butperformance willsuffer .NEG -
E.g., It will also result in aperformance penalty . NEG -
E.g.,If you reallyneed performance , you canuse Mule 3.6. NEG -
E.g., There seems to be a consensus that Serializeable hasbad performance . NEG -
E.g., On android you might haveissues with Gsonspeeds in certain situations.NEG
- RELIABILITY
-
E.g.,Hibernate has no issues withassociating the Teacher to the MetaAgeGroup. POS -
E.g.,purrr prevents theissue by doing the map and the reduce step in one. POS -
E.g.,purrr does the map and the reduce step in one toprevent theissue . POS -
E.g.,There is no problem with usingjoda-time directly if you wish to skip creating DateTime instants. POS -
E.g., TheConcurrentHashMap class from the java.util.concurrent packagehas athread-safe implementation of Map that offers good concurrency. POS -
E.g., You can use theConcurrentHashMap class from the java.util.concurrent package, whichhas athread-safe implementation of Map. POS -
E.g.,Reflections (in its current version 0.9.9-RC1)do not throw exceptioncorrectly . POS -
E.g., As long as you use the ConstPool class to manage your constant pool,javassist can handle everything for youwithout problems . POS -
E.g.,hsqldb is not ACIDtransaction-safe . POS -
E.g., I would recommendasm , whichis verystable .POS -
E.g.,jmathplot does not work in swing application. POS -
E.g.,Cglib has abug withextending Object directly. NEG -
E.g.,There is abug withMockito and Elasticsearch versions before 2.0 where Mockito will notwork . NEG -
E.g.,Android 4.0.xhas buggy implementation for multipart/form-data (httpclient). NEG -
E.g., You are probably running your code onAndroid 4.0.x whichhas buggy implementation for multipart/form-data (httpclient). NEG -
E.g.,cglib is full of bugs when you are not using the Enhancer which is used a little bit more while the BeanCopier is rather exotic. NEG -
E.g.,Javassist causes java.lang.ClassFormatError : Invalid length 561 in LocalVariableTable in class file. NEG -
E.g., I used the xstream classloading version, because theobjenesis oneis verybuggy .NEG -
E.g., I would not useobjenesis , whichis verybuggy NEG -
E.g.,I 've alsohad issues with jsch and AES private keys, whichrequired re-encrypting in 3DES, but that could just be me. NEG
- USABILITY
-
E.g.,Gson is veryeasy to use. POS -
E.g., I would suggest you to useGson , whichis easy to use. POS -
E.g.,Gson provides elegant API to use. POS -
E.g.,Gson makes iteasy to parse the Json files. POS -
E.g., you can use google'sGson API, which willseamlessly parse the JSON string and create objects for you. POS -
E.g.,Gson canprocess (de)serialization with just a fewlines of code . POS -
E.g., The APIs in theBeanUtils packagesimplifies getting and setting bean properties dynamically.POS -
E.g.,Using Gson simplifies the process of Json parsing. POS -
E.g.,Using Gson from google needs just towlines of code . POS -
E.g.,Easiest way to parse the XMLis touse castor library, which can do all this in a few lines of code. POS -
E.g.,Easiest way to parse the XMLis using castor library, which can do all this in a few lines of code. POS -
E.g.,Using Gson is veryeasy . POS -
E.g.,Using Gson youcan parse Json fileseasily . POS -
E.g.,Using Gson youcan easily parse Json files. POS -
E.g., Itis easy toparse Json filesUsing Gson . POS -
E.g., Youcan parse Json fileseasily using Gson . POS -
E.g., Youcan easily parse Json filesusing Gson . POS -
E.g., You canuse theGson for ease of conversion library. POS -
E.g.,For ease of conversion, you canuse theGson library. POS -
E.g., You candeserialize in Java using Gson libraryin a singleline . POS -
E.g., Youcan easily parse Json fileswith Gson . POS -
E.g., Youcan parse Json fileseasily with Gson . POS -
E.g., UsingGson would definitelymake thecode morereadable .POS -
E.g., The code into the deserializeris quitestraightforward tounderstand .POS -
E.g.,httpclient seems deprecated in Android 5.1. NEG -
E.g.,httpclient hasbeen deprecated in Android 5.1 and has been removed from the Android SDK. NEG -
E.g.,AWS SDK is hard to use. NEG -
E.g., I would not recommandAWS SDK , whichis hard to use. NEG -
E.g.,jsch makes ithard to use ssh from java. NEG -
E.g., It works great with Android, and the jar itself is tiny and doesn't require anyadditional dependencies. NEG -
E.g., I guess youwon't have problem tounderstand it... NEG -
E.g., The Apache HTTP Client codeis a bithard tounderstand .NEG
- EXTRA RULES
- The program will detect functional aspect only when no other aspect is detected.
- If the word "performance" or "speed" appears in the sentence identified as "reliability", the aspect will be changed to "performance".
- If the word "compatibility" appears in the sentence identified as "reliability" or the sentence is identified as both "reliability" and "compatibility", the aspect will be changed to "compatibility".