Merge pull request #28813 from hepin1989/validate

=act Validate Actor class in Props.
This commit is contained in:
Renato Cavalcanti 2020-03-30 11:55:41 +02:00 committed by GitHub
commit a183f7441b
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23

View file

@ -20,9 +20,15 @@ private[akka] trait AbstractProps {
/** /**
* INTERNAL API * INTERNAL API
*/ */
private[akka] def validate(clazz: Class[_]) = private[akka] def validate(clazz: Class[_]): Unit = {
if (Modifier.isAbstract(clazz.getModifiers)) if (Modifier.isAbstract(clazz.getModifiers)) {
throw new IllegalArgumentException(s"Actor class [${clazz.getName}] must not be abstract") 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. * Java API: create a Props given a class and its constructor arguments.