(org.everit.json.schema.Schema.)
вызывает конструктор, который не принимает аргументов, т. Е .:
class Schema {
protected Schema() {
...
}
}
Согласно Спецификации языка Java, если класс объявляет хотя бы один конструктор, конструктор по умолчанию без аргументов не будет сгенерирован компилятором. Так как класс Schema
определяет этот один конструктор, таким образом, компилятор не сгенерирует конструктор без аргументов, и единственный конструктор, доступный в этом классе, это Schema(Builder<?> builder)
.
Здесь показано, как можно создать фиктивные экземпляры Schema.Builder
и Schema
, используя proxy
в REPL:
(import 'org.everit.json.schema.Schema)
(import 'org.everit.json.schema.Schema$Builder)
(defn dummy-schema-builder []
(proxy [Schema$Builder] []))
(defn dummy-schema [builder]
(proxy [Schema] [builder]
(accept [visitor]
(println "Processing" visitor))))
(dummy-schema
(dummy-schema-builder))