Package ca.phon.project
Class AbstractProject
java.lang.Object
ca.phon.project.AbstractProject
- All Implemented Interfaces:
IExtendable
,Project
- Direct Known Subclasses:
LocalProject
,RemoteProject
-
Field Summary
Modifier and TypeFieldDescriptionprotected static final String
Local projects no longer create this file but will read from it Remote projects require this file exists -
Constructor Summary
-
Method Summary
Modifier and TypeMethodDescriptionvoid
addProjectListener
(ProjectListener listener) void
void
void
<T> T
getExtension
(Class<T> cap) Get the requested extension if available.Return all extension types supportedprotected ProjectType
loadProjectData
(InputStream inputStream) Load project data from the project.xml file.<T> T
putExtension
(Class<T> cap, T impl) Add a new extension.<T> T
removeExtension
(Class<T> cap) Remove a capability.void
removeProjectListener
(ProjectListener listener) Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
Methods inherited from interface ca.phon.project.Project
addCorpus, createSessionFromTemplate, getCorpora, getCorpusDescription, getCorpusMediaFolder, getCorpusPath, getCorpusSessions, getLocation, getName, getParticipants, getProjectMediaFolder, getResourceInputStream, getResourceLocation, getResourceOutputStream, getSessionByteSize, getSessionByteSize, getSessionModificationTime, getSessionModificationTime, getSessionPath, getSessionPath, getSessionTemplate, getSessionWriteLock, getSessionWriteLock, getUUID, getVersion, hasCustomCorpusMediaFolder, hasCustomProjectMediaFolder, isSessionLocked, isSessionLocked, numberOfRecordsInSession, openSession, openSession, releaseSessionWriteLock, releaseSessionWriteLock, removeCorpus, removeSession, removeSession, renameCorpus, saveSession, saveSession, saveSession, saveSessionTemplate, setCorpusDescription, setCorpusMediaFolder, setCorpusPath, setName, setProjectMediaFolder, setResourceLocation, setUUID
-
Field Details
-
PROJECT_XML_FILE
Local projects no longer create this file but will read from it Remote projects require this file exists- See Also:
-
-
Constructor Details
-
AbstractProject
public AbstractProject()
-
-
Method Details
-
loadProjectData
Load project data from the project.xml file. If not found, empty project data is created.- Returns:
- projectData
- Throws:
ProjectConfigurationException
-
getExtensions
Description copied from interface:IExtendable
Return all extension types supported- Specified by:
getExtensions
in interfaceIExtendable
-
getExtension
Description copied from interface:IExtendable
Get the requested extension if available.- Specified by:
getExtension
in interfaceIExtendable
- Returns:
- the capability object or
null
if the cability is not available
-
putExtension
Description copied from interface:IExtendable
Add a new extension.- Specified by:
putExtension
in interfaceIExtendable
- Parameters:
cap
- the extension to add- Returns:
- the added extension implementation
-
removeExtension
Description copied from interface:IExtendable
Remove a capability.- Specified by:
removeExtension
in interfaceIExtendable
- Parameters:
cap
- the capability to remove
-
getProjectListeners
- Specified by:
getProjectListeners
in interfaceProject
-
addProjectListener
- Specified by:
addProjectListener
in interfaceProject
-
removeProjectListener
- Specified by:
removeProjectListener
in interfaceProject
-
fireProjectStructureChanged
- Specified by:
fireProjectStructureChanged
in interfaceProject
-
fireProjectDataChanged
- Specified by:
fireProjectDataChanged
in interfaceProject
-
fireProjectWriteLocksChanged
- Specified by:
fireProjectWriteLocksChanged
in interfaceProject
-