OSSIM - Open Source Software Image Map  Version 1.9.0 (20180803)
Public Member Functions | Static Public Member Functions | Protected Member Functions | List of all members
ossimKakaduJpipHandlerFactory Class Reference

Factory for J2K image reader. More...

#include <ossimKakaduJpipHandlerFactory.h>

Inheritance diagram for ossimKakaduJpipHandlerFactory:
ossimImageHandlerFactoryBase ossimObjectFactory ossimObject ossimReferenced

Public Member Functions

virtual ~ossimKakaduJpipHandlerFactory ()
 virtual destructor More...
 
virtual ossimImageHandleropen (const ossimFilename &fileName, bool openOverview=true) const
 open that takes a file name. More...
 
virtual ossimImageHandleropen (const ossimKeywordlist &kwl, const char *prefix=0) const
 open that takes a keyword list and prefix. More...
 
virtual ossimObjectcreateObject (const ossimString &typeName) const
 createObject that takes a class name (ossimKakaduReader) More...
 
virtual ossimObjectcreateObject (const ossimKeywordlist &kwl, const char *prefix=0) const
 Creates and object given a keyword list and prefix. More...
 
virtual void getTypeNameList (std::vector< ossimString > &typeList) const
 Adds ossimKakaduWriter to the typeList. More...
 
virtual void getSupportedExtensions (ossimImageHandlerFactoryBase::UniqueStringList &extensionList) const
 Method to add supported extension to the list, like "jp2". More...
 
virtual void getImageHandlersBySuffix (ossimImageHandlerFactoryBase::ImageHandlerList &result, const ossimString &ext) const
 Will add to the result list any handler that supports the passed in extensions. More...
 
virtual void getImageHandlersByMimeType (ossimImageHandlerFactoryBase::ImageHandlerList &result, const ossimString &mimeType) const
 Will add to the result list and handler that supports the passed in mime type. More...
 
- Public Member Functions inherited from ossimImageHandlerFactoryBase
virtual ossimRefPtr< ossimImageHandleropen (std::shared_ptr< ossim::istream > &str, const std::string &connectionString, bool openOverview=true) const
 Open method that takes a stream. More...
 
virtual ossimRefPtr< ossimImageHandleropen (std::shared_ptr< ossim::ImageHandlerState > state) const
 
virtual ossimRefPtr< ossimImageHandleropenOverview (const ossimFilename &file) const
 Open overview that takes a file name. More...
 
virtual ossimRefPtr< ossimImageHandleropenOverview (std::shared_ptr< ossim::istream > &str, const ossimString &connectionString) const
 Open method that takes a stream. More...
 
- Public Member Functions inherited from ossimObjectFactory
virtual ~ossimObjectFactory ()
 
- Public Member Functions inherited from ossimObject
 ossimObject ()
 
virtual ~ossimObject ()
 
virtual ossimObjectdup () const
 
virtual ossimString getShortName () const
 
virtual ossimString getLongName () const
 
virtual ossimString getDescription () const
 
virtual ossimString getClassName () const
 
virtual RTTItypeid getType () const
 
virtual bool canCastTo (ossimObject *obj) const
 
virtual bool canCastTo (const RTTItypeid &id) const
 
virtual bool canCastTo (const ossimString &parentClassName) const
 
virtual bool saveState (ossimKeywordlist &kwl, const char *prefix=0) const
 
virtual bool loadState (const ossimKeywordlist &kwl, const char *prefix=0)
 
virtual std::ostream & print (std::ostream &out) const
 Generic print method. More...
 
virtual bool isEqualTo (const ossimObject &obj, ossimCompareType compareType=OSSIM_COMPARE_FULL) const
 
virtual void accept (ossimVisitor &visitor)
 
- Public Member Functions inherited from ossimReferenced
 ossimReferenced ()
 
 ossimReferenced (const ossimReferenced &)
 
ossimReferencedoperator= (const ossimReferenced &)
 
void ref () const
 increment the reference count by one, indicating that this object has another pointer which is referencing it. More...
 
void unref () const
 decrement the reference count by one, indicating that a pointer to this object is referencing it. More...
 
void unref_nodelete () const
 decrement the reference count by one, indicating that a pointer to this object is referencing it. More...
 
int referenceCount () const
 

Static Public Member Functions

static ossimKakaduJpipHandlerFactoryinstance ()
 static method to return instance (the only one) of this class. More...
 

