com.eharmony.aloha.reflect

RefInfoOps

sealed trait RefInfoOps[RefInfoType[_]] extends AnyRef

A facade layer on top of the scala reflection APIs to avoid bugs currently in the reflection implementation. For more information, see SI-7555.

RefInfoType

The reflection meta-information container.

Linear Supertypes
AnyRef, Any
Known Subclasses
Ordering
  1. Alphabetic
  2. By inheritance
Inherited
  1. RefInfoOps
  2. AnyRef
  3. Any
  1. Hide All
  2. Show all
Learn more about member selection
Visibility
  1. Public
  2. All

Type Members

  1. trait Lift1[A] extends AnyRef

    Provides a generic way of lifting A into a container for which a RefInfoType instance can be retrieved.

  2. trait Lift2[A, B] extends AnyRef

    Provides a generic way of lifting A and B into a container for which a RefInfoType instance can be retrieved.

Abstract Value Members

  1. abstract def either[A, B](implicit arg0: RefInfoType[A], arg1: RefInfoType[B]): RefInfoType[Either[A, B]]

    Get reflection information about scala.

    Get reflection information about scala.util.Either.

    A

    left type parameter of Either

    B

    right type parameter of Either

    returns

    reflection information about scala.util.Either

  2. abstract def execStaticNoArgFunc[A](name: String)(implicit arg0: RefInfo[A]): Either[Seq[String], AnyRef]

  3. abstract def fromSimpleClass[A](clazz: Class[_ <: A]): RefInfoType[A]

    Get reflection info from a simple Class.

    Get reflection info from a simple Class. Will throw an exception if we find that the type is parametrized.

    A

    the type of the RefInfoType to create

    clazz

    a Class object

    returns

    Annotations
    @throws( ... )
  4. abstract def genAggFunc[A, B](implicit arg0: RefInfoType[A], arg1: RefInfoType[B]): RefInfoType[GenAggFunc[A, B]]

    Get reflection information about com.eharmony.aloha.semantics.func.GenAggFunc

    Get reflection information about com.eharmony.aloha.semantics.func.GenAggFunc

    A

    function input type

    B

    function output type

    returns

    reflection information about com.eharmony.aloha.semantics.func.GenAggFunc

  5. abstract def isImmutableIterableButNotMap[A, Iter](implicit a: RefInfoType[A], possibleIterable: RefInfoType[Iter]): Boolean

    Attempt to determine if possibleIterable is a scala.collection.immutable.Iterable[A] but not a scala.collection.Map.

    Attempt to determine if possibleIterable is a scala.collection.immutable.Iterable[A] but not a scala.collection.Map.

    This is kind of a stopgap solution because the subtype operator <:< doesn't really work well for Manifests. This is an issue because currently, Aloha uses Manifests rather than TypeTags for type checking. Comments in ClassManifestDeprecatedApis says:

    "this part is wrong for punting unless the rhs has no type arguments, but it's better than a blindfolded pinata swing."

    A

    element type

    Iter

    possible iterable type.

    a

    RefInfo instance of element type

    possibleIterable

    a possible Iterable

    returns

    true if possibleIterable is a scala.collection.immutable.Iterable[A] but not a scala.collection.Map[_, _].

  6. abstract def isSubType[Sub, Super](implicit sub: RefInfoType[Sub], sup: RefInfoType[Super]): Boolean

    Is Sub a subtype of Super

    Is Sub a subtype of Super

    Sub

    subtype in test

    Super

    supertype in test

    sub

    RefInfo instance of type A

    sup

    RefInfo instance of type A

  7. abstract def option[A](implicit arg0: RefInfoType[A]): RefInfoType[Option[A]]

    Get reflection information about Option.

    Get reflection information about Option.

    A

    type of Option

    returns

    reflection information about Option.

  8. abstract def toString[A](implicit arg0: RefInfoType[A]): String

    Get a string representation of the RefInfoType.

    Get a string representation of the RefInfoType. This should be adequate to full characterize the type and any type parameters (i.e., should contain the erased type information)

    A

    type of the reflected object whose string-based representation the function is retrieving.

    returns

    string-based representation of A

  9. abstract def typeParams[A](implicit a: RefInfoType[A]): List[RefInfoType[_]]

  10. abstract def validation[A, B](implicit arg0: RefInfoType[A], arg1: RefInfoType[B]): RefInfoType[Validation[A, B]]

    Get reflection information about scalaz.

    Get reflection information about scalaz.Validation.

    A

    left type parameter of Validation

    B

    right type parameter of Validation

    returns

    reflection information about scalaz.Validation

  11. abstract def validationNel[A, B](implicit arg0: RefInfoType[A], arg1: RefInfoType[B]): RefInfoType[ValidationNel[A, B]]

    Get reflection information about scalaz.

    Get reflection information about scalaz.ValidationNel.

    A

    left type parameter of ValidationNel

    B

    right type parameter of ValidationNel

    returns

    reflection information about scalaz.ValidationNel

