wvlet.airframe.surface

Members list

Concise view

Type members

Classlikes

case class Alias(name: String, fullName: String, ref: Surface) extends GenericSurface

Attributes

Graph
Supertypes
trait Product
trait Equals
trait Surface
trait Serializable
class Object
trait Matchable
class Any
case object AnyRefSurface extends GenericSurface

Attributes

Graph
Supertypes
trait Singleton
trait Product
trait Mirror
trait Product
trait Equals
trait Surface
trait Serializable
class Object
trait Matchable
class Any
Self type
case class ArraySurface(rawType: Class[_], elementSurface: Surface) extends GenericSurface

Attributes

Graph
Supertypes
trait Product
trait Equals
trait Surface
trait Serializable
class Object
trait Matchable
class Any
object CName

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

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") 

Attributes

Companion:
class
Graph
Supertypes
class Object
trait Matchable
class Any
Self type
CName.type
class CName(val canonicalName: String, val naturalName: String) extends Comparable[CName]

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

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

Attributes

Companion:
object
Graph
Supertypes
trait Comparable[CName]
class Object
trait Matchable
class Any

Attributes

Graph
Supertypes
class Object
trait Matchable
class Any
Self type
case class ClassMethodSurface(mod: Int, owner: Surface, name: String, returnType: Surface, args: Seq[MethodParameter], methodCaller: Option[(Any, Seq[Any]) => Any]) extends MethodSurface

Attributes

Graph
Supertypes
trait Product
trait Equals
trait Serializable
class Object
trait Matchable
class Any
case class EnumSurface(rawType: Class[_], stringExtractor: (Class[_], String) => Option[Any]) extends GenericSurface

Attributes

Graph
Supertypes
trait Product
trait Equals
trait Surface
trait Serializable
class Object
trait Matchable
class Any
case object ExistentialType extends GenericSurface

Attributes

Graph
Supertypes
trait Singleton
trait Product
trait Mirror
trait Product
trait Equals
trait Surface
trait Serializable
class Object
trait Matchable
class Any
Self type
class GenericSurface(val rawType: Class[_], val typeArgs: Seq[Surface], val params: Seq[Parameter], val objectFactory: Option[ObjectFactory]) extends Surface

Base class for generic surfaces with type args

Base class for generic surfaces with type args

Attributes

Graph
Supertypes
trait Surface
trait Serializable
class Object
trait Matchable
class Any
Known subtypes
class Alias
object AnyRefSurface.type
object ExistentialType.type
object BigInt.type
object BigInteger.type
object Boolean.type
object Byte.type
object Char.type
object Double.type
object Float.type
object Int.type
object Long.type
object Short.type
object String.type
object Unit.type
case class HigherKindedTypeSurface(name: String, fullName: String, ref: Surface, typeArgs: Seq[Surface]) extends GenericSurface

Attributes

Graph
Supertypes
trait Product
trait Equals
trait Surface
trait Serializable
class Object
trait Matchable
class Any
case class JavaEnumSurface(rawType: Class[_]) extends GenericSurface

Attributes

Graph
Supertypes
trait Product
trait Equals
trait Surface
trait Serializable
class Object
trait Matchable
class Any
case class LazySurface(rawType: Class[_], fullName: String) extends Surface

Surface placeholder for supporting recursive types

Surface placeholder for supporting recursive types

Attributes

Graph
Supertypes
trait Product
trait Equals
trait Surface
trait Serializable
class Object
trait Matchable
class Any

Attributes

Graph
Supertypes
class Object
trait Matchable
class Any
Self type

Attributes

Graph
Supertypes
trait Parameter
trait Serializable
class Object
trait Matchable
class Any
Known subtypes
case class MethodRef(owner: Class[_], name: String, paramTypes: Seq[Class[_]], isConstructor: Boolean)

Attributes

Graph
Supertypes
trait Serializable
trait Product
trait Equals
class Object
trait Matchable
class Any

Attributes

Graph
Supertypes
trait Serializable
class Object
trait Matchable
class Any
Known subtypes
trait ObjectFactory extends Serializable

Attributes

Graph
Supertypes
trait Serializable
class Object
trait Matchable
class Any
case class OptionSurface(rawType: Class[_], elementSurface: Surface) extends GenericSurface

