=act Validate Actor class in Props.

This commit is contained in:
hepin1989 2020-03-26 13:00:30 +08:00
parent bf6576ce79
commit b324cbc351

View file

@ -20,9 +20,15 @@ private[akka] trait AbstractProps {
/**
* INTERNAL API
*/
private[akka] def validate(clazz: Class[_]) =
if (Modifier.isAbstract(clazz.getModifiers))
private[akka] def validate(clazz: Class[_]): Unit = {
if (Modifier.isAbstract(clazz.getModifiers)) {
throw new IllegalArgumentException(s"Actor class [${clazz.getName}] must not be abstract")
} else if (!classOf[Actor].isAssignableFrom(clazz) &&
!classOf[IndirectActorProducer].isAssignableFrom(clazz)) {
throw new IllegalArgumentException(
s"Actor class [${clazz.getName}] must be subClass of akka.actor.Actor or akka.actor.IndirectActorProducer.")
}
}
/**
* Java API: create a Props given a class and its constructor arguments.