org.entityfs.cap.entityattrs.impl.metadata
Class DatabaseChildEntityAttributeManagerFactory<T extends EntityAttributes>

java.lang.Object
  extended by org.entityfs.cap.entityattrs.impl.metadata.DatabaseChildEntityAttributeManagerFactory<T>
All Implemented Interfaces:
ChildEntityAttributeManagerFactory<T,DatabaseChildEntityAttributeManager<T>>

public class DatabaseChildEntityAttributeManagerFactory<T extends EntityAttributes>
extends Object
implements ChildEntityAttributeManagerFactory<T,DatabaseChildEntityAttributeManager<T>>

This is an ChildEntityAttributeManagerFactory implementation for a factory that creates DatabaseChildEntityAttributeManager objects.

Since:
1.0
Author:
Karl Gustafsson
In_jar:
entityfs-entity_attributes

Constructor Summary
DatabaseChildEntityAttributeManagerFactory(Serializer<T> attributesSerializer, Map<EntityType,ObjectFactory<T>> defaultAttrFactories, int bufSize)
          Create a new factory.
 
Method Summary
 DatabaseChildEntityAttributeManager<T> create(AttributeFileRepository afr, LogAdapterHolder lah)
          Create a new ChildEntityAttributeManager.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

DatabaseChildEntityAttributeManagerFactory

public DatabaseChildEntityAttributeManagerFactory(Serializer<T> attributesSerializer,
                                                  Map<EntityType,ObjectFactory<T>> defaultAttrFactories,
                                                  int bufSize)
                                           throws IllegalArgumentException
Create a new factory.

Parameters:
attributesSerializer - Serializer for the attributes object.
defaultAttrFactories - Default factories per entity type.
bufSize - Size of internal in-memory buffers.
Throws:
IllegalArgumentException - If the buffer size is less than one or if the attributes serializer does not produce values of a constant size.
Method Detail

create

public DatabaseChildEntityAttributeManager<T> create(AttributeFileRepository afr,
                                                     LogAdapterHolder lah)
Description copied from interface: ChildEntityAttributeManagerFactory
Create a new ChildEntityAttributeManager.

Specified by:
create in interface ChildEntityAttributeManagerFactory<T extends EntityAttributes,DatabaseChildEntityAttributeManager<T extends EntityAttributes>>
Parameters:
afr - The repository that is used to get the entity attributes file from.
lah - The current file system's LogAdapterHolder.
Returns:
A new ChildEntityAttributeManager.