Annotation Type AutoProtoSchemaBuilder

    • Element Detail

      • className

        String className
        The name of the generated Java implementation class (optional). If missing, the name of the current class plus the "Impl" suffix is assumed by default.
        Default:
        ""
      • schemaFileName

        String schemaFileName
        The generated Protobuf schema file name (optional). It can contain '/' characters, so it might appear like a relative name. Must end with ".proto" suffix. The schema will be registered under this name in the SerializationContext. If missing, the simple name of the annotated class will be used plus the ".proto" suffix.
        Default:
        ""
      • schemaFilePath

        String schemaFilePath
        Generated Protobuf schema resource file path (optional). If this is present then a resource file is generated in the designated path, with the given file name, and will be available to the ClassLoader at runtime, otherwise the generated schema file is directly baked as a String constant into the generated class.
        Default:
        ""
      • schemaPackageName

        String schemaPackageName
        Package of the generated Protobuf schema. This is optional. If the package name is not specified then the unnamed/default package is assumed.
        Default:
        ""
      • basePackages

        String[] basePackages
        The list of packages to scan (optional). The packages are scanned for annotated classes recursively. If basePackages is empty then all packages are considered. The packages are filtered based on the includeClasses()/excludeClasses() filter. If neither includeClasses() nor basePackages was specified then the entire source path will be scanned. This last option should only be used in very simple demo projects.
        Default:
        {}
      • includeClasses

        Class<?>[] includeClasses
        Annotated classes to process (optional). These classes must be located in the packages (or the subpackages) listed under basePackages() (if specified) or they will be skipped. If includeClasses is empty, all ProtoXyz annotated classes that belong to the packages listed in basePackages() will be scanned. If neither includeClasses nor basePackages() was specified then the entire source path will be scanned. This last option should only be used in very simple demo projects.
        Default:
        {}
      • excludeClasses

        Class<?>[] excludeClasses
        Classes to be explicitly excluded.
        Default:
        {}
      • autoImportClasses

        boolean autoImportClasses
        Indicates if we accept classes not explicitly included by includeClasses() and basePackages() to be auto-detected by reference from the already included classes and to be added automatically. If this is set to false it fails if such a case is encountered.
        Default:
        false
      • service

        boolean service
        Enable generation of a META-INF/services file for the generated class of the SerializationContextInitializer implementation to be loadable by the ServiceLoader. This is optional and provided for convenience.
        Default:
        false