{
  "model": {
    "kind": "model",
    "name": "jaxb",
    "title": "JAXB",
    "description": "Unmarshal XML payloads to POJOs and back using JAXB2 XML marshalling standard.",
    "deprecated": false,
    "firstVersion": "1.0.0",
    "label": "dataformat,transformation,xml",
    "javaType": "org.apache.camel.model.dataformat.JaxbDataFormat",
    "input": false,
    "output": false
  },
  "properties": {
    "contextPath": { "kind": "attribute", "displayName": "Context Path", "required": true, "type": "string", "javaType": "java.lang.String", "deprecated": false, "secret": false, "description": "Package name where your JAXB classes are located." },
    "contextPathIsClassName": { "kind": "attribute", "displayName": "Context Path Is Class Name", "required": false, "type": "boolean", "javaType": "java.lang.Boolean", "deprecated": false, "secret": false, "defaultValue": false, "description": "This can be set to true to mark that the contextPath is referring to a classname and not a package name." },
    "schema": { "kind": "attribute", "displayName": "Schema", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "secret": false, "description": "To validate against an existing schema. Your can use the prefix classpath:, file: or http: to specify how the resource should by resolved. You can separate multiple schema files by using the ',' character." },
    "schemaSeverityLevel": { "kind": "attribute", "displayName": "Schema Severity Level", "required": false, "type": "enum", "javaType": "java.lang.Integer", "enum": [ "0", "1", "2" ], "deprecated": false, "secret": false, "defaultValue": "0", "description": "Sets the schema severity level to use when validating against a schema. This level determines the minimum severity error that triggers JAXB to stop continue parsing. The default value of 0 (warning) means that any error (warning, error or fatal error) will trigger JAXB to stop. There are the following three levels: 0=warning, 1=error, 2=fatal error." },
    "prettyPrint": { "kind": "attribute", "displayName": "Pretty Print", "required": false, "type": "boolean", "javaType": "java.lang.Boolean", "deprecated": false, "secret": false, "defaultValue": false, "description": "To enable pretty printing output nicely formatted. Is by default false." },
    "objectFactory": { "kind": "attribute", "displayName": "Object Factory", "required": false, "type": "boolean", "javaType": "java.lang.Boolean", "deprecated": false, "secret": false, "defaultValue": false, "description": "Whether to allow using ObjectFactory classes to create the POJO classes during marshalling. This only applies to POJO classes that has not been annotated with JAXB and providing jaxb.index descriptor files." },
    "ignoreJAXBElement": { "kind": "attribute", "displayName": "Ignore JAXBElement", "required": false, "type": "boolean", "javaType": "java.lang.Boolean", "deprecated": false, "secret": false, "defaultValue": false, "description": "Whether to ignore JAXBElement elements - only needed to be set to false in very special use-cases." },
    "mustBeJAXBElement": { "kind": "attribute", "displayName": "Must Be JAXBElement", "required": false, "type": "boolean", "javaType": "java.lang.Boolean", "deprecated": false, "secret": false, "defaultValue": false, "description": "Whether marhsalling must be java objects with JAXB annotations. And if not then it fails. This option can be set to false to relax that, such as when the data is already in XML format." },
    "filterNonXmlChars": { "kind": "attribute", "displayName": "Filter Non Xml Chars", "required": false, "type": "boolean", "javaType": "java.lang.Boolean", "deprecated": false, "secret": false, "defaultValue": false, "description": "To ignore non xml characheters and replace them with an empty space." },
    "encoding": { "kind": "attribute", "displayName": "Encoding", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "secret": false, "description": "To overrule and use a specific encoding" },
    "fragment": { "kind": "attribute", "displayName": "Fragment", "required": false, "type": "boolean", "javaType": "java.lang.Boolean", "deprecated": false, "secret": false, "defaultValue": false, "description": "To turn on marshalling XML fragment trees. By default JAXB looks for XmlRootElement annotation on given class to operate on whole XML tree. This is useful but not always - sometimes generated code does not have XmlRootElement annotation, sometimes you need unmarshall only part of tree. In that case you can use partial unmarshalling. To enable this behaviours you need set property partClass. Camel will pass this class to JAXB's unmarshaler." },
    "partClass": { "kind": "attribute", "displayName": "Part Class", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "secret": false, "description": "Name of class used for fragment parsing. See more details at the fragment option." },
    "partNamespace": { "kind": "attribute", "displayName": "Part Namespace", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "secret": false, "description": "XML namespace to use for fragment parsing. See more details at the fragment option." },
    "namespacePrefixRef": { "kind": "attribute", "displayName": "Namespace Prefix Ref", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "secret": false, "description": "When marshalling using JAXB or SOAP then the JAXB implementation will automatic assign namespace prefixes, such as ns2, ns3, ns4 etc. To control this mapping, Camel allows you to refer to a map which contains the desired mapping." },
    "xmlStreamWriterWrapper": { "kind": "attribute", "displayName": "Xml Stream Writer Wrapper", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "secret": false, "description": "To use a custom xml stream writer." },
    "schemaLocation": { "kind": "attribute", "displayName": "Schema Location", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "secret": false, "description": "To define the location of the schema" },
    "noNamespaceSchemaLocation": { "kind": "attribute", "displayName": "No Namespace Schema Location", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "secret": false, "description": "To define the location of the namespaceless schema" },
    "jaxbProviderProperties": { "kind": "attribute", "displayName": "Jaxb Provider Properties", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "secret": false, "description": "Refers to a custom java.util.Map to lookup in the registry containing custom JAXB provider properties to be used with the JAXB marshaller." },
    "contentTypeHeader": { "kind": "attribute", "displayName": "Content Type Header", "required": false, "type": "boolean", "javaType": "java.lang.Boolean", "deprecated": false, "secret": false, "defaultValue": false, "description": "Whether the data format should set the Content-Type header with the type from the data format if the data format is capable of doing so. For example application\/xml for data formats marshalling to XML, or application\/json for data formats marshalling to JSON etc." },
    "id": { "kind": "attribute", "displayName": "Id", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "secret": false, "description": "The id of this node" }
  }
}
