public AttributeTypeBuilder name(String name) { setName(name); return this; }
/** * Builds an attribute descriptor first building an attribute type from internal state. * * <p>If {@link #crs} has been set via {@link #setCRS(CoordinateReferenceSystem)} the internal * attribute type will be built via {@link #buildGeometryType()}, otherwise it will be built via * {@link #buildType()}. * * <p>This method calls through to {@link #buildDescriptor(String, AttributeType)}. * * @param name The name of the descriptor. * @see #buildDescriptor(String, AttributeType) */ public AttributeDescriptor buildDescriptor(String name) { setName(name); if (binding == null) throw new IllegalStateException("No binding has been provided for this attribute"); if (crs != null || Geometry.class.isAssignableFrom(binding)) { return buildDescriptor(name, buildGeometryType()); } else { return buildDescriptor(name, buildType()); } }
/** * Adds a new geometric attribute w/ provided name, class, and coordinate reference system. * * <p>The <tt>crs</tt> parameter may be <code>null</code>. * * @param name The name of the attribute. * @param binding The class that the attribute is bound to. * @param crs The crs of of the geometry, may be <code>null</code>. */ public void add(String name, Class<?> binding, CoordinateReferenceSystem crs) { attributeBuilder.setBinding(binding); attributeBuilder.setName(name); attributeBuilder.setCRS(crs); GeometryType type = attributeBuilder.buildGeometryType(); GeometryDescriptor descriptor = attributeBuilder.buildDescriptor(name, type); attributes().add(descriptor); }
attributeBuilder.setName(name);
/** * Create a fake property to store arbitrary text in a complex type. * * <p>Passed in value is converted to a string and then stored in the special <code> * simpleContent</code> attribute. * * @param type * @param value * @return */ Attribute buildTextContent(AttributeType type, Object value) { AttributeTypeBuilder atb = new AttributeTypeBuilder(); atb.setName(ComplexFeatureConstants.SIMPLE_CONTENT.getLocalPart()); atb.setBinding(String.class); AttributeType textContentType = atb.buildType(); return buildSimpleContentInternal(textContentType, value); }
ab.setName(name); if (computedCRS != null) { ab.setCRS(computedCRS);
public AttributeTypeBuilder name(String name) { setName(name); return this; }
builder.setName("date"); builder.setBinding(Date.class); hack.put(new NameImpl(XS.DATETIME), builder.buildType());
b.setName(attName); b.setNillable(isNilable); if (fieldLen > 0) {
build.setName(Classes.getShortName(geometryClass)); build.setNillable(true); build.setCRS(crs);
Object defaultValue = DataUtilities.defaultValue(type); AttributeTypeBuilder build = new AttributeTypeBuilder(); build.setName(eg.getName()); build.setBinding(type); build.setNillable(nillable); build.setName(eg.getName()); build.setBinding(type); build.setNillable(nillable); build.setName(eg.getName()); build.setBinding(type); build.setNillable(nillable);
builder.setName(schema.getName().getLocalPart() + "_" + descriptor.getName()); builder.setNillable(descriptor.isNillable()); builder.setBinding(descriptor.getType().getBinding());
static AttributeDescriptor getIntersectionType( SimpleFeatureCollection first, SimpleFeatureCollection second) { Class firstGeomType = first.getSchema().getGeometryDescriptor().getType().getBinding(); Class secondGeomType = second.getSchema().getGeometryDescriptor().getType().getBinding(); // figure out the output geometry type Class binding; if (isGeometryTypeIn(secondGeomType, Point.class)) { binding = Point.class; } else if (isGeometryTypeIn(secondGeomType, MultiPoint.class)) { binding = MultiPoint.class; } else if (isGeometryTypeIn(secondGeomType, LineString.class, MultiLineString.class)) { binding = MultiLineString.class; } else if (isGeometryTypeIn(secondGeomType, Polygon.class, MultiPolygon.class)) { if (isGeometryTypeIn(firstGeomType, Polygon.class, MultiPolygon.class)) { binding = MultiPolygon.class; } else { binding = MultiLineString.class; } } else { // we can't be more precise than this binding = Geometry.class; } AttributeTypeBuilder builder = new AttributeTypeBuilder(); builder.setName("the_geom"); builder.setBinding(binding); builder.setCRS(first.features().next().getFeatureType().getCoordinateReferenceSystem()); AttributeDescriptor descriptor = builder.buildDescriptor("the_geom"); return descriptor; }
@Override protected void connect() throws Exception { super.connect(); // we need to use the type builder because the pk has min occurs = 1 on Oracle AttributeTypeBuilder atb = new AttributeTypeBuilder(); atb.setMinOccurs(isPkNillable() ? 0 : 1); atb.setMaxOccurs(1); atb.setNillable(isPkNillable()); atb.setName(FID); atb.setBinding(Integer.class); AttributeDescriptor fidDescriptor = atb.buildDescriptor(FID); SimpleFeatureTypeBuilder tb = new SimpleFeatureTypeBuilder(); tb.setNamespaceURI(dataStore.getNamespaceURI()); tb.setName(LAKESVIEW); tb.add(fidDescriptor); tb.add(ID, Integer.class); tb.add(GEOM, Polygon.class, (CoordinateReferenceSystem) null); tb.add(NAME, String.class); lakeViewSchema = tb.buildFeatureType(); lakeViewPkSchema = tb.retype(lakeViewSchema, new String[] {ID, GEOM, NAME}); }
/** * Adds a new geometric attribute w/ provided name, class, and coordinate * reference system. * <p> * The <tt>crs</tt> parameter may be <code>null</code>. * </p> * @param name The name of the attribute. * @param binding The class that the attribute is bound to. * @param crs The crs of of the geometry, may be <code>null</code>. */ public void add(String name, Class<?> binding, CoordinateReferenceSystem crs ) { attributeBuilder.setBinding(binding); attributeBuilder.setName(name); attributeBuilder.setCRS(crs); GeometryType type = attributeBuilder.buildGeometryType(); GeometryDescriptor descriptor = attributeBuilder.buildDescriptor(name,type); attributes().add(descriptor); }
&& !sameTypes(features.getSchema(), descriptor)) { AttributeTypeBuilder builder = new AttributeTypeBuilder(); builder.setName(descriptor.getLocalName()); builder.setNillable(descriptor.isNillable()); builder.setBinding(String.class);
private AttributeDescriptor buildAttributeDescriptor( SolrAttribute solrAttribute, GeometryConfig geometry) { AttributeTypeBuilder attributeBuilder = new AttributeTypeBuilder(); if (geometry == null) { attributeBuilder.setName(solrAttribute.getName()); attributeBuilder.setBinding(solrAttribute.getType()); return attributeBuilder.buildDescriptor( solrAttribute.getName(), attributeBuilder.buildType()); } attributeBuilder.setCRS(geometry.getCrs()); attributeBuilder.setName(geometry.getAttributeName()); attributeBuilder.setBinding(geometry.getType()); return attributeBuilder.buildDescriptor( geometry.getAttributeName(), attributeBuilder.buildGeometryType()); }
private static GeometryDescriptor handleGeometryAttribute(SimpleFeatureType schema, CoordinateReferenceSystem crs, SimpleFeatureTypeBuilder factory, GeometryDescriptor defaultGeometryType, AttributeDescriptor attributeType) { GeometryDescriptor geometryType = (GeometryDescriptor) attributeType; GeometryDescriptor geometry; AttributeTypeBuilder builder = new AttributeTypeBuilder(); builder.setName(geometryType.getLocalName()); builder.setBinding(geometryType.getType().getBinding()); builder.setNillable(geometryType.isNillable()); // builder.setDefaultValue(defaultValue); builder.setCRS(crs); geometry = builder .buildDescriptor(geometryType.getLocalName(), builder.buildGeometryType()); if (defaultGeometryType == null || geometryType == schema.getGeometryDescriptor()) { defaultGeometryType = geometry; } factory.add(geometry); return defaultGeometryType; }