Protected Member Functions

 ossimKakaduJpipHandlerFactory ()
 Method to weed out extensions that this plugin knows it does not support. More...
 
 ossimKakaduJpipHandlerFactory (const ossimKakaduJpipHandlerFactory &)
 hidden from use copy constructor More...
 
void operator= (const ossimKakaduJpipHandlerFactory &)
 hidden from use copy constructor More...
 
- Protected Member Functions inherited from ossimReferenced
virtual ~ossimReferenced ()
 

Additional Inherited Members

- Public Types inherited from ossimImageHandlerFactoryBase
typedef UniqueList< ossimStringUniqueStringList
 
typedef std::vector< ossimRefPtr< ossimImageHandler > > ImageHandlerList
 

Detailed Description

Factory for J2K image reader.

Definition at line 21 of file ossimKakaduJpipHandlerFactory.h.

Constructor & Destructor Documentation

◆ ~ossimKakaduJpipHandlerFactory()

ossimKakaduJpipHandlerFactory::~ossimKakaduJpipHandlerFactory ( )
virtual

virtual destructor

Definition at line 29 of file ossimKakaduJpipHandlerFactory.cpp.

30 {
31 }

◆ ossimKakaduJpipHandlerFactory() [1/2]

ossimKakaduJpipHandlerFactory::ossimKakaduJpipHandlerFactory ( )
protected

Method to weed out extensions that this plugin knows it does not support.

This is to avoid a costly open on say a tiff or jpeg that is not handled by this plugin.

Returns
true if extension, false if not.hidden from use default constructor

Definition at line 221 of file ossimKakaduJpipHandlerFactory.cpp.

221 {}

◆ ossimKakaduJpipHandlerFactory() [2/2]

ossimKakaduJpipHandlerFactory::ossimKakaduJpipHandlerFactory ( const ossimKakaduJpipHandlerFactory )
protected

hidden from use copy constructor

Definition at line 223 of file ossimKakaduJpipHandlerFactory.cpp.

223 {}

Member Function Documentation

◆ createObject() [1/2]

ossimObject * ossimKakaduJpipHandlerFactory::createObject ( const ossimString typeName) const
virtual

createObject that takes a class name (ossimKakaduReader)

Parameters
typeNameShould be "ossimKakaduReader".
Returns
pointer to image writer on success, NULL on failure.

Implements ossimObjectFactory.

Definition at line 168 of file ossimKakaduJpipHandlerFactory.cpp.

References ossimRefPtr< T >::release(), and STATIC_TYPE_NAME.

169 {
170  ossimRefPtr<ossimObject> result = 0;
171 
173  {
174  result = new ossimKakaduJpipHandler();
175  }
176 
177  return result.release();
178 }
#define STATIC_TYPE_NAME(T)
Definition: ossimRtti.h:325
T * release()
Definition: ossimRefPtr.h:93

◆ createObject() [2/2]

ossimObject * ossimKakaduJpipHandlerFactory::createObject ( const ossimKeywordlist kwl,
const char *  prefix = 0 
) const
virtual

Creates and object given a keyword list and prefix.

Parameters
kwlThe keyword list.
prefixthe keyword list prefix.
Returns
pointer to image handler on success, NULL on failure.

Implements ossimObjectFactory.

Definition at line 180 of file ossimKakaduJpipHandlerFactory.cpp.

References open().

183 {
184  return this->open(kwl, prefix);
185 }
virtual ossimImageHandler * open(const ossimFilename &fileName, bool openOverview=true) const
open that takes a file name.

◆ getImageHandlersByMimeType()

void ossimKakaduJpipHandlerFactory::getImageHandlersByMimeType ( ossimImageHandlerFactoryBase::ImageHandlerList result,
const ossimString mimeType 
) const
virtual

Will add to the result list and handler that supports the passed in mime type.

Reimplemented from ossimImageHandlerFactoryBase.

Definition at line 215 of file ossimKakaduJpipHandlerFactory.cpp.

217 {
218 }

◆ getImageHandlersBySuffix()

void ossimKakaduJpipHandlerFactory::getImageHandlersBySuffix ( ossimImageHandlerFactoryBase::ImageHandlerList result,
const ossimString ext 
) const
virtual

Will add to the result list any handler that supports the passed in extensions.

Reimplemented from ossimImageHandlerFactoryBase.

