Class ParticleBinder

java.lang.Object
com.sun.tools.xjc.reader.xmlschema.ParticleBinder

public abstract class ParticleBinder extends Object
Binds the content models of XSParticle as properties of the class that's being built.
Author:
Kohsuke Kawaguchi ([email protected])
  • Field Details

  • Constructor Details

    • ParticleBinder

      protected ParticleBinder()
  • Method Details

    • build

      public final void build(XSParticle p)
      Builds the CPropertyInfos from the given particle (and its descendants), and set them to the class returned by ClassSelector.getCurrentBean().
    • build

      public abstract void build(XSParticle p, Collection<XSParticle> forcedProps)
      The version of the build method that forces a specified set of particles to become a property.
    • checkFallback

      public abstract boolean checkFallback(XSParticle p)
      Similar to the build method but this method only checks if the BGM that will be built by the build method will do the fallback (map all the properties into one list) or not.
      Returns:
      false if the fallback will not happen.
    • getCurrentBean

      protected final CClassInfo getCurrentBean()
    • getLocalPropCustomization

      protected final BIProperty getLocalPropCustomization(XSParticle p)
      Gets the BIProperty object that applies to the given particle.
    • getLocalCustomization

      protected final <T extends BIDeclaration> T getLocalCustomization(XSParticle p, Class<T> type)
    • computeLabel

      protected final String computeLabel(XSParticle p)
      Computes the label of a given particle. Usually, the getLabel method should be used instead.
    • makeJavaName

      protected final String makeJavaName(boolean isRepeated, String xmlName)
      Converts an XML name to the corresponding Java name.
    • makeJavaName

      protected final String makeJavaName(XSParticle p, String xmlName)
    • getSpecDefaultName

      protected final String getSpecDefaultName(XSModelGroup mg, boolean repeated) throws ParseException
      Computes a name from unnamed model group by following the spec. Taking first three elements and combine them.
      Parameters:
      repeated - if the said model group is repeated more than once
      Throws:
      ParseException - If the method cannot generate a name. For example, when a model group doesn't contain any element reference/declaration at all.
    • getErrorReporter

      protected final ErrorReporter getErrorReporter()
    • getClassSelector

      protected final ClassSelector getClassSelector()