|
SalesPoint Framework v3.0 | |||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||||
SUMMARY: INNER | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Object | +--data.AbstractNameable | +--data.ooimpl.CatalogItemImpl | +--data.ooimpl.CatalogImpl
Pure Java implementation of the Catalog
interface.
CatalogImpl can only work together with DataBaskets that are descendants of DataBasketImpl
.
Field Summary | |
protected ListenerHelper |
m_lhListeners
The listeners that registered to be informed of changes in this Catalog's contents. |
protected int |
m_nModCount
Modification counter. |
Fields inherited from class data.AbstractNameable |
m_ncContext,
m_pcsPropertyListeners |
Constructor Summary | |
CatalogImpl(String sName)
Create a new, initially empty CatalogImpl. |
Method Summary | |
void |
add(CatalogItem ci,
DataBasket db)
Add the given item to the Catalog. |
void |
addCatalogChangeListener(CatalogChangeListener ccl)
Add a listener that listens for changes in this Catalog's contents. |
void |
checkNameChange(DataBasket db,
String sOldName,
String sNewName)
Check a name change of a CatalogItem in this Catalog. |
void |
commitAdd(DataBasket db,
DataBasketEntry dbe)
Commit the adding of a CatalogItem. |
void |
commitRemove(DataBasket db,
DataBasketEntry dbe)
Commit the removal of a CatalogItem. |
boolean |
contains(String sKey,
DataBasket db)
Check whether the Catalog contains a certain CatalogItem. |
protected CatalogImpl |
createPeer()
Create and return an empty CatalogImpl of the same name and class. |
protected void |
fireCanEditCatalogItem(CatalogItem ci,
DataBasket db)
Fire an event to all listeners listening to this Catalog. |
protected void |
fireCanRemoveCatalogItem(CatalogItem ci,
DataBasket db)
Fire an event to all listeners listening to this Catalog. |
protected void |
fireCatalogItemAddCommit(CatalogItem ci,
DataBasket db)
Fire an event to all listeners listening to this Catalog. |
protected void |
fireCatalogItemAdded(CatalogItem ci,
DataBasket db)
Fire an event to all listeners listening to this Catalog. |
protected void |
fireCatalogItemAddRollback(CatalogItem ci,
DataBasket db)
Fire an event to all listeners listening to this Catalog. |
protected void |
fireCatalogItemRemoveCommit(CatalogItem ci,
DataBasket db)
Fire an event to all listeners listening to this Catalog. |
protected void |
fireCatalogItemRemoved(CatalogItem ci,
DataBasket db)
Fire an event to all listeners listening to this Catalog. |
protected void |
fireCatalogItemRemoveRollback(CatalogItem ci,
DataBasket db)
Fire an event to all listeners listening to this Catalog. |
protected void |
fireCommitEditCatalogItem(CatalogItem ci,
DataBasket db)
Fire an event to all listeners listening to this Catalog. |
protected void |
fireEditingCatalogItem(CatalogItem ci,
DataBasket db)
Fire an event to all listeners listening to this Catalog. |
protected void |
fireRollbackEditCatalogItem(CatalogItem ci,
DataBasket db)
Fire an event to all listeners listening to this Catalog. |
CatalogItem |
get(String sKey,
DataBasket db,
boolean fForEdit)
Get the indicated item from the Catalog. |
protected Map |
getEditingItemsContainer()
Get the map of items that are currently being edited. |
protected Map |
getItemsContainer()
Get the map of items that are completely contained in this Catalog. |
protected Object |
getItemsLock()
Get the monitor synchronizing access to the several items maps. |
Object |
getNCMonitor()
Return the monitor used to synchronize access to the Catalog's internal data. |
protected CatalogItemImpl |
getShallowClone()
Create a shallow clone of this Catalog. |
protected Map |
getTemporaryAddedItemsContainer()
Get the map of items that have been temporaryly added to this Catalog. |
protected Map |
getTemporaryRemovedItemsContainer()
Get the map of items that have been temporaryly removed from this Catalog. |
Iterator |
iterator(DataBasket db,
boolean fForEdit)
Return an iterator of all items in the Catalog. |
Set |
keySet(DataBasket db)
Get a set of all keys currently in the Catalog. |
void |
nameHasChanged(DataBasket db,
String sOldName,
String sNewName)
Synchronize the Catalog's internal data with the name change. |
CatalogItem |
remove(CatalogItem ci,
DataBasket db)
Remove the given item from the Catalog. |
CatalogItem |
remove(String sKey,
DataBasket db)
Remove the indicated item from the Catalog. |
void |
removeCatalogChangeListener(CatalogChangeListener ccl)
Remove a listener that listened for changes in this Catalog's contents. |
void |
rollbackAdd(DataBasket db,
DataBasketEntry dbe)
Roll back the adding of a CatalogItem. |
void |
rollbackRemove(DataBasket db,
DataBasketEntry dbe)
Roll back the removal of a CatalogItem. |
int |
size(DataBasket db)
Calculate the size of the Catalog. |
String |
toString()
Return a String representation of this Catalog. |
Methods inherited from class data.ooimpl.CatalogItemImpl |
addValueListener,
compareTo,
equals,
getCatalog,
getValue,
isEditable,
removeValueListener,
setValue |
Methods inherited from class data.AbstractNameable |
addNameListener,
addPropertyChangeListener,
attach,
detachNC,
getName,
removeNameListener,
removePropertyChangeListener,
setName |
Methods inherited from class java.lang.Object |
clone,
finalize,
getClass,
hashCode,
notify,
notifyAll,
wait,
wait,
wait |
Field Detail |
protected ListenerHelper m_lhListeners
protected int m_nModCount
Constructor Detail |
public CatalogImpl(String sName)
sName
- the name of the Catalog.Method Detail |
protected final Object getItemsLock()
protected Map getItemsContainer()
protected Map getTemporaryRemovedItemsContainer()
protected Map getTemporaryAddedItemsContainer()
protected Map getEditingItemsContainer()
public void add(CatalogItem ci, DataBasket db)
ci
- the CatalogItem to be added.db
- the DataBasket relative to which to perform the operation. Must be null
or a
descendant of DataBasketImpl
.public CatalogItem remove(CatalogItem ci, DataBasket db) throws VetoException
ci
- the CatalogItem to be removed.db
- the DataBasket relative to which to perform the operation. Must be null
or a
descendant of DataBasketImpl
.public CatalogItem remove(String sKey, DataBasket db) throws VetoException
sKey
- the key of the CatalogItem to be removed.db
- the DataBasket relative to which to perform the operation. Must be null
or a
descendant of DataBasketImpl
.public CatalogItem get(String sKey, DataBasket db, boolean fForEdit) throws VetoException
sKey
- the key for which to retrieve the item.db
- the DataBasket relative to which to perform the operation. Must be null
or a
descendant of DataBasketImpl
.fForEdit
- if true, the item will be retrieved for editing. In this case, a number of events is fired:
canEditCatalogItem
with the original item.editingCatalogItem
with the newly created clone.addCatalogItem
with the newly created clone and removeCatalogItem
with
the original item.public boolean contains(String sKey, DataBasket db)
Will return true only if an item of the given key is contained in the Catalog and if that item is visible to users of the given DataBasket.
sKey
- the key for which to check containment.db
- the DataBasket that defines visibility of items. Must be null
or a
descendant of DataBasketImpl
.public Iterator iterator(DataBasket db, boolean fForEdit)
The iterator will conceptually call get(java.lang.String, data.DataBasket, boolean)
for each CatalogItem, using the given parameters.
db
- the DataBasket that defines visibility.fForEdit
- if true, the items are retrieved for editing. VetoException will be converted into
UnsupportedOperationException
s.public Set keySet(DataBasket db)
This will retrieve a static set that gives the state of the Catalog at the time of the call.
db
- the DataBasket used to determine visibility of elements. Must be null
or a
descendant of DataBasketImpl
.public int size(DataBasket db)
db
- the DataBasket used to determine visibility. Must be null
or a
descendant of DataBasketImpl
.protected CatalogItemImpl getShallowClone()
createPeer()
.protected CatalogImpl createPeer()
public String toString()
String
representation of this Catalog.public void commitRemove(DataBasket db, DataBasketEntry dbe)
public void rollbackRemove(DataBasket db, DataBasketEntry dbe)
public void commitAdd(DataBasket db, DataBasketEntry dbe)
addedCatalogItemCommit
event this
may trigger an editingCatalogItemCommit
event with the CatalogItem that has been edited.public void rollbackAdd(DataBasket db, DataBasketEntry dbe)
addedCatalogItemRollback
event
this may trigger an editingCatalogItemRollback
event with the CatalogItem that has been
edited.public void checkNameChange(DataBasket db, String sOldName, String sNewName) throws NameContextException
The name change will be allowed if the item is editable and the new name can be guaranteed to be unique.
public void nameHasChanged(DataBasket db, String sOldName, String sNewName)
public final Object getNCMonitor()
public void addCatalogChangeListener(CatalogChangeListener ccl)
ccl
- the listenerpublic void removeCatalogChangeListener(CatalogChangeListener ccl)
ccl
- the listenerprotected void fireCatalogItemAdded(CatalogItem ci, DataBasket db)
protected void fireCatalogItemAddCommit(CatalogItem ci, DataBasket db)
protected void fireCatalogItemAddRollback(CatalogItem ci, DataBasket db)
protected void fireCatalogItemRemoved(CatalogItem ci, DataBasket db)
protected void fireCatalogItemRemoveCommit(CatalogItem ci, DataBasket db)
protected void fireCatalogItemRemoveRollback(CatalogItem ci, DataBasket db)
protected void fireCanRemoveCatalogItem(CatalogItem ci, DataBasket db) throws VetoException
protected void fireCanEditCatalogItem(CatalogItem ci, DataBasket db) throws VetoException
protected void fireEditingCatalogItem(CatalogItem ci, DataBasket db)
protected void fireCommitEditCatalogItem(CatalogItem ci, DataBasket db)
protected void fireRollbackEditCatalogItem(CatalogItem ci, DataBasket db)
|
SalesPoint Framework v3.0 | |||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||||
SUMMARY: INNER | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |