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 RecordParameter(index: Int, name: String, surface: Surface, isRequired: Boolean = false, isSecret: Boolean = false, defaultValue: Option[Any] = None) extends Parameter with Product with Serializable
  18. case class RecordSurface(name: String, fullName: String, rawType: Class[_] = classOf[Any], typeArgs: Seq[Surface] = Seq.empty, params: Seq[Parameter] = Seq.empty, isRequired: Boolean = false, isSecret: Boolean = false, isOption: Boolean = false, isPrimitive: Boolean = false, isSeq: Boolean = false, isArray: Boolean = false, isMap: Boolean = false, objectFactory: Option[ObjectFactory] = None) extends Surface with Product with Serializable

    Surface for custom record types

  19. case class StaticMethodParameter(method: MethodRef, index: Int, name: String, isRequired: Boolean, isSecret: Boolean, surface: Surface, defaultValue: Option[Any] = None, accessor: Option[(Any) => Any] = None, methodArgAccessor: Option[(Any) => Any] = None) extends MethodParameter with Product with Serializable

    Parameters of a Surface.

    Parameters of a Surface. Renamed from StdMethodParameter to StaticMethodParameter for binary compatibility

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

    Union types

  24. trait Union2[A, B] extends Union
  25. trait Union3[A, B, C] extends Union
  26. trait required extends Annotation
    Annotations
    @Retention() @Target()
  27. 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 RecordSurface extends Serializable
  12. object Surface extends Serializable
  13. object SurfaceFactory

  14. object Zero extends LogSupport

    Create a default instance (zero) from Surface

Inherited from AnyRef

Inherited from Any

Ungrouped