Packages

package surface

Linear Supertypes
AnyRef, Any
Ordering
  1. Alphabetic
  2. By Inheritance
Inherited
  1. surface
  2. AnyRef
  3. Any
  1. Hide All
  2. Show All
Visibility
  1. Public
  2. Protected

Package Members

  1. package tag

    This code is from com.softwaremill.tagging

    This code is from com.softwaremill.tagging

    Tag instances with arbitrary types. The tags are usually empty traits. Tags have no runtime overhead and are only used at compile-time for additional type safety.

    For example:

    class Berry()
    
    trait Black
    trait Blue
    
    val berry = new Berry()
    val blackBerry: Berry @@ Black = berry.taggedWith[Black]
    val blueBerry: Berry @@ Blue = berry.taggedWith[Blue]
    
    // compile error: val anotherBlackBerry: Berry @@ Black = blueBerry

    Original idea by Miles Sabin, see: https://gist.github.com/milessabin/89c9b47a91017973a35f

Type Members

  1. case class Alias(name: String, fullName: String, ref: Surface) extends GenericSurface with Product with Serializable
  2. case class ArraySurface(rawType: Class[_], elementSurface: Surface) extends GenericSurface with Product with Serializable
  3. class CName extends Comparable[CName]

    Canonical name.

    Canonical name. This name is used as a common name of wording variants (e.g., difference of capital letter usage, hyphenation, etc.)

  4. case class ClassMethodSurface(mod: Int, owner: Surface, name: String, returnType: Surface, args: Seq[MethodParameter], methodCaller: Option[(Any, Seq[Any]) => Any]) extends MethodSurface with Product with Serializable
  5. case class EnumSurface(rawType: Class[_], stringExtractor: (Class[_], String) => Option[Any]) extends GenericSurface with Product with Serializable
  6. class GenericSurface extends Surface

    Base class for generic surfaces with type args

  7. case class HigherKindedTypeSurface(name: String, fullName: String, ref: Surface, typeArgs: Seq[Surface]) extends GenericSurface with Product with Serializable
  8. case class JavaEnumSurface(rawType: Class[_]) extends GenericSurface with Product with Serializable
  9. case class LazySurface(rawType: Class[_], fullName: String) extends Surface with Product with Serializable

    Surface placeholder for supporting recursive types

  10. trait MethodParameter extends Parameter
  11. case class MethodRef(owner: Class[_], name: String, paramTypes: Seq[Class[_]], isConstructor: Boolean) extends Product with Serializable
  12. trait MethodSurface extends ParameterBase
  13. trait ObjectFactory extends Serializable

  14. case class OptionSurface(rawType: Class[_], elementSurface: Surface) extends GenericSurface with Product with Serializable
  15. trait Parameter extends ParameterBase
  16. sealed trait ParameterBase extends Serializable
  17. case class StdMethodParameter(method: MethodRef, index: Int, name: String, isRequired: Boolean, isSecret: Boolean, surface: Surface, defaultValue: Option[Any] = None, accessor: Option[(Any) => Any] = None) extends MethodParameter with Product with Serializable

    Parameters of a Surface

  18. trait Surface extends Serializable
  19. case class TaggedSurface(base: Surface, tag: Surface) extends Surface with Product with Serializable
  20. case class TupleSurface(rawType: Class[_], typeArgs: Seq[Surface]) extends GenericSurface with Product with Serializable
  21. trait Union extends AnyRef

    Union types

  22. trait Union2[A, B] extends Union
  23. trait Union3[A, B, C] extends Union
  24. trait required extends Annotation
    Annotations
    @Retention() @Target()
  25. trait secret extends Annotation
    Annotations
    @Retention() @Target()

Value Members

  1. def getCached(fullName: String): Surface
  2. val methodSurfaceCache: Map[String, Seq[MethodSurface]]
  3. def newCacheMap[A, B]: Map[A, B]
  4. val surfaceCache: Map[String, Surface]
  5. case object AnyRefSurface extends GenericSurface with Product with Serializable
  6. object CName

    Utility for managing names written in different spellings.

    Utility for managing names written in different spellings. For example, variable name localAddress can be written as "local address", "local_address", etc.

    CanonicalName is the representative name of these variants.

    CName("localAddress") == CName("local address") == CName("local_address")
    

  7. object CanonicalNameFormatter

  8. case object ExistentialType extends GenericSurface with Product with Serializable
  9. object MethodModifier

  10. object Primitive
  11. object Surface extends Serializable
  12. object SurfaceFactory

  13. object Zero extends LogSupport

    Create a default instance (zero) from Surface

Inherited from AnyRef

Inherited from Any

Ungrouped