#
# Property file for SourceCodeGenerator
#
# $Id$

# Enables bound properties (property change listener notification upon change).
# Note that *all* fields will currently be treated as bound properties if this
# is enabled.  This will change in the future when we introduce finely-grained
# control over each class and its properties.
#
# Possible values:
# - false (default)
# - true
#
# <pre>
# org.exolab.castor.builder.boundproperties
# </pre>
org.exolab.castor.builder.boundproperties=false

# Selects the Java class mapping for <xsd:element>'s and <xsd:complexType>'s.
# Legal values are 'element' and 'type'.  For 'element' mapping, the source
# generator creates a Java class hierarchy based on elements in the XML Schema.
# For 'type' mapping, the class hierarchy is based on types in the XML Schema.
#
# Possible values:
# - element (default) 
# - type
#
# <pre>
# org.exolab.castor.builder.javaclassmapping
# </pre>
#org.exolab.castor.builder.javaclassmapping=element

# Specifies a super class for *all* generated classes.
# By default the generated classes do not extend another class.
#
# Possible values:
# - <null> (default)
# - A valid class name
#
# <pre>
# org.exolab.castor.builder.superclass
# </pre>
#
# Sample:
# <pre>
# org.exolab.castor.builder.superclass=com.xyz.BaseObject
# </pre>
#
org.exolab.castor.builder.superclass=

# Specifies an XML namespace to Java package mapping; by default,
# no such mapping is declared and applied.
#
# Possible values:
# - <null>
# - A list of mappings (as shown below).
#
# Name of the property:
# <pre>
# org.exolab.castor.builder.nspackages
# </pre>
#
# Sample:
# <pre>
#org.exolab.castor.builder.nspackages=\
#  http://www.xyz.com/schemas/project=com.xyz.schemas.project,\
#  http://www.xyz.com/schemas/person=com.xyz.schemas.person
# </pre>
#
org.exolab.castor.builder.nspackages=

# Enables generation of equals() and hashCode() methods for each generated
# class.  By default, these methods are not generated.
#
# Possible values:
# - false (default) 
# - true
#
# Property name:
# <pre>
# org.exolab.castor.builder.equalsmethod
# </pre>
#
org.exolab.castor.builder.equalsmethod=false

# Triggers use of java.lang.Object-based wrappers instead of primitives 
# (e.g java.lang.Float instead of float).
#
# Possible values:
# - false (default) 
# - true
#
# Property name:
# <pre>
# org.exolab.castor.builder.primitivetowrapper
# </pre>
#
org.exolab.castor.builder.primitivetowrapper=false

# Set to true if you want the generated class descriptors to publicly expose
# the element and attribute names they contain.  Best practices generally
# discourage this, so only enable this feature if it is truly needed.
#
# Possible values:
# - false (default) 
# - true
#
# <pre>
# org.exolab.castor.builder.classdescfieldnames
# </pre>
#
org.exolab.castor.builder.classdescfieldnames=false

# Enables generation of extra methods for collection fields, such as get/set by
# reference and set as copy.  Extra methods are in addition to the usual
# collection get/set methods.  Set this to true if you want your code to be
# more compatible  with Castor JDO.
#
# Possible values:
# - false (default) 
# - true
#
# <pre>
# org.exolab.castor.builder.extraCollectionMethods
# </pre>
#
org.exolab.castor.builder.extraCollectionMethods=false

# Selects old-style (Castor 0.9.3.9 and earlier) naming that uppercases names
# after an underscore.  For new implementations, this is usually not useful.
#
# Possible values:
# - false (default) 
# - true
#
# <pre>
# org.exolab.castor.xml.JavaNaming.upperCaseAfterUnderscore
# </pre>
#
org.exolab.castor.xml.JavaNaming.upperCaseAfterUnderscore=false

# Specifies whether generated enumeration type classes should implement the
# org.exolab.castor.types.EnumeratedTypeAccess interface.
# TODO: to document in reference guide
#
# Possible values:
# - false (default) 
# - true
#
# <pre>
# org.exolab.castor.builder.enumTypeAccessInterface
# </pre>
#
org.exolab.castor.builder.enumTypeAccessInterface=false

# Specifies whether the sources generated should be source compatible with
# Java 1.4 or Java 5. When "5.0" is selected, generated source will use 
# Java 5 features such as generics and annotations.
#
# Possible values:
# - 1.4
# - 5.0 (default)  
# 
# Sample:
# <pre>
# org.exolab.castor.builder.javaVersion=1.4
# </pre>
#
# <pre>
# org.exolab.castor.builder.javaVersion
# </pre>
#
org.exolab.castor.builder.javaVersion=5.0

