it.geosolutions.jaiext
Class ConcurrentOperationRegistry

java.lang.Object
  extended by javax.media.jai.OperationRegistry
      extended by it.geosolutions.jaiext.ConcurrentOperationRegistry
All Implemented Interfaces:
Externalizable, Serializable

public final class ConcurrentOperationRegistry
extends javax.media.jai.OperationRegistry

A thread safe implementation of OperationRegistry using Java 5 Concurrent ReadWriteLock Also it is able to substitute JAI operations with JAI-EXT ones and vice versa.

Author:
Andrea Aime - GeoSolutions, Nicola Lagomarsini - GeoSolutions
See Also:
Serialized Form

Nested Class Summary
static class ConcurrentOperationRegistry.OperationItem
          The ConcurrentOperationRegistry.OperationItem class is a wrapper for the OperationDescriptor class which can store informations about the operations and the associated factory.
 
Constructor Summary
ConcurrentOperationRegistry()
           
 
Method Summary
 void addPropertyGenerator(String modeName, String descriptorName, javax.media.jai.PropertyGenerator generator)
           
 void clearFactoryPreferences(String modeName, String descriptorName, String productName)
           
 void clearOperationPreferences(String operationName, String productName)
           
 void clearProductPreferences(String modeName, String descriptorName)
           
 void clearPropertyState(String modeName)
           
 void copyPropertyFromSource(String modeName, String descriptorName, String propertyName, int sourceIndex)
           
 javax.media.jai.RegistryElementDescriptor getDescriptor(Class descriptorClass, String descriptorName)
           
 javax.media.jai.RegistryElementDescriptor getDescriptor(String modeName, String descriptorName)
           
 String[] getDescriptorNames(Class descriptorClass)
           
 String[] getDescriptorNames(String modeName)
           
 List getDescriptors(Class descriptorClass)
           
 List getDescriptors(String modeName)
           
 Object getFactory(String modeName, String descriptorName)
           
 Iterator getFactoryIterator(String modeName, String descriptorName)
           
 Object[][] getFactoryPreferences(String modeName, String descriptorName, String productName)
           
 String[] getGeneratedPropertyNames(String modeName, String descriptorName)
           
 Map<String,ConcurrentOperationRegistry.OperationItem> getOperationMap(boolean jai)
          Returns a Map containing the ConcurrentOperationRegistry.OperationItem objects for each operation.
 Collection<ConcurrentOperationRegistry.OperationItem> getOperations()
          Returns a Collection object containing a view of the OperationCollection inside the registry.
 List getOrderedFactoryList(String modeName, String descriptorName, String productName)
           
 Vector getOrderedProductList(String modeName, String descriptorName)
           
 String[][] getProductPreferences(String modeName, String descriptorName)
           
 javax.media.jai.PropertySource getPropertySource(javax.media.jai.OperationNode op)
           
 javax.media.jai.PropertySource getPropertySource(String modeName, String descriptorName, Object op, Vector sources)
           
 String[] getRegistryModes()
           
 void initializeFromStream(InputStream in)
           
static javax.media.jai.OperationRegistry initializeRegistry()
           
 Object invokeFactory(String modeName, String descriptorName, Object[] args)
           
 void readExternal(ObjectInput in)
           
 void registerDescriptor(javax.media.jai.RegistryElementDescriptor descriptor)
           
 void registerFactory(String modeName, String descriptorName, String productName, Object factory)
           
 void registerServices(ClassLoader cl)
           
 void removePropertyGenerator(String modeName, String descriptorName, javax.media.jai.PropertyGenerator generator)
           
 void removeRegistryMode(String modeName)
           
 void setFactoryPreference(String modeName, String descriptorName, String productName, Object preferredOp, Object otherOp)
           
 void setOperationCollection(it.geosolutions.jaiext.ConcurrentOperationRegistry.OperationCollection coll)
          Sets the OperationCollection containing the list of all the operations contained by the registry.
 void setProductPreference(String modeName, String descriptorName, String preferredProductName, String otherProductName)
           
 void suppressAllProperties(String modeName, String descriptorName)
           
 void suppressProperty(String modeName, String descriptorName, String propertyName)
           
 String toString()
           
 void unregisterDescriptor(javax.media.jai.RegistryElementDescriptor descriptor)
           
 void unregisterFactory(String modeName, String descriptorName, String productName, Object factory)
           
 void unregisterOperationDescriptor(String operationName)
           
 void unsetFactoryPreference(String modeName, String descriptorName, String productName, Object preferredOp, Object otherOp)
           
 void unsetProductPreference(String modeName, String descriptorName, String preferredProductName, String otherProductName)
           
 void updateFromStream(InputStream in)
           
 void writeExternal(ObjectOutput out)
           
 void writeToStream(OutputStream out)
           
 
