public FieldDescrBuilder type( String type ) { descr.setPattern( new PatternDescr( type ) ); return this; }
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; }
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; }