public P window( String window ) { WindowReferenceDescr wd = new WindowReferenceDescr( window ); descr.setSource( wd ); return parent; } }
public P entryPoint( String entryPoint ) { EntryPointDescr ep = new EntryPointDescr( entryPoint ); descr.setSource( ep ); return parent; }
public AccumulateDescrBuilder<P> accumulate() { AccumulateDescrBuilder<P> accumulate = new AccumulateDescrBuilderImpl<P>( parent ); descr.setSource( accumulate.getDescr() ); return accumulate; }
public CollectDescrBuilder<P> collect() { CollectDescrBuilder<P> collect = new CollectDescrBuilderImpl<P>( parent ); descr.setSource( collect.getDescr() ); return collect; }
public Object end(final String uri, final String localName, final ExtensibleXmlParser parser) throws SAXException { final Element element = parser.endElementBuilder(); final CollectDescr collectDescr = (CollectDescr) parser.getCurrent(); final Object parent = parser.getParent(); if ( parent.getClass().getName().equals( FromDescr.class.getName() ) ) { final PatternDescr resultPattern = (PatternDescr) parser.getParent( 1 ); resultPattern.setSource( collectDescr ); } else if ( parent instanceof ConditionalElementDescr ) { final ConditionalElementDescr parentDescr = (ConditionalElementDescr) parent; parentDescr.addDescr( collectDescr ); } return collectDescr; }
public Object end(final String uri, final String localName, final ExtensibleXmlParser parser) throws SAXException { final Element element = parser.endElementBuilder(); final FromDescr fromDescr = (FromDescr) parser.getCurrent(); Object parent = parser.getParent(); final PatternDescr patternDescr = (PatternDescr) parent; final ConditionalElementDescr parentDescr = (ConditionalElementDescr) parser.getParent( 1 ); if ( element.getElementsByTagName( "expression" ).getLength() > 0 ) { patternDescr.setSource( fromDescr ); } return fromDescr; }
public Object end(final String uri, final String localName, final ExtensibleXmlParser parser) throws SAXException { final Element element = parser.endElementBuilder(); final AccumulateDescr accumulateDescr = (AccumulateDescr) parser.getCurrent(); final Object parent = parser.getParent(); if ( parent.getClass().getName().equals( FromDescr.class.getName() ) ) { final PatternDescr result = (PatternDescr) parser.getParent( 1 ); result.setSource( accumulateDescr ); } else if ( parent instanceof ConditionalElementDescr ) { final ConditionalElementDescr parentDescr = (ConditionalElementDescr) parent; parentDescr.addDescr( accumulateDescr ); } return accumulateDescr; }
public P expression( String expression ) { FromDescr from = new FromDescr(); from.setDataSource( new MVELExprDescr( expression ) ); descr.setSource( from ); return parent; }
/** * {@inheritDoc} */ public AccumulateDescrBuilder<CEDescrBuilder<P, T>> accumulate() { // here we have to do a trick as a top level accumulate is just an accumulate // whose result pattern is Object[] // create a linked Object[] pattern and set it to query false PatternDescrBuilder<CEDescrBuilder<P,T>> pdb = pattern("Object[]").isQuery( false ); // create the accumulate builder with this CE as its parent AccumulateDescrBuilder<CEDescrBuilder<P, T>> accumulate = new AccumulateDescrBuilderImpl<CEDescrBuilder<P, T>>(this) .multiFunction( true ); // set the accumulate descriptor as the source of that pattern descr pdb.getDescr().setSource( accumulate.getDescr() ); // return the accumulate builder, that has the properly set parent return accumulate; }
public Object clone() { PatternDescr clone = new PatternDescr( this.objectType, this.identifier ); clone.setQuery( this.query ); clone.setUnification( unification ); clone.setLeftParentCharacter( this.leftParentCharacter ); clone.setRightParentCharacter( this.rightParentCharacter ); clone.setSource( this.source ); clone.setStartCharacter( this.getStartCharacter() ); clone.setEndCharacter( this.getEndCharacter() ); clone.setLocation( this.getLine(), this.getColumn() ); clone.setEndLocation( this.getEndLine(), this.getEndColumn() ); clone.setText( this.getText() ); for ( BaseDescr constraint : this.getDescrs() ) { clone.addConstraint( constraint ); } if ( behaviors != null ) { for ( BehaviorDescr behavior : behaviors ) { clone.addBehavior( behavior ); } } return clone; }