protected PatternDescrBuilderImpl(P parent, String type) { super( parent, new PatternDescr( type ) ); this.parent = parent; }
public FieldDescrBuilder type( String type ) { descr.setPattern( new PatternDescr( type ) ); return this; }
public Object start(final String uri, final String localName, final Attributes attrs, final ExtensibleXmlParser parser) throws SAXException { parser.startElementBuilder( localName, attrs ); final String objectType = attrs.getValue( "object-type" ); if ( objectType == null || objectType.trim().equals( "" ) ) { throw new SAXParseException( "<pattern> requires an 'object-type' attribute", parser.getLocator() ); } PatternDescr patternDescr = null; final String identifier = attrs.getValue( "identifier" ); if ( identifier == null || identifier.trim().equals( "" ) ) { patternDescr = new PatternDescr( objectType ); } else { patternDescr = new PatternDescr( objectType, identifier ); } return patternDescr; }
private TypeDeclarationDescr makePseudoTypeDeclarationDescrFromSuperClassType(String className, List< ? > jars) { Class< ? > clazz = loadClass( className, jars ); if ( clazz != null ) { Method[] methods = clazz.getMethods(); Map<String, MethodSignature> methodSignatures = getMethodSignatures( className, methods ); TypeDeclarationDescr td = new TypeDeclarationDescr(); td.setTypeName( className ); for ( Map.Entry<String, MethodSignature> e : methodSignatures.entrySet() ) { if ( e.getValue().accessorAndMutator == FieldAccessorsAndMutators.BOTH ) { String fieldShortName = getShortNameOfClass( e.getKey() ); TypeFieldDescr fieldDescr = new TypeFieldDescr( fieldShortName ); PatternDescr patternDescr = new PatternDescr( e.getValue().returnType.getName() ); fieldDescr.setPattern( patternDescr ); td.addField( fieldDescr ); } } return td; } return null; }
private TypeDeclarationDescr makePseudoTypeDeclarationDescrFromSuperClassType(String className, List< ? > jars) { Class< ? > clazz = loadClass( className, jars ); if ( clazz != null ) { Method[] methods = clazz.getMethods(); Map<String, MethodSignature> methodSignatures = getMethodSignatures( className, methods ); TypeDeclarationDescr td = new TypeDeclarationDescr(); td.setTypeName( className ); for ( Map.Entry<String, MethodSignature> e : methodSignatures.entrySet() ) { if ( e.getValue().accessorAndMutator == FieldAccessorsAndMutators.BOTH ) { String fieldShortName = getShortNameOfClass( e.getKey() ); TypeFieldDescr fieldDescr = new TypeFieldDescr( fieldShortName ); PatternDescr patternDescr = new PatternDescr( e.getValue().returnType.getName() ); fieldDescr.setPattern( patternDescr ); td.addField( fieldDescr ); } } return td; } return null; }
TypeFieldDescr inheritedFlDescr = new TypeFieldDescr( name, new PatternDescr( inspector.getFieldTypes().get( name ).getName() ) ); inheritedFlDescr.setInherited( !Modifier.isAbstract( inspector.getGetterMethods().get( name ).getModifiers() ) );
protected TypeFieldDescr buildInheritedFieldDescrFromDefinition( FactField fld, TypeDeclarationDescr typeDescr ) { PatternDescr fldType = new PatternDescr(); TypeFieldDescr inheritedFldDescr = new TypeFieldDescr(); inheritedFldDescr.setFieldName( fld.getName() ); fldType.setObjectType( ( (FieldDefinition) fld ).getFieldAccessor().getExtractToClassName() ); inheritedFldDescr.setPattern( fldType ); if ( fld.isKey() ) { inheritedFldDescr.getAnnotations().put( TypeDeclaration.ATTR_KEY, new AnnotationDescr( TypeDeclaration.ATTR_KEY ) ); } inheritedFldDescr.setIndex( ( (FieldDefinition) fld ).getDeclIndex() ); inheritedFldDescr.setInherited( true ); String initExprOverride = ( (FieldDefinition) fld ).getInitExpr(); int overrideCount = 0; // only @aliasing local fields may override defaults. for ( TypeFieldDescr localField : typeDescr.getFields().values() ) { AnnotationDescr ann = localField.getAnnotation( "Alias" ); if ( ann != null && fld.getName().equals( ann.getSingleValue().replaceAll( "\"", "" ) ) && localField.getInitExpr() != null ) { overrideCount++; initExprOverride = localField.getInitExpr(); } } if ( overrideCount > 1 ) { // however, only one is allowed initExprOverride = null; } inheritedFldDescr.setInitExpr( initExprOverride ); return inheritedFldDescr; }
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; }