@Override public List<Property> getProperties() { if ( props == null ) { List<Property> props = new ArrayList<Property>( memberFeatures.size() ); for ( Feature feature : memberFeatures ) { props.add( new GenericProperty( getType().getMemberDeclarations().get( 0 ), null, feature ) ); } return props; } return props; }
/** * Creates a new {@link StreamFeatureCollection} from the given {@link GMLStreamReader}. * * @param fid * @param ft * @param featureReader * @param xmlStream * @param crs * @throws XMLStreamException */ StreamFeatureCollection( String fid, FeatureCollectionType ft, GMLFeatureReader featureReader, XMLStreamReaderWrapper xmlStream, ICRS crs ) throws XMLStreamException { this.fid = fid; this.ft = ft; this.featureReader = featureReader; this.xmlStream = xmlStream; xmlStream.next(); declIter = ft.getPropertyDeclarations().iterator(); activeDecl = declIter.next(); propOccurences = 0; activeCRS = crs; }
activeDecl.getMaxOccurs(), ft.getName() ); throw new XMLParsingException( xmlStream, msg ); String msg = null; if ( activeDecl.getMinOccurs() == 1 ) { msg = Messages.getMessage( "ERROR_PROPERTY_MANDATORY", activeDecl.getName(), ft.getName() ); } else { msg = Messages.getMessage( "ERROR_PROPERTY_TOO_FEW_OCCURENCES", activeDecl.getName(), activeDecl.getMinOccurs(), ft.getName() ); String msg = Messages.getMessage( "ERROR_PROPERTY_UNEXPECTED", propName, ft.getName() ); throw new XMLParsingException( xmlStream, msg );
@Override public List<Property> getProperties( QName propName ) { List<Property> namedProps = new ArrayList<Property>(); if ( props != null ) { for ( Property property : props ) { if ( propName.equals( property.getName() ) ) { namedProps.add( property ); } } } else if ( propName.equals( getType().getMemberDeclarations().get( 0 ) ) ) { for ( Feature feature : memberFeatures ) { namedProps.add( new GenericProperty( getType().getMemberDeclarations().get( 0 ), null, feature ) ); } } return namedProps; }