org.jibx.binding.model
Class BindingHolder

java.lang.Object
  extended by org.jibx.binding.model.BindingHolder

public class BindingHolder
extends java.lang.Object

External data for a binding definition. This tracks references to other bindings, along with the associated namespace information.

Author:
Dennis M. Sosnoski

Field Summary
private  BindingElement m_binding
          Actual binding definition.
private  java.lang.String m_bindingName
          Binding name.
private  boolean m_elementDefault
          Namespace used by default for elements flag.
private  java.lang.String m_fileName
          Name for file to be written from binding.
private  boolean m_finished
          Binding finalized flag.
private  LazyList m_mappings
          List of mapping definitions in binding.
private  java.lang.String m_namespace
          Namespace URI associated with this binding (null if no-namespace binding).
private  BindingOrganizer m_organizer
          Organizer managing this holder.
private  InsertionOrderedSet m_referencedNamespaces
          Set of namespaces referenced across bindings.
 
Constructor Summary
BindingHolder(java.lang.String uri, boolean dflt, BindingOrganizer dir)
          Constructor.
 
Method Summary
 void addMapping(MappingElementBase mapping)
          Add a mapping definition to the binding.
 void addNamespaceDependency(java.lang.String uri)
          Add namespace required for this binding.
private  void checkModifiable()
          Internal check method to verify that the binding is still modifiable.
(package private)  void finish(java.util.Collection formats, java.util.Collection includes, boolean dfltns, java.util.Set nsset, java.util.Map nsprefixmap)
          Finishes building the binding.
 BindingElement getBinding()
          Get the binding element.
 java.lang.String getBindingName()
          Get binding name.
 java.lang.String getElementDefaultNamespace()
          Get default namespace URI for elements defined in this binding.
 java.lang.String getFileName()
          Get the file name to be used for this file.
 int getMappingCount()
          Get the number of mapping definitions present in this binding.
 java.lang.String getNamespace()
          Get namespace URI associated with this binding.
 BindingOrganizer getOrganizer()
          Get the binding organizer managing this holder.
 void setBinding(BindingElement bind)
          Set the binding element.
 void setBindingName(java.lang.String name)
          Set binding name.
 void setFileName(java.lang.String name)
          Set the file name to be used for this file.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

m_organizer

private final BindingOrganizer m_organizer
Organizer managing this holder.


m_namespace

private final java.lang.String m_namespace
Namespace URI associated with this binding (null if no-namespace binding).


m_elementDefault

private final boolean m_elementDefault
Namespace used by default for elements flag.


m_referencedNamespaces

private final InsertionOrderedSet m_referencedNamespaces
Set of namespaces referenced across bindings.


m_binding

private BindingElement m_binding
Actual binding definition.


m_finished

private boolean m_finished
Binding finalized flag.


m_fileName

private java.lang.String m_fileName
Name for file to be written from binding.


m_bindingName

private java.lang.String m_bindingName
Binding name.


m_mappings

private final LazyList m_mappings
List of mapping definitions in binding.

Constructor Detail

BindingHolder

public BindingHolder(java.lang.String uri,
                     boolean dflt,
                     BindingOrganizer dir)
Constructor.

Parameters:
uri - (null if no-namespace binding)
dflt - namespace is default for elements flag
dir - directory managing this holder
Method Detail

getOrganizer

public BindingOrganizer getOrganizer()
Get the binding organizer managing this holder.

Returns:
directory

getNamespace

public java.lang.String getNamespace()
Get namespace URI associated with this binding.

Returns:
namespace (null if no-namespace)

getElementDefaultNamespace

public java.lang.String getElementDefaultNamespace()
Get default namespace URI for elements defined in this binding.

Returns:
namespace (null if no-namespace)

getBinding

public BindingElement getBinding()
Get the binding element.

Returns:
binding

setBinding

public void setBinding(BindingElement bind)
Set the binding element. This method is provided so that the generated binding element can be replaced by one which has been read in from a file after being written.

Parameters:
bind -

checkModifiable

private void checkModifiable()
Internal check method to verify that the binding is still modifiable.


getFileName

public java.lang.String getFileName()
Get the file name to be used for this file.

Returns:
name (null if not set)

setFileName

public void setFileName(java.lang.String name)
Set the file name to be used for this file.

Parameters:
name -

getBindingName

public java.lang.String getBindingName()
Get binding name.

Returns:
name

setBindingName

public void setBindingName(java.lang.String name)
Set binding name.

Parameters:
name -

addMapping

public void addMapping(MappingElementBase mapping)
Add a mapping definition to the binding.

Parameters:
mapping -

getMappingCount

public int getMappingCount()
Get the number of mapping definitions present in this binding.

Returns:
count

addNamespaceDependency

public void addNamespaceDependency(java.lang.String uri)
Add namespace required for this binding.

Parameters:
uri - namespace for binding of referenced component

finish

void finish(java.util.Collection formats,
            java.util.Collection includes,
            boolean dfltns,
            java.util.Set nsset,
            java.util.Map nsprefixmap)
Finishes building the binding.

Parameters:
formats - format elements to be used in binding
includes - include elements to be used in binding
dfltns - binding namespace is the default namespace flag
nsset - set of namespaces defined outside this binding
nsprefixmap - map from namespace URI to prefix


Project Web Site