Methods inherited from class javax.media.jai.OperationRegistry
addPropertyGenerator, clearCIFPreferences, clearProductPreferences, clearPropertyState, clearRIFPreferences, copyPropertyFromSource, create, createCollection, createRenderable, getGeneratedPropertyNames, getOperationDescriptor, getOperationDescriptors, getOperationNames, getOrderedCIFList, getOrderedProductList, getOrderedRIFList, getProductPreferences, getPropertySource, getPropertySource, getThreadSafeOperationRegistry, registerCIF, registerCRIF, registerOperationDescriptor, registerRIF, removePropertyGenerator, setCIFPreference, setProductPreference, setRIFPreference, suppressAllProperties, suppressProperty, unregisterCIF, unregisterCRIF, unregisterRIF, unsetCIFPreference, unsetProductPreference, unsetRIFPreference
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Constructor Detail

ConcurrentOperationRegistry

public ConcurrentOperationRegistry()
Method Detail

initializeRegistry

public static javax.media.jai.OperationRegistry initializeRegistry()

toString

public String toString()
Overrides:
toString in class javax.media.jai.OperationRegistry

writeToStream

public void writeToStream(OutputStream out)
                   throws IOException
Overrides:
writeToStream in class javax.media.jai.OperationRegistry
Throws:
IOException

initializeFromStream

public void initializeFromStream(InputStream in)
                          throws IOException
Overrides:
initializeFromStream in class javax.media.jai.OperationRegistry
Throws:
IOException

updateFromStream

public void updateFromStream(InputStream in)
                      throws IOException
Overrides:
updateFromStream in class javax.media.jai.OperationRegistry
Throws:
IOException

readExternal

public void readExternal(ObjectInput in)
                  throws IOException,
                         ClassNotFoundException
Specified by:
readExternal in interface Externalizable
Overrides:
readExternal in class javax.media.jai.OperationRegistry
Throws:
IOException
ClassNotFoundException

writeExternal

public void writeExternal(ObjectOutput out)
                   throws IOException
Specified by:
writeExternal in interface Externalizable
Overrides:
writeExternal in class javax.media.jai.OperationRegistry
Throws:
IOException

removeRegistryMode

public void removeRegistryMode(String modeName)
Overrides:
removeRegistryMode in class javax.media.jai.OperationRegistry

getRegistryModes

public String[] getRegistryModes()
Overrides:
getRegistryModes in class javax.media.jai.OperationRegistry

registerDescriptor

public void registerDescriptor(javax.media.jai.RegistryElementDescriptor descriptor)
Overrides:
registerDescriptor in class javax.media.jai.OperationRegistry

unregisterDescriptor

public void unregisterDescriptor(javax.media.jai.RegistryElementDescriptor descriptor)
Overrides:
unregisterDescriptor in class javax.media.jai.OperationRegistry

getDescriptor

public javax.media.jai.RegistryElementDescriptor getDescriptor(Class descriptorClass,
                                                               String descriptorName)
Overrides:
getDescriptor in class javax.media.jai.OperationRegistry

getDescriptors

public List getDescriptors(Class descriptorClass)
Overrides:
getDescriptors in class javax.media.jai.OperationRegistry

getDescriptorNames

public String[] getDescriptorNames(Class descriptorClass)
Overrides:
getDescriptorNames in class javax.media.jai.OperationRegistry

getDescriptor

public javax.media.jai.RegistryElementDescriptor getDescriptor(String modeName,
                                                               String descriptorName)
Overrides:
getDescriptor in class javax.media.jai.OperationRegistry

getDescriptors

public List getDescriptors(String modeName)
Overrides:
getDescriptors in class javax.media.jai.OperationRegistry

getDescriptorNames

public String[] getDescriptorNames(String modeName)
Overrides:
getDescriptorNames in class javax.media.jai.OperationRegistry

setProductPreference

public void setProductPreference(String modeName,
                                 String descriptorName,
                                 String preferredProductName,
                                 String otherProductName)
Overrides:
setProductPreference in class javax.media.jai.OperationRegistry

unsetProductPreference

public void unsetProductPreference(String modeName,
                                   String descriptorName,
                                   String preferredProductName,
                                   String otherProductName)
Overrides:
unsetProductPreference in class javax.media.jai.OperationRegistry

clearProductPreferences

public void clearProductPreferences(String modeName,
                                    String descriptorName)
Overrides:
clearProductPreferences in class javax.media.jai.OperationRegistry

getProductPreferences

public String[][] getProductPreferences(String modeName,
                                        String descriptorName)
Overrides:
getProductPreferences in class javax.media.jai.OperationRegistry

getOrderedProductList

public Vector getOrderedProductList(String modeName,
                                    String descriptorName)
Overrides:
getOrderedProductList in class javax.media.jai.OperationRegistry

registerFactory

public void registerFactory(String modeName,
                            String descriptorName,
                            String productName,
                            Object factory)
Overrides:
registerFactory in class javax.media.jai.OperationRegistry

unregisterFactory

public void unregisterFactory(String modeName,
                              String descriptorName,
                              String productName,
                              Object factory)
