Package org.apache.xmlbeans

## Class BindingConfig

- java.lang.Object
- - org.apache.xmlbeans.BindingConfig

- Direct Known Subclasses:
    `BindingConfigImpl`

      public class BindingConfig
      extends Object

  The BindingConfig class is used during compilation to control the generation of java source files. The default BindingConfig does nothing, but sub-classes should provide more interesting behavior.
  See Also:
    `XmlBeans.compileXmlBeans()`

- - ### Field Summary

    Fields
    Modifier and Type | Field | Description
    --- | --- | ---
    `static int` | `QNAME_ACCESSOR_ATTRIBUTE` |
    `static int` | `QNAME_ACCESSOR_ELEMENT` |
    `static int` | `QNAME_DOCUMENT_TYPE` |
    `static int` | `QNAME_TYPE` |

  - ### Constructor Summary

    Constructors
    Constructor | Description
    --- | ---
    `BindingConfig()` |

  - ### Method Summary

    All Methods Instance Methods Concrete Methods
    Modifier and Type | Method | Description
    --- | --- | ---
    `InterfaceExtension[]` | `getInterfaceExtensions()` |
    `InterfaceExtension[]` | `getInterfaceExtensions​(String fullJavaName)` |
    `PrePostExtension` | `getPrePostExtension​(String fullJavaName)` |
    `PrePostExtension[]` | `getPrePostExtensions()` |
    `UserType[]` | `getUserTypes()` |
    `String` | `lookupJavanameForQName​(QName qname, int kind)` |
    `String` | `lookupPackageForNamespace​(String uri)` |
    `String` | `lookupPrefixForNamespace​(String uri)` |
    `String` | `lookupSuffixForNamespace​(String uri)` |
    `UserType` | `lookupUserTypeForQName​(QName qname)` |

    - ### Methods inherited from class java.lang.Object

      `clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

- - ### Field Detail

    - #### QNAME_TYPE

          public static final int QNAME_TYPE

      See Also:
        Constant Field Values

    - #### QNAME_DOCUMENT_TYPE

          public static final int QNAME_DOCUMENT_TYPE

      See Also:
        Constant Field Values

    - #### QNAME_ACCESSOR_ELEMENT

          public static final int QNAME_ACCESSOR_ELEMENT

      See Also:
        Constant Field Values

    - #### QNAME_ACCESSOR_ATTRIBUTE

          public static final int QNAME_ACCESSOR_ATTRIBUTE

      See Also:
        Constant Field Values

  - ### Constructor Detail

    - #### BindingConfig

          public BindingConfig()

  - ### Method Detail

    - #### lookupPackageForNamespace

          public String lookupPackageForNamespace​(String uri)

      Parameters:
        `uri` - the namespace uri
      Returns:
        the package name for a namespace or null.

    - #### lookupPrefixForNamespace

          public String lookupPrefixForNamespace​(String uri)

      Parameters:
        `uri` - the namespace uri
      Returns:
        the prefix applied to each java name for a namespace or null.

    - #### lookupSuffixForNamespace

          public String lookupSuffixForNamespace​(String uri)

      Parameters:
        `uri` - the namespace uri
      Returns:
        Get the suffix applied to each java name for a namespace or null.

    - #### lookupJavanameForQName

          public String lookupJavanameForQName​(QName qname,
                                               int kind)

      Parameters:
        `qname` - the qname of the java name
        `kind` - the type of the qname, which one of `QNAME_TYPE`, `QNAME_DOCUMENT_TYPE`, `QNAME_ACCESSOR_ELEMENT`, `QNAME_ACCESSOR_ATTRIBUTE`
      Returns:
        Get the java name for a QName of a specific component kind, or null.

    - #### getInterfaceExtensions

          public InterfaceExtension[] getInterfaceExtensions()

      Returns:
        all configured InterfaceExtensions or an empty array.

    - #### getInterfaceExtensions

          public InterfaceExtension[] getInterfaceExtensions​(String fullJavaName)

      Parameters:
        `fullJavaName` - the fully qualified java type name
      Returns:
        all InterfaceExtensions defined for the fully qualified java type generated from schema compilation or an empty array.

    - #### getPrePostExtensions

          public PrePostExtension[] getPrePostExtensions()

      Returns:
        all configued PrePostExtensions or an empty array.

    - #### getPrePostExtension

          public PrePostExtension getPrePostExtension​(String fullJavaName)

      Parameters:
        `fullJavaName` - the fully qualified java type name
      Returns:
        the PrePostExtension defined for the fully qualified java type generated from schema compilation or null.

    - #### getUserTypes

          public UserType[] getUserTypes()

      Returns:
        all defined user types.

    - #### lookupUserTypeForQName

          public UserType lookupUserTypeForQName​(QName qname)

      Parameters:
        `qname` - the qname of the user type
      Returns:
        a user defined Java type for a given QName.