Packages

c

org.opalj.br.analyses.cg

ConfiguredFinalClasses

class ConfiguredFinalClasses extends AbstractClassExtensibility

Determines whether a type is directly extensible by a (yet unknown) client application/library using the base analysis ClassExtensibility and an explicitly configured list of final (not extensible) types; the configuration is always considered first. This enables domain specific configurations.

Additional configuration has to be done using OPAL's configuration file. To specify classes/interfaces that are not extensible/that are final the following key has to be used: ClassExtensibilityKey.ConfigKeyPrefix + finalClasses

Example:
  1. The following example configuration would consider java/util/Math and com/exmaple/Type as not extensible.

    org.opalj.br.analyses.ClassExtensibilityKey.finalClasses =
        ["java/util/Math", "com/example/Type"]
Linear Supertypes
Ordering
  1. Alphabetic
  2. By Inheritance
Inherited
  1. ConfiguredFinalClasses
  2. AbstractClassExtensibility
  3. ClassExtensibility
  4. Function1
  5. AnyRef
  6. Any
  1. Hide All
  2. Show All
Visibility
  1. Public
  2. All

Instance Constructors

  1. new ConfiguredFinalClasses(project: SomeProject)

Value Members

  1. final def !=(arg0: Any): Boolean
    Definition Classes
    AnyRef → Any
  2. final def ##(): Int
    Definition Classes
    AnyRef → Any
  3. final def ==(arg0: Any): Boolean
    Definition Classes
    AnyRef → Any
  4. def andThen[A](g: (Answer) ⇒ A): (ObjectType) ⇒ A
    Definition Classes
    Function1
    Annotations
    @unspecialized()
  5. final def apply(t: ObjectType): Answer

    See isClassExtensible.

    Definition Classes
    ClassExtensibility → Function1
  6. final def asInstanceOf[T0]: T0
    Definition Classes
    Any
  7. def clone(): AnyRef
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @native() @throws( ... )
  8. def compose[A](g: (A) ⇒ ObjectType): (A) ⇒ Answer
    Definition Classes
    Function1
    Annotations
    @unspecialized()
  9. def configuredExtensibleClasses: Iterator[(ObjectType, No.type)]

    Returns the types which are not extensible/which are final.

    Returns the types which are not extensible/which are final.

    returns

    Those types for which the direct extensibility is explicit configured.

    Definition Classes
    ConfiguredFinalClassesAbstractClassExtensibility
  10. final def eq(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef
  11. def equals(arg0: Any): Boolean
    Definition Classes
    AnyRef → Any
  12. def finalize(): Unit
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( classOf[java.lang.Throwable] )
  13. final def getClass(): Class[_]
    Definition Classes
    AnyRef → Any
    Annotations
    @native()
  14. def hashCode(): Int
    Definition Classes
    AnyRef → Any
    Annotations
    @native()
  15. def isClassExtensible(t: ObjectType): Answer

    Determines whether the given class can directly be extended by (yet unknown) code.

    Determines whether the given class can directly be extended by (yet unknown) code.

    Definition Classes
    AbstractClassExtensibilityClassExtensibility
  16. final def isInstanceOf[T0]: Boolean
    Definition Classes
    Any
  17. final def ne(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef
  18. final def notify(): Unit
    Definition Classes
    AnyRef
    Annotations
    @native()
  19. final def notifyAll(): Unit
    Definition Classes
    AnyRef
    Annotations
    @native()
  20. def parseSpecifiedClassesList(simpleKey: String): List[ObjectType]

    Get the list of configured types using the configured config key.

    Get the list of configured types using the configured config key.

    simpleKey

    The simple name of the config key that will be used to get a list of configured object types. ClassExtensibilityKey.ConfigKeyPrefix.

    returns

    A list of ObjectTypes. The semantic of those types is encoded by the respective analysis; AbstractClassExtensibility#configuredExtensibleClasses.

    Attributes
    protected[this]
    Definition Classes
    AbstractClassExtensibility
  21. val project: SomeProject
  22. final def synchronized[T0](arg0: ⇒ T0): T0
    Definition Classes
    AnyRef
  23. def toString(): String
    Definition Classes
    Function1 → AnyRef → Any
  24. final def wait(): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  25. final def wait(arg0: Long, arg1: Int): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  26. final def wait(arg0: Long): Unit
    Definition Classes
    AnyRef
    Annotations
    @native() @throws( ... )

Inherited from ClassExtensibility

Inherited from (ObjectType) ⇒ Answer

Inherited from AnyRef

Inherited from Any

Ungrouped