Overrides:
unregisterFactory in class javax.media.jai.OperationRegistry

setFactoryPreference

public void setFactoryPreference(String modeName,
                                 String descriptorName,
                                 String productName,
                                 Object preferredOp,
                                 Object otherOp)
Overrides:
setFactoryPreference in class javax.media.jai.OperationRegistry

unsetFactoryPreference

public void unsetFactoryPreference(String modeName,
                                   String descriptorName,
                                   String productName,
                                   Object preferredOp,
                                   Object otherOp)
Overrides:
unsetFactoryPreference in class javax.media.jai.OperationRegistry

clearFactoryPreferences

public void clearFactoryPreferences(String modeName,
                                    String descriptorName,
                                    String productName)
Overrides:
clearFactoryPreferences in class javax.media.jai.OperationRegistry

getFactoryPreferences

public Object[][] getFactoryPreferences(String modeName,
                                        String descriptorName,
                                        String productName)
Overrides:
getFactoryPreferences in class javax.media.jai.OperationRegistry

getOrderedFactoryList

public List getOrderedFactoryList(String modeName,
                                  String descriptorName,
                                  String productName)
Overrides:
getOrderedFactoryList in class javax.media.jai.OperationRegistry

getFactoryIterator

public Iterator getFactoryIterator(String modeName,
                                   String descriptorName)
Overrides:
getFactoryIterator in class javax.media.jai.OperationRegistry

getFactory

public Object getFactory(String modeName,
                         String descriptorName)
Overrides:
getFactory in class javax.media.jai.OperationRegistry

invokeFactory

public Object invokeFactory(String modeName,
                            String descriptorName,
                            Object[] args)
Overrides:
invokeFactory in class javax.media.jai.OperationRegistry

addPropertyGenerator

public void addPropertyGenerator(String modeName,
                                 String descriptorName,
                                 javax.media.jai.PropertyGenerator generator)
Overrides:
addPropertyGenerator in class javax.media.jai.OperationRegistry

removePropertyGenerator

public void removePropertyGenerator(String modeName,
                                    String descriptorName,
                                    javax.media.jai.PropertyGenerator generator)
Overrides:
removePropertyGenerator in class javax.media.jai.OperationRegistry

copyPropertyFromSource

public void copyPropertyFromSource(String modeName,
                                   String descriptorName,
                                   String propertyName,
                                   int sourceIndex)
Overrides:
copyPropertyFromSource in class javax.media.jai.OperationRegistry

suppressProperty

public void suppressProperty(String modeName,
                             String descriptorName,
                             String propertyName)
Overrides:
suppressProperty in class javax.media.jai.OperationRegistry

suppressAllProperties

public void suppressAllProperties(String modeName,
                                  String descriptorName)
Overrides:
suppressAllProperties in class javax.media.jai.OperationRegistry

clearPropertyState

public void clearPropertyState(String modeName)
Overrides:
clearPropertyState in class javax.media.jai.OperationRegistry

getGeneratedPropertyNames

public String[] getGeneratedPropertyNames(String modeName,
                                          String descriptorName)
Overrides:
getGeneratedPropertyNames in class javax.media.jai.OperationRegistry

getPropertySource

public javax.media.jai.PropertySource getPropertySource(String modeName,
                                                        String descriptorName,
                                                        Object op,
                                                        Vector sources)
Overrides:
getPropertySource in class javax.media.jai.OperationRegistry

getPropertySource

public javax.media.jai.PropertySource getPropertySource(javax.media.jai.OperationNode op)
Overrides:
getPropertySource in class javax.media.jai.OperationRegistry

registerServices

public void registerServices(ClassLoader cl)
                      throws IOException
Overrides:
registerServices in class javax.media.jai.OperationRegistry
Throws:
IOException

unregisterOperationDescriptor

public void unregisterOperationDescriptor(String operationName)
Overrides:
unregisterOperationDescriptor in class javax.media.jai.OperationRegistry

clearOperationPreferences

public void clearOperationPreferences(String operationName,
                                      String productName)
Overrides:
clearOperationPreferences in class javax.media.jai.OperationRegistry

setOperationCollection

public void setOperationCollection(it.geosolutions.jaiext.ConcurrentOperationRegistry.OperationCollection coll)
Sets the OperationCollection containing the list of all the operations contained by the registry.

Parameters:
coll -

getOperations

public Collection<ConcurrentOperationRegistry.OperationItem> getOperations()
Returns a Collection object containing a view of the OperationCollection inside the registry.

Returns:

getOperationMap

public Map<String,ConcurrentOperationRegistry.OperationItem> getOperationMap(boolean jai)
Returns a Map containing the ConcurrentOperationRegistry.OperationItem objects for each operation. The jai parameter indicates whether must be returned the map of the jai operations or of the Jai-ext ones.

Parameters:
jai -
Returns:


Copyright © 2006–2015 GeoSolutions. All rights reserved.