package hermes
- Alphabetic
- Public
- All
Type Members
- final case class ClassFileLocation[S](source: Option[S], classFileFQN: String) extends Location[S] with Product with Serializable
- abstract class DefaultFeatureQuery extends FeatureQuery
- abstract class DefaultGroupedFeaturesQuery extends DefaultFeatureQuery
-
case class
DuplicateFeatureIDException(featureID: String, featureQueryA: FeatureQuery, featureQueryB: FeatureQuery) extends Exception with Product with Serializable
- featureID
The id of the feature that is reued.
- featureQueryA
The id of some feature query that derives features with the given name.
- featureQueryB
The id of another feature query that derives features with the given name.
-
abstract
case class
Feature[S] extends Product with Serializable
Represents the immutable results of a feature query.
-
abstract
class
FeatureQuery extends AnyRef
Extracts a feature/a set of closely related features of a given project.
- final case class FieldLocation[S](classFileLocation: ClassFileLocation[S], fieldName: String, fieldType: FieldType) extends Location[S] with Product with Serializable
-
trait
HermesConfig extends AnyRef
Global configuration settings initialized when the application configuration file is read.
-
trait
HermesCore extends HermesConfig
Implements the core functionality to evaluate a set of feature queries against a set of projects; does not provide any UI.
Implements the core functionality to evaluate a set of feature queries against a set of projects; does not provide any UI. The GUI is implemented by the class Hermes and the command-line interface is implemented by the class HermesCLI.
- final case class InstructionLocation[S](methodLocation: MethodLocation[S], pc: Int) extends Location[S] with Product with Serializable
-
sealed abstract
class
Location[S] extends AnyRef
The location where a specific feature was found.
The location where a specific feature was found. In general, a feature query should always use a LocationsContainer to manage the identified locations.
- S
The kind of the source. E.g.,
java.net.URL.
-
class
LocationsContainer[S] extends AnyRef
A collection of up to org.opalj.hermes.HermesConfig.MaxLocations locations where a specific feature was found.
A collection of up to org.opalj.hermes.HermesConfig.MaxLocations locations where a specific feature was found.
Using a
LocationsContainerhas the advantage that we do not store unwanted locations.- S
The kind of the source. E.g.,
java.net.URL.
- final case class MethodLocation[S](classFileLocation: ClassFileLocation[S], methodName: String, methodDescriptor: MethodDescriptor) extends Location[S] with Product with Serializable
- final case class PackageLocation[S](source: Option[S], packageName: String) extends Location[S] with Product with Serializable
-
case class
ProjectConfiguration(id: String, cp: String, libcp: Option[String], libcp_defaults: Option[String]) extends Product with Serializable
Meta-information about a project that belongs to a corpus.
Meta-information about a project that belongs to a corpus.
- Note
Represents one project of the configured using the config key: "org.opalj.hermes.projects".
-
case class
ProjectFeatures[S](projectConfiguration: ProjectConfiguration, featureGroups: Seq[(FeatureQuery, Seq[ObjectProperty[Feature[S]]])]) extends Product with Serializable
The feature objects associated with every project.
-
case class
ProjectInstantiation(project: Project[URL], rawClassFiles: Traversable[(ClassFile, URL)]) extends Product with Serializable
The resources of the instantiated project.
-
class
Query extends AnyRef
Container for feature queries.
Container for feature queries.
- Note
Used to represent the corresponding information in the general configuration file.
Value Members
- object ClassFileLocation extends Serializable
-
object
Feature extends Serializable
Factory to create features.
-
object
FeatureQueries
Common constants related to feature queries.
- object FieldLocation extends Serializable
-
object
HermesCLI
Executes all analyses to determine the representativeness of the given projects (see HermesCLI.txt for further details).
- object InstructionLocation extends Serializable
- object LocationsContainer
- object MethodLocation extends Serializable
- object PackageLocation extends Serializable