@Override public Feature newFeatureInstance( String fid, List<Property> props, ExtraProps extraProps ) { return newFeature( fid, props, extraProps ); }
if ( propAttributes.containsKey( new QName( XLNNS, "href" ) ) ) { LOG.debug( "Detected complex (xlink-valued) property '" + propName + "'. Treating as feature property." ); propDecl = ( (DynamicFeatureType) ft ).addFeaturePropertyDeclaration( lastPropDecl, propName, null ); } else { LOG.debug( "Detected simple property '" + propName + "'." ); propDecl = ( (DynamicFeatureType) ft ).addSimplePropertyDeclaration( lastPropDecl, propName ); propDecl = ( (DynamicFeatureType) ft ).addGeometryPropertyDeclaration( lastPropDecl, propName ); } else { LOG.debug( "Detected complex non-geometry property '" + propName + "'. Treating as feature property." ); valueFt = appSchema.addFeatureType( childElName ); propDecl = ( (DynamicFeatureType) ft ).addFeaturePropertyDeclaration( lastPropDecl, propName, valueFt );
/** * Adds a new {@link DynamicFeatureType} for the given feature type name. * * @param ftName * feature type name, must not be <code>null</code> * @return new (and added) feature type instance, never <code>null</code> */ public DynamicFeatureType addFeatureType( QName ftName ) { DynamicFeatureType ft = new DynamicFeatureType( ftName, this ); ftNameToFt.put( ftName, ft ); namespaces.add( ftName.getNamespaceURI() ); prefixToNs.put( ftName.getPrefix(), ftName.getNamespaceURI() ); return ft; }