2015-05-07 30 views
7

Bir diziyi bir ek açıklamaya parametre olarak aktarma hakkında birçok soru vardır, bunların bir kopyası yoktur.Bir ek açıklama için parametre olarak ek açıklamaların dizisi, Scala

ek açıklamaları dizisini bir parametre olarak alan bir Java-arazi notu kullanmak istiyorum.

@ManagedOperation 
@ManagedOperationParameters({ 
    @ManagedOperationParameter(name="start"), 
    @ManagedOperationParameter(name="end") 
}) 
def stuff(start: String, end: String): Unit = ??? 

Ama bu Scala geçerli sözdizimi değil, ne de olsa mümkün olup olmadığını,

@ManagedOperation 
@ManagedOperationParameters(Array(
    @ManagedOperationParameter(name="start"), 
    @ManagedOperationParameter(name="end") 
)) 
def stuff(start: String, end: String): Unit = ??? 

yüzden bunu yapmak için doğru yolu nedir nedir?

BTW, herhangi bir Scala devresinin bunu (Spring JMX) ek açıklamalarını kullanıp kullanmadığını görmek için bile checked all of github.

+0

edin. – igreen

+0

Çalıştığını kontrol etmem gerek, sormaya gerek yok. – fommil

cevap

3

scala olarak iç açıklama düzenli türü olarak kullanılmalıdır: cevabım o kadar doğru işaretleyin sorunu çözmek

@JsonTypeInfo(
    use = JsonTypeInfo.Id.NAME, 
    include = JsonTypeInfo.As.PROPERTY, 
    property = "moduleType", 
    defaultImpl = classOf[PuppetModule] 
) 
@JsonSubTypes(Array(
    new Type(value = classOf[PuppetModule], name = "puppet"), 
    new Type(value = classOf[PluginModule], name = "plugin") 
)) 
trait Module { 
    val moduleType: String = if (this.isInstanceOf[PuppetModule]) "puppet" else "plugin" 
    val nodes: List[String] = List[String]() 
} 
+0

Şimdi scala 2.12.3 kullanıyorum. Derleyici bana şöyle dedi: "ek açıklama argümanı sabit olmalı." "yeni Tür (...)" geçersiz. Yanlış mıyım ? Teşekkür ederim. –

+0

@ZhuOYING Sadece 2.12.3 ile env'de test ediyorum ve derliyor ... bu hatayı görüyor musunuz? IDE? – igreen

+0

Evet, 'IntelliJ IDEA 2017.1.2' kullanıyorum. –

İlgili konular