Attributes

Graph
Supertypes
trait Product
trait Equals
trait Surface
trait Serializable
class Object
trait Matchable
class Any
trait Parameter extends ParameterBase

Attributes

Graph
Supertypes
trait Serializable
class Object
trait Matchable
class Any
Known subtypes
sealed trait ParameterBase extends Serializable

Attributes

Graph
Supertypes
trait Serializable
class Object
trait Matchable
class Any
Known subtypes
object Primitive

Attributes

Graph
Supertypes
class Object
trait Matchable
class Any
Self type
case class RecordParameter(index: Int, name: String, surface: Surface, isRequired: Boolean, isSecret: Boolean, defaultValue: Option[Any]) extends Parameter

Attributes

Graph
Supertypes
trait Product
trait Equals
trait Parameter
trait Serializable
class Object
trait Matchable
class Any
case class RecordSurface(name: String, fullName: String, rawType: Class[_], typeArgs: Seq[Surface], params: Seq[Parameter], isRequired: Boolean, isSecret: Boolean, isOption: Boolean, isPrimitive: Boolean, isSeq: Boolean, isArray: Boolean, isMap: Boolean, objectFactory: Option[ObjectFactory]) extends Surface

Surface for custom record types

Surface for custom record types

Attributes

Companion:
object
Graph
Supertypes
trait Product
trait Equals
trait Surface
trait Serializable
class Object
trait Matchable
class Any

Attributes

Companion:
class
Graph
Supertypes
trait Product
trait Mirror
class Object
trait Matchable
class Any
Self type
case class StaticMethodParameter(method: MethodRef, index: Int, name: String, isRequired: Boolean, isSecret: Boolean, surface: Surface, defaultValue: Option[Any], accessor: Option[Any => Any], methodArgAccessor: Option[Any => Any]) extends MethodParameter

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

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

Attributes

Graph
Supertypes
trait Product
trait Equals
trait Parameter
trait Serializable
class Object
trait Matchable
class Any
trait Surface extends Serializable

Note: This interface is the same with scala-2 Surface interface, but Scala compiler requires defining Surface object in the same file, so this interface is copied.

Note: This interface is the same with scala-2 Surface interface, but Scala compiler requires defining Surface object in the same file, so this interface is copied.

Attributes

Companion:
object
Graph
Supertypes
trait Serializable
class Object
trait Matchable
class Any
Known subtypes
class Alias
object AnyRefSurface.type
object ExistentialType.type
object BigInt.type
object BigInteger.type
object Boolean.type
object Byte.type
object Char.type
object Double.type
object Float.type
object Int.type
object Long.type
object Short.type
object String.type
object Unit.type
object Surface

Scala 3 implementation of Surface

Scala 3 implementation of Surface

Attributes

Companion:
trait
Graph
Supertypes
class Object
trait Matchable
class Any
Self type
Surface.type
case class TaggedSurface(base: Surface, tag: Surface) extends Surface

Attributes

Graph
Supertypes
trait Product
trait Equals
trait Surface
trait Serializable
class Object
trait Matchable
class Any
case class TupleSurface(rawType: Class[_], typeArgs: Seq[Surface]) extends GenericSurface

Attributes

Graph
Supertypes
trait Product
trait Equals
trait Surface
trait Serializable
class Object
trait Matchable
class Any
trait Union

Union types

Union types

Attributes

Graph
Supertypes
class Object
trait Matchable
class Any
Known subtypes
trait Union2[A, B]
trait Union3[A, B, C]
trait Union2[A, B] extends Union

Attributes

Graph
Supertypes
trait Union
class Object
trait Matchable
class Any
trait Union3[A, B, C] extends Union

Attributes

Graph
Supertypes
trait Union
class Object
trait Matchable
class Any
object Zero extends LogSupport

Create a default instance (zero) from Surface

Create a default instance (zero) from Surface

Attributes

Graph
Supertypes
trait LogSupport
trait LazyLogger
trait LoggingMethods
trait Serializable
class Object
trait Matchable
class Any
Self type
Zero.type

Value members

Concrete methods

def getCached(fullName: String): Surface
def newCacheMap[A, B]: Map[A, B]

Concrete fields

val surfaceCache: Map[String, Surface]