org.geotools.feature.type
Class ProfileImpl

Object
  extended by ProfileImpl
All Implemented Interfaces:
Map<Name,AttributeType>, Schema

public class ProfileImpl
extends Object
implements Schema

A "sub" Schema used to select types for a specific use.

This class uses a custom key set to subset a parent Schema, and is used as the return type of SchemaImpl.profile.

This Schema is not mutable, serving only as a view, you may however define a more specific subset if needed.

Schema is often used to place limitation on expressed content (as in the case of the GML Level 0 Profile), or used to define a non conflicting set of "bindings" for the TypeBuilder(s).

Author:
Jody Garnett, Refractions Research Inc.

Nested Class Summary
 
Nested classes/interfaces inherited from interface Map
Map.Entry<K,V>
 
Constructor Summary
ProfileImpl(Schema parent, Set<Name> profile)
          Subset parent schema with profile keys.
 
Method Summary
 void add(AttributeType type)
          Adds a type to the schema.
 void clear()
           
 boolean containsKey(Object key)
           
 boolean containsValue(Object value)
           
 Set<Map.Entry<Name,AttributeType>> entrySet()
           
 AttributeType get(Object key)
           
 String getURI()
          The uri of the schema.
 boolean isEmpty()
           
 Set<Name> keySet()
           
 Schema profile(Set<Name> profile)
          Profiles the schema, creating a new schema in the process.
 AttributeType put(Name key, AttributeType value)
           
 void putAll(Map<? extends Name,? extends AttributeType> t)
           
 AttributeType remove(Object key)
           
 int size()
           
 Collection<AttributeType> values()
           
 
Methods inherited from class Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 
Methods inherited from interface Map
equals, hashCode
 

Constructor Detail

ProfileImpl

public ProfileImpl(Schema parent,
                   Set<Name> profile)
Subset parent schema with profile keys.

Parameters:
parent -
profile -
Method Detail

keySet

public Set<Name> keySet()
Specified by:
keySet in interface Map<Name,AttributeType>

getURI

public String getURI()
Description copied from interface: Schema
The uri of the schema.

This method is a convenience for keySet().getURI().

Specified by:
getURI in interface Schema
Returns:
The uri of the schema.

profile

public Schema profile(Set<Name> profile)
Description copied from interface: Schema
Profiles the schema, creating a new schema in the process.

A profile of a schema is a subset of the schema, and it also a schema itself.

Used to select a subset of types for a specific application. Profiles often are used to express limitiations of a source of data.

Specified by:
profile in interface Schema
Parameters:
profile - The set of names which corresond to entries that will make up the profile.
Returns:
The profile of the original schema.

size

public int size()
Specified by:
size in interface Map<Name,AttributeType>

isEmpty

public boolean isEmpty()
Specified by:
isEmpty in interface Map<Name,AttributeType>

containsKey

public boolean containsKey(Object key)
Specified by:
containsKey in interface Map<Name,AttributeType>

containsValue

public boolean containsValue(Object value)
Specified by:
containsValue in interface Map<Name,AttributeType>

get

public AttributeType get(Object key)
Specified by:
get in interface Map<Name,AttributeType>

put

public AttributeType put(Name key,
                         AttributeType value)
Specified by:
put in interface Map<Name,AttributeType>

remove

public AttributeType remove(Object key)
Specified by:
remove in interface Map<Name,AttributeType>

putAll

public void putAll(Map<? extends Name,? extends AttributeType> t)
Specified by:
putAll in interface Map<Name,AttributeType>

clear

public void clear()
Specified by:
clear in interface Map<Name,AttributeType>

add

public void add(AttributeType type)
Description copied from interface: Schema
Adds a type to the schema.

This method is a convenience for put(type.getName(),type).

Specified by:
add in interface Schema
Parameters:
type - The type to add.

values

public Collection<AttributeType> values()
Specified by:
values in interface Map<Name,AttributeType>

entrySet

public Set<Map.Entry<Name,AttributeType>> entrySet()
Specified by:
entrySet in interface Map<Name,AttributeType>


Copyright © 1996-2014 Geotools. All Rights Reserved.