groovy.transform
@Documented @Retention(value=SOURCE) @Target(value={TYPE,METHOD,FIELD}) public @interface PackageScope
or for greater control, at the class level with one or more@PackageScope class Bar { // package protected@PackageScope int field // package protected; not a property@PackageScope method(){} // package protected }
PackageScopeTarget values:
import static groovy.transform.PackageScopeTarget.*This transformation is typically only used in conjunction with a third-party library or framework which relies upon package scoping.@PackageScope([CLASS, FIELDS]) class Foo { // class will have package protected scope int field1, field2 // both package protected def method(){} // public }@PackageScope(METHODS) class Bar { // public int field // treated as a property def method1(){} // package protected def method2(){} // package protected }
| Modifier and Type | Optional Element and Description |
|---|---|
PackageScopeTarget[] |
value |
public abstract PackageScopeTarget[] value