# Forces the code generator to create 'old' Java 1.4 enumeration 
# classes instead of genuine Java 5 enums for <xs:simpleType> 
# enumerations, even in Java 5 mode.
#
# Possible values:
# - false (default) 
# - true
#
# <pre>
# org.exolab.castor.builder.forceJava4Enums
# </pre>
#
org.exolab.castor.builder.forceJava4Enums=false

# Specifies the maximum number of (enumeration) constant definitions to be
# allowed in a single generated source file.  The JVM has limits on the
# (compiled) size of a single method and on the number of entries in the
# constant pool for a class.  This setting prevents a generated enumeration
# class from containing so many constants that it cannot compile.
# TODO: document in reference guide
#
# Possible values:
# - Any number (default 1000) 
#
# Sample:
# <pre>
# org.exolab.castor.builder.maxNumberOfConstants=5000
# </pre>
#
# <pre>
# org.exolab.castor.builder.maxNumberOfConstants
# </pre>
org.exolab.castor.builder.maxNumberOfConstants=1000

# Pre-registers resolution strategies for name conflicts within 
# an XML Schema (such as a complex type and a global element with the same 
# name).
# TODO: document in reference guide
#
# Current values:
# - org.exolab.castor.builder.conflictresolution.WarningViaDialogClassNameCRStrategy
# - org.exolab.castor.builder.conflictresolution.InformViaLogClassNameCRStrategy
#
# <pre>
# org.exolab.castor.builder.nameConflictStrategies
# </pre>
#
org.exolab.castor.builder.nameConflictStrategies=\
   org.exolab.castor.builder.conflictresolution.WarningViaDialogClassNameCRStrategy,\
   org.exolab.castor.builder.conflictresolution.InformViaLogClassNameCRStrategy

# Specifies whether automatic class name conflict resolution
# should be used or not to resolve name conflicts during code
# generation.
# TODO: document in reference guide
#
# Possible values:
# - false (default) 
# - true
#
# <pre>
# org.exolab.castor.builder.automaticConflictResolution
# </pre>
#
org.exolab.castor.builder.automaticConflictResolution=false

# With automatic name conflict resolution enabled in type mode, this 
# property specifies the 'string' used to be inserted between 
# the actual element name and the type name.
# TODO: document in reference guide
#
# Possible values:
# - Any text (default 'By')
# 
# Sample:
# <pre>
# org.exolab.castor.builder.automaticConflictResolutionTypeSuffix=CustomBy
# </pre>
#
# <pre>
# org.exolab.castor.builder.automaticConflictResolutionTypeSuffix
# </pre>
org.exolab.castor.builder.automaticConflictResolutionTypeSuffix=By

# Enlists the supported <tt>org.exolab.castor.builder.printing.JClassPrinterFactory</tt> 
# instances available for instantiation of <tt>JClassPrinter</tt> instances; 
# these in turn are responsible for writing <tt>org.exolab.javasource.JClass</tt>
# instances to the file system. <br/><br/>
# The desired <tt>JClassPrinterFactory</tt> can be set programmatically 
# by calling <tt>Sourcegenerator.setJClassPrinterType('type name')</tt>.
#
# Current values:
# - org.exolab.castor.builder.printing.TemplateJClassPrinterFactory
# - org.exolab.castor.builder.printing.StandardJClassPrinterFactory
#
# <pre>
# org.exolab.castor.builder.jclassPrinterFactories
# </pre>
org.exolab.castor.builder.jclassPrinterFactories=\
   org.exolab.castor.builder.printing.TemplateJClassPrinterFactory,\
   org.exolab.castor.builder.printing.StandardJClassPrinterFactory

# Property specifying whether extra members/methods for extracting 
# XML schema documentation should be made available.
#
# Possible values:
# - false (default)
# - true
#
# <pre>
# org.exolab.castor.builder.extraDocumentationMethods
# </pre>
org.exolab.castor.builder.extraDocumentationMethods=false

# Property specifying whether cycle breaker code should be added
# to generated methods 'equals' and 'hashcode'. 
#
# Possible values:
# - true (default)
# - false
#
# <pre>
# org.exolab.castor.builder.useCycleBreaker
# </pre>
org.exolab.castor.builder.useCycleBreaker=true

#
# Property specifying whether for Java field names the old naming conventions
# should be used.
#
# Possible values:
# - true
# - false (false)
# 
# <pre>
# org.exolab.castor.builder.field-naming.old = false
# </pre>
#
org.exolab.castor.builder.field-naming.old=false
