Class 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])
    • Constructor Detail

      • ParticleBinder

        protected ParticleBinder()
    • Method Detail

      • 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.
      • 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.
      • 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()