Concrete Value Members

  1. final def !=(arg0: AnyRef): Boolean

    Definition Classes
    AnyRef
  2. final def !=(arg0: Any): Boolean

    Definition Classes
    Any
  3. final def ##(): Int

    Definition Classes
    AnyRef → Any
  4. final def ==(arg0: AnyRef): Boolean

    Definition Classes
    AnyRef
  5. final def ==(arg0: Any): Boolean

    Definition Classes
    Any
  6. final def asInstanceOf[T0]: T0

    Definition Classes
    Any
  7. def clone(): AnyRef

    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  8. final def eq(arg0: AnyRef): Boolean

    Definition Classes
    AnyRef
  9. def equals(arg0: Any): Boolean

    Definition Classes
    AnyRef → Any
  10. def finalize(): Unit

    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( classOf[java.lang.Throwable] )
  11. final def getClass(): Class[_]

    Definition Classes
    AnyRef → Any
  12. def hashCode(): Int

    Definition Classes
    AnyRef → Any
  13. final def isInstanceOf[T0]: Boolean

    Definition Classes
    Any
  14. final def ne(arg0: AnyRef): Boolean

    Definition Classes
    AnyRef
  15. final def notify(): Unit

    Definition Classes
    AnyRef
  16. final def notifyAll(): Unit

    Definition Classes
    AnyRef
  17. def refInfo[A](implicit arg0: RefInfoType[A]): RefInfoType[A]

    Get the RefInfoType instance for type A.

    Get the RefInfoType instance for type A.

    A

    type for which reflection information should be retrieved.

    returns

  18. final def synchronized[T0](arg0: ⇒ T0): T0

    Definition Classes
    AnyRef
  19. def toString(): String

    Definition Classes
    AnyRef → Any
  20. final def wait(): Unit

    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  21. final def wait(arg0: Long, arg1: Int): Unit

    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  22. final def wait(arg0: Long): Unit

    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  23. def wrap[A, B](implicit arg0: RefInfoType[A], arg1: RefInfoType[B]): Lift2[A, B]

    Provides a generic mechanism to wrap the types A and B inside a container taking two parameters.

    Provides a generic mechanism to wrap the types A and B inside a container taking two parameters.

    val w = RefInfoOps.wrap[String, Double]
    // pass around w to some other object ...
    val e: RefInfo[Either[String, Double]] = w.in[Either]
    
    import scalaz.Validation
    val v1 = RefInfoOps.wrap[String, Double].in[Validation]
    val v2 = RefInfoOps.validation[String, Double]
    assert(v1 == v2)
    A

    first type being lifted.

    B

    second type being lifted.

    returns

    a Lift2 instance containing information about A and B that can be used to later construct a RefInfoType from a kind passed to the in function.

  24. def wrap[A](implicit arg0: RefInfoType[A]): Lift1[A]

    Get a Lift1 instance to wrap type A in a RefInfoType.

    Get a Lift1 instance to wrap type A in a RefInfoType.

    val w = RefInfoOps.wrap[String]
    val o1 = w.in[Option]
    val o2 = RefInfoOps.option[String]
    assert(o1 == o2)
    A

    type being lifted

    returns

Inherited from AnyRef

Inherited from Any

Ungrouped