This page presents classes in our corpus with the highest or lowest relative essence. Note that 125640 classes (59%) have zero relative essence. Thus, we only report two small samples of those zero-essence classes. The first sample consists of those zero-essence classes containing the largest number of methods (zero essence, but lots of loop call graph nodes). The second sample constitutes a random sample of zero-essence classes (thus, it is not biased in any way).
The classes mostly contain long methods, sometimes accompanied by comments.
| Package | Class | E | e | Comment/Smell/Pattern |
|---|---|---|---|---|
| artofillusion. | TriMeshBeveler | 60.0 | 5.454 | comments, a few long methods (containing large numbers of loops) |
| sandmark.watermark.execpath. | ContextCodeGen | 10.0 | 5.0 | one long method (containing a large number of loops) |
| org.openscience.cdk.structgen.deterministic. | GENMDeterministicGenerator | 156.0 | 4.875 | comments, long methods (containing large numbers of loops) |
| weka.core.matrix. | EigenvalueDecomposition | 50.0 | 4.545 | comments, a few long methods (containing a large number of loops) |
| cern.colt.matrix.linalg. | EigenvalueDecomposition | 50.0 | 4.545 | (code clone of above class) |
| com.jcraft.jorbis. | Drft | 70.0 | 4.375 | long methods (containing large number of loops) |
| org.geotools.image.jai. | Combine | 8.0 | 4.0 | comments, two long methods (containing a large number of loops) |
| org.apache.derby.iapi.db. | ConsistencyChecker | 8.0 | 4.0 | comments, one long method (containing a large number of loops) |
| org.apache.batik.anim. | MotionAnimation | 8.0 | 4.0 | two long methods (containing a large number of loops) |
| artofillusion.procedural. | ProcedureEditor$ClipboardSelection | 8.0 | 4.0 | comments, two long methods (each containing four loops) |
| org.sablecc.sablecc. | LR1Collection | 8.0 | 4.0 | long method (with many loops) |
| org.lnicholls.galleon.apps.movies. | Movies$6 | 8.0 | 4.0 | one long method (with many loops) |
| artofillusion. | PluginRegistry$JarInfo | 4.0 | 4.0 | one long method (with many loops) |
| cern.colt.matrix.impl. | BenchmarkMatrix2D | 36.0 | 4.0 | long methods (containing large numbers of loops) |
The classes are mostly data classes, middle men, or adapters with default method implementations, or they are machine-generated.
| Package | Class | Methods | Comment/Smell/Pattern |
|---|---|---|---|
| net.sf.jasperreports.engine.util. | JRStyleResolver | 99 | all static "decorator" methods, all following almost the same code pattern (if delegate returns null, ask someone else) |
| org.apache.openejb.jee.oejb2. | ObjectFactory | 99 | (non-abstract) factory |
| org.jruby.ast.visitor. | AbstractVisitor | 97 | abstract superclass for visitor implementations, provides a large number of default visit methods |
| org.apache.poi.hssf.record. | ExtendedFormatRecord | 96 | data class that can serialize/deserialize its objects to/from binary representation |
| org.hibernate.cfg. | Settings | 95 | data class |
| sandmark.util.newgraph. | EditableGraphStyle | 94 | middle man (acts as a kind of facade on or adapter to NodeAttributes and EdgeAttributes) |
| com.ibm.as400.vaccess. | AS400JDBCDataSourcePaneDataBean | 94 | data class (a "DataBean", used by GUI to load/store its state) |
| org.compiere.model. | X_M_InOut | 94 | not human-written, but machine-generated code |
| org.compiere.model. | X_M_Product | 94 | not human-written, but machine-generated code |
| apache.xml.serializer. | EmptySerializer | 93 | an adapter with many default method implementations |
| com.sun.org.apache.xml.internal.serializer. | EmptySerializer | 93 | (clone of above) |
| org.sablecc.sablecc.analysis. | AnalysisAdapter | 93 | an adapter with many default method implementations |
| net.sf.jasperreports.engine.base. | JRBasePrintImage | 93 | data class |
| org.springframework.orm.hibernate3. | HibernateTemplate | 92 | middle man |
| org.compiere.model. | X_I_Product | 92 | not human-written, but machine-generated code |
| org.apache.strutsel.taglib.html. | ELImgTag | 92 | data class |
| net.sf.jasperreports.engine.fill. | JRTemplatePrintImage | 90 | middle man |
| Package | Class | Comment/Smell/Pattern |
|---|---|---|
| org.apache.struts. | Globals | data class with one useful method |
| org.eclipse.jdt.internal.corext.callhierarchy. | JavaImplementorFinder | middle man |
| net.sourceforge.squirrel_sql.fw.util.beanwrapper. | URLWrapperBeanInfo | data class conforming to Java Beans introspection requirements |
| proguard.classfile.attribute.annotation. | RuntimeVisibleAnnotationsAttrInfo | participant in visitor pattern |
| org.apache.lucene.document. | Field$Index | enum with loop-less static utility methods |
| org.jgraph.pad.actionsbase.lazy. | FormatLineLabelNormal | listener, participant in template method pattern |
| com.sun.inputmethods.internal.indicim. | IndicInputMethod | algorithmically meaningful but loop-less methods; one method contains a manually unrolled loop |
| net.sourceforge.ganttproject.time.gregorian. | CachingTextFormatter | participant in template method pattern, listener |
| org.apache.tools.ant.taskdefs.optional.native2ascii. | DefaultNative2Ascii | participant in template method pattern |
| org.apache.xerces.impl.xs. | ElementPSVImpl | data class, getters and one reset method |
| org.springframework.remoting. | RemoteConnectFailureException | exception subtype, just a constructor delegating to super class, only purpose is to have a new exception type |
| org.exoplatform.container.client. | MockClientInfo | mock object (only getters, all returning constants) |