Definition at line 200 of file ossimKakaduJpipHandlerFactory.cpp.

References ossimString::downcase(), and ossimString::push_back().

202 {
203  ossimString testExt = ext.downcase();
204  if((testExt == "jp2")||(testExt=="jp2"))
205  {
206  result.push_back(new ossimKakaduJpipHandler());
207  }
208 }
void push_back(char c)
Equivalent to insert(end(), c).
Definition: ossimString.h:905
static ossimString downcase(const ossimString &aString)
Definition: ossimString.cpp:48

◆ getSupportedExtensions()

void ossimKakaduJpipHandlerFactory::getSupportedExtensions ( ossimImageHandlerFactoryBase::UniqueStringList extensionList) const
virtual

Method to add supported extension to the list, like "jp2".

Parameters
extensionListThe list to add to.

Implements ossimImageHandlerFactoryBase.

Definition at line 193 of file ossimKakaduJpipHandlerFactory.cpp.

References ossimImageHandlerFactoryBase::UniqueList< T >::push_back().

195 {
196  extensionList.push_back("jp2");
197  extensionList.push_back("jpip");
198 }

◆ getTypeNameList()

void ossimKakaduJpipHandlerFactory::getTypeNameList ( std::vector< ossimString > &  typeList) const
virtual

Adds ossimKakaduWriter to the typeList.

Parameters
typeListList to add to.

Implements ossimObjectFactory.

Definition at line 187 of file ossimKakaduJpipHandlerFactory.cpp.

References STATIC_TYPE_NAME.

189 {
190  typeList.push_back(STATIC_TYPE_NAME(ossimKakaduJpipHandler));
191 }
#define STATIC_TYPE_NAME(T)
Definition: ossimRtti.h:325

◆ instance()

ossimKakaduJpipHandlerFactory * ossimKakaduJpipHandlerFactory::instance ( )
static

static method to return instance (the only one) of this class.

Returns
pointer to instance of this class.

Definition at line 33 of file ossimKakaduJpipHandlerFactory.cpp.

Referenced by ossimSharedLibraryInitialize().

34 {
36  return &inst;
37 }
Factory for J2K image reader.

◆ open() [1/2]

ossimImageHandler * ossimKakaduJpipHandlerFactory::open ( const ossimFilename fileName,
bool  openOverview = true 
) const
virtual

open that takes a file name.

Parameters
fileThe file to open.
openOverviewIf true image handler will attempt to open overview. default = true
Returns
pointer to image handler on success, NULL on failure.

Implements ossimImageHandlerFactoryBase.

Definition at line 39 of file ossimKakaduJpipHandlerFactory.cpp.

Referenced by createObject().

41 {
42  static const char* M = "ossimKakaduJpipHandlerFactory::open(filename) -- ";
43  if(traceDebug())
44  {
45  ossimNotify(ossimNotifyLevel_DEBUG)<<M<<"Entered with filename <"<<fileName<<">\n" ;
46  }
47 
49 
50  if (traceDebug()) ossimNotify(ossimNotifyLevel_DEBUG)<<M<< "Trying ossimKakaduJpipHandler...";
51  reader = new ossimKakaduJpipHandler();
53  if(!reader->open(fileName))
54  {
55  reader = 0;
56  }
57 
58  if (traceDebug())
59  {
60  if (reader.valid())
61  ossimNotify(ossimNotifyLevel_DEBUG)<<M<< " SUCCESS" << std::endl;
62  else
63  ossimNotify(ossimNotifyLevel_DEBUG)<<M<< " Open FAILED" << std::endl;
64  }
65 
66  return reader.release();
67 }
virtual bool open()=0
Pure virtual open.
void setOpenOverviewFlag(bool flag)
Sets theOpenOverviewFlag.
bool valid() const
Definition: ossimRefPtr.h:75
virtual ossimRefPtr< ossimImageHandler > openOverview(const ossimFilename &file) const
Open overview that takes a file name.
T * release()
Definition: ossimRefPtr.h:93
OSSIMDLLEXPORT std::ostream & ossimNotify(ossimNotifyLevel level=ossimNotifyLevel_WARN)

◆ open() [2/2]

ossimImageHandler * ossimKakaduJpipHandlerFactory::open ( const ossimKeywordlist kwl,
const char *  prefix = 0 
) const
virtual

open that takes a keyword list and prefix.

