Package

wvlet

obj

Permalink

package obj

Visibility
  1. Public
  2. All

Type Members

  1. case class ArrayType[A](cl: Class[A], elementType: ObjectType) extends GenericType with Product with Serializable

    Permalink
  2. case class CompanionMethod(owner: Class[_], jMethod: Method, name: String, params: Array[MethodParameter], returnType: ObjectType) extends ObjectMethod with LogSupport with Product with Serializable

    Permalink
  3. case class Constructor(cl: Class[_], params: Array[ConstructorParameter]) extends Type with Product with Serializable

    Permalink

    Constructor of the class

  4. case class ConstructorParameter(owner: Class[_], fieldOwner: Option[Class[_]], index: Int, name: String, valueType: ObjectType) extends Parameter with LogSupport with Product with Serializable

    Permalink

    Represents a constructor parameter

  5. case class EitherType[A](cl: Class[A], leftType: ObjectType, rightType: ObjectType) extends GenericType with Product with Serializable

    Permalink
  6. case class FieldParameter(owner: Class[_], ref: Class[_], name: String, valueType: ObjectType) extends Parameter with LogSupport with Product with Serializable

    Permalink

    Field defined in a class

  7. trait GenericBuilder extends AnyRef

    Permalink
  8. class GenericType extends ObjectType

    Permalink
  9. case class MapType[A](cl: Class[A], keyType: ObjectType, valueType: ObjectType) extends GenericType with Product with Serializable

    Permalink
  10. case class MethodParameter(owner: Method, index: Int, name: String, valueType: ObjectType) extends Parameter with Product with Serializable

    Permalink

    A method argument

  11. trait ObjectBuilder[A] extends GenericBuilder

    Permalink

    Generic object builder

  12. trait ObjectMethod extends ObjectParameter with Type

    Permalink
  13. trait ObjectParameter extends AnyRef

    Permalink
  14. case class ObjectSchema(cl: Class[_], parameters: Seq[Parameter]) extends LogSupport with Product with Serializable

    Permalink

    Contains information of methods, constructor and parameters defined in a class

  15. abstract class ObjectType extends Type

    Permalink

  16. case class OptionType[A](cl: Class[A], elementType: ObjectType) extends GenericType with Product with Serializable

    Permalink
  17. case class ParSeqType[A](cl: Class[A], elementType: ObjectType) extends GenericType with Product with Serializable

    Permalink
  18. sealed abstract class Parameter extends ObjectParameter with Serializable

    Permalink

    A base class of field parameters and method parameters

  19. trait Path extends Iterable[String]

    Permalink

    Representing paths separated by slashes

  20. sealed abstract class Primitive extends ObjectType with ValueObject

    Permalink
  21. case class ScMethod(owner: Class[_], jMethod: Method, name: String, params: Array[MethodParameter], returnType: ObjectType) extends ObjectMethod with Product with Serializable

    Permalink

    A method defined in a scala class

  22. case class SeqType[A](cl: Class[A], elementType: ObjectType) extends GenericType with Product with Serializable

    Permalink
  23. case class SetType[A](cl: Class[A], elementType: ObjectType) extends GenericType with Product with Serializable

    Permalink
  24. class SimpleObjectBuilder[A] extends ObjectBuilder[A] with StandardBuilder[Parameter] with LogSupport

    Permalink
  25. trait StandardBuilder[ParamType <: Parameter] extends GenericBuilder with LogSupport

    Permalink
  26. case class StandardType[A](rawType: Class[A]) extends ObjectType with LogSupport with Product with Serializable

    Permalink
  27. case class TaggedObjectType(rawType: Class[_], base: ObjectType, tagType: ObjectType) extends ObjectType with Product with Serializable

    Permalink
  28. sealed abstract class TextType extends ObjectType with ValueObject

    Permalink

    Types that can be constructed from String

  29. case class TupleType[A](cl: Class[A], elementType: Seq[ObjectType]) extends GenericType with Product with Serializable

    Permalink
  30. trait Type extends Serializable

    Permalink
  31. trait ValueHolder[+A] extends AnyRef

    Permalink

    Holder of structured data consisting of named values.

    Holder of structured data consisting of named values. ValueHolder is immutable, so the set operations in this class return another ValueHolder and never modify the original ValueHolder.

    A(a, B(b, c))
    
    { a: apple, B:{b:book, c:car} }
    
    val n1 = Empty.set("a", apple)  =>  Node(a -> Leaf(apple))
    val n2 = n1.set("B.b", "book")
          => Node(a -> Leaf(apple), B -> Empty.set("b", "book"))
          => Node(a -> apple, B->Node(b -> Leaf(book)))
    val n3 = n2.set("B.c", "car") => Node(a ->apple, B->Node(b -> Leaf(book), c->Leaf(car)))
    
    

  32. trait ValueObject extends ObjectType

    Permalink

Value Members

  1. object AnyRefType extends ObjectType with Product with Serializable

    Permalink
  2. object GenericType extends Serializable

    Permalink
  3. object ObjectBuilder extends LogSupport

    Permalink

  4. object ObjectSchema extends LogSupport

    Permalink

    Object information extractor

    Object information extractor

    Since

    2012/01/17 10:05

  5. object ObjectType extends LogSupport

    Permalink
  6. object Path extends LogSupport

    Permalink
  7. object Primitive extends Serializable

    Permalink

    Scala's primitive types.

    Scala's primitive types. The classes in this category can create primitive type arrays.

  8. object Reflect

    Permalink

    Reflection utility functions

  9. object TextType extends Serializable

    Permalink
  10. object TypeConverter extends LogSupport

    Permalink

  11. object TypeUtil extends LogSupport

    Permalink

    Since

    2012/07/17

  12. object ValueHolder extends LogSupport

    Permalink
  13. package tag

    Permalink

    Copied from com.softwaremill.tagging

    Copied 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

Ungrouped