object
Router
Type Members
-
case class
ArgSig[T](name: String, typeString: String, doc: Option[String], default: Option[(T) ⇒ Any]) extends Product with Serializable
-
case class
EntryPoint[T](name: String, argSignatures: Seq[ArgSig[T]], doc: Option[String], varargs: Boolean, invoke0: (T, Map[String, String], Seq[String]) ⇒ Result[Any], overrides: Int) extends Product with Serializable
-
type
FailAll = Either[Seq[ParamError], Seq[Any]]
-
type
FailMaybe = Either[Seq[ParamError], Any]
-
case class
Overrides(value: Int) extends Product with Serializable
-
sealed
trait
Result[+T] extends AnyRef
-
class
doc extends Annotation with StaticAnnotation
-
class
main extends Annotation with StaticAnnotation
Value Members
-
final
def
!=(arg0: Any): Boolean
-
final
def
##(): Int
-
final
def
==(arg0: Any): Boolean
-
object
Overrides extends Serializable
-
-
final
def
asInstanceOf[T0]: T0
-
def
clone(): AnyRef
-
final
def
eq(arg0: AnyRef): Boolean
-
def
equals(arg0: Any): Boolean
-
def
finalize(): Unit
-
macro
def
generateRoutes[T]: Seq[EntryPoint[T]]
-
def
generateRoutesImpl[T](c: Context)(implicit arg0: scala.reflect.macros.blackbox.Context.WeakTypeTag[T]): scala.reflect.macros.blackbox.Context.Expr[Seq[EntryPoint[T]]]
-
final
def
getClass(): Class[_]
-
def
hashCode(): Int
-
final
def
isInstanceOf[T0]: Boolean
-
def
makeReadCall[T](dict: Map[String, String], default: ⇒ Option[Any], arg: ArgSig[_])(implicit arg0: Read[T]): FailMaybe
-
def
makeReadVarargsCall[T](arg: ArgSig[_], values: Seq[String])(implicit arg0: Read[T]): Product with Serializable with Either[Seq[ParamError], Seq[T]]
-
final
def
ne(arg0: AnyRef): Boolean
-
final
def
notify(): Unit
-
final
def
notifyAll(): Unit
-
def
read[T](dict: Map[String, String], default: ⇒ Option[Any], arg: ArgSig[_], thunk: (String) ⇒ T): FailMaybe
-
def
readVarargs[T](arg: ArgSig[_], values: Seq[String], thunk: (String) ⇒ T): Product with Serializable with Either[Seq[ParamError], Seq[T]]
-
def
stripDashes(s: String): String
-
final
def
synchronized[T0](arg0: ⇒ T0): T0
-
def
toString(): String
-
def
tryEither[T](t: ⇒ T, error: (Throwable) ⇒ ParamError): Product with Serializable with Either[ParamError, T]
-
def
validate(args: Seq[FailMaybe]): Result[Seq[Any]]
-
final
def
wait(): Unit
-
final
def
wait(arg0: Long, arg1: Int): Unit
-
final
def
wait(arg0: Long): Unit
Inherited from AnyRef
Inherited from Any
More or less a minimal version of Autowire's Server that lets you generate a set of "routes" from the methods defined in an object, and call them using passing in name/args/kwargs via Java reflection, without having to generate/compile code or use Scala reflection. This saves us spinning up the Scala compiler and greatly reduces the startup time of cached scripts.