Parameters
kwlThe keyword list.
prefixthe keyword list prefix.
Returns
pointer to image handler on success, NULL on failure.

Implements ossimImageHandlerFactoryBase.

Definition at line 69 of file ossimKakaduJpipHandlerFactory.cpp.

71 {
72  if(traceDebug())
73  {
75  << "ossimKakaduJpipHandlerFactory::open(kwl, prefix) DEBUG: entered..."
76  << std::endl;
77  }
79  const char* lookup = kwl.find(prefix, ossimKeywordNames::TYPE_KW);
80  const char* filenameLookup = kwl.find(prefix, ossimKeywordNames::FILENAME_KW);
81  const char* urlLookup = kwl.find(prefix, "url");
82 
84  // first check if url is present in keywordlist
85  if(urlLookup)
86  {
87  if(traceDebug())
88  {
90  << "URL lookup"
91  << std::endl;
92  }
93 
94  if(lookup)
95  {
96  obj = createObject(ossimString(lookup));
97  reader = dynamic_cast<ossimImageHandler*> (obj.get());
98  obj = 0;
99  if(reader.valid())
100  {
101  if(reader->loadState(kwl, prefix) == false)
102  {
103  reader = 0;
104  }
105  }
106  }
107  if(!reader.valid())
108  {
109  if(ossimUrl(urlLookup).getProtocol().downcase().contains("jpip"))
110  {
111  reader = new ossimKakaduJpipHandler();
112  if(reader->loadState(kwl, prefix) == false)
113  {
114  reader = 0;
115  }
116  }
117  }
118  }
119  else if(filenameLookup)
120  {
121  ossimFilename local(filenameLookup);
122 
123 
124  // check if the filename is a jpip url
125  if(!ossimFilename(filenameLookup).exists()&&
126  ossimUrl(filenameLookup).getProtocol().downcase().contains("jpip"))
127  {
128  reader = open(ossimFilename(filenameLookup));
129  }
130  else if(local.exists()&&(local.ext().downcase()=="jpip"))
131  {
132  // do local file keywordlist
133  //
134  ossimKeywordlist tempKwl;
135  tempKwl.add(kwl, prefix, true);
136  if(tempKwl.addFile(ossimFilename(filenameLookup)))
137  {
138  if(tempKwl.find("url"))
139  {
140  reader = open(tempKwl);
141  }
142  }
143  }
144  }
145  else if(lookup)
146  {
147  obj = createObject(ossimString(lookup));
148  reader = dynamic_cast<ossimImageHandler*> (obj.get());
149  obj = 0;
150  if(reader.valid())
151  {
152  if(reader->loadState(kwl, prefix) == false)
153  {
154  reader = 0;
155  }
156  }
157  }
158  if(traceDebug())
159  {
161  << "ossimKakaduJpipHandlerFactory::open(kwl, prefix) DEBUG: leaving..."
162  << std::endl;
163  }
164 
165  return reader.release();
166 }
Represents serializable keyword/value map.
bool addFile(const char *file)
bool valid() const
Definition: ossimRefPtr.h:75
const char * find(const char *key) const
virtual bool loadState(const ossimKeywordlist &kwl, const char *prefix=0)
Method to the load (recreate) the state of an object from a keyword list.
bool contains(char aChar) const
Definition: ossimString.h:58
static const char * TYPE_KW
void add(const char *prefix, const ossimKeywordlist &kwl, bool overwrite=true)
const ossimString & getProtocol() const
Definition: ossimUrl.h:17
T * release()
Definition: ossimRefPtr.h:93
static ossimString downcase(const ossimString &aString)
Definition: ossimString.cpp:48
This class defines an abstract Handler which all image handlers(loaders) should derive from...
virtual ossimImageHandler * open(const ossimFilename &fileName, bool openOverview=true) const
open that takes a file name.
virtual ossimObject * createObject(const ossimString &typeName) const
createObject that takes a class name (ossimKakaduReader)
static const char * FILENAME_KW
OSSIMDLLEXPORT std::ostream & ossimNotify(ossimNotifyLevel level=ossimNotifyLevel_WARN)

◆ operator=()

void ossimKakaduJpipHandlerFactory::operator= ( const ossimKakaduJpipHandlerFactory )
protected

hidden from use copy constructor

Definition at line 225 of file ossimKakaduJpipHandlerFactory.cpp.

225 {}

The documentation for this class was generated from the following files: