1 package mir.entity.adapter;
\r
5 import mir.storage.*;
\r
8 public class EntityAdapterModel {
\r
9 private Map entityAdapterMappings;
\r
11 public EntityAdapterModel() {
\r
12 entityAdapterMappings = new HashMap();
\r
15 public EntityAdapter makeEntityAdapter( String aName, Entity anEntity ) {
\r
16 Mapping mapping = getMappingForName( aName );
\r
18 if (mapping == null )
\r
19 throw new RuntimeException( "Adapter definition with name '" + aName + "' not present in model" );
\r
21 return mapping.getDefinition().makeEntityAdapter( anEntity, this );
\r
24 public void addMapping( String aName, StorageObject aStorage, EntityAdapterDefinition aDefinition ) {
\r
25 entityAdapterMappings.put( aName, new Mapping( aStorage, aDefinition ) );
\r
28 public Mapping getMappingForName( String aName ) {
\r
29 return (Mapping) entityAdapterMappings.get( aName );
\r
32 public class Mapping {
\r
33 private StorageObject storage;
\r
34 private EntityAdapterDefinition definition;
\r
36 public Mapping( StorageObject aStorage, EntityAdapterDefinition aDefinition ) {
\r
38 definition = aDefinition;
\r
41 public StorageObject getStorage() {
\r
45 public EntityAdapterDefinition getDefinition() {
\r