org.siebengeisslein.application
Class DefaultApplication

java.lang.Object
  extended by org.siebengeisslein.client.Persistent
      extended by org.siebengeisslein.application.DefaultApplication
All Implemented Interfaces:
Application, Instrumented

public class DefaultApplication
extends Persistent
implements Application


Constructor Summary
DefaultApplication(java.lang.String id, java.lang.String displayName, java.lang.String description, java.util.Map<PString,PInteger> classIds, ClassData classData)
           
 
Method Summary
 void expire()
          Currently this is only used to notify change listeners, that this application has changed.
 void expire(Client client)
           
 ApplicationClassLoader getClassLoader()
           
 CustomizingData getCustomizingData()
           
 GlobalData getData()
           
 java.lang.String getDescription()
           
 java.lang.String getDisplayName()
           
 GuiData getGuiData()
           
 java.lang.String getId()
           
 ApplicationClassLoader getIdeClassLoader()
           
 int getLocalId()
           
 void initRoot(java.lang.String rootClassName)
           
static Application install(java.lang.String id, int localId, java.lang.String displayName, java.lang.String description, java.util.Map<PString,PInteger> classIds, AppInstallerIdFactory appInstallerIdFactory, Applications applications, DataDirectory data, IdeGuiData guiData, java.lang.String rootClassName, byte[] classData, CloneHelper cloneHelper, Client client)
           
 boolean isExpired()
           
 void merge(Application oldApplication)
           
 void setCustomizingData(CustomizingData customizing)
           
 void setData(GlobalData data)
           
 void setGuiData(GuiData guiData)
           
 void setLocalId(int localAppId)
           
 void start()
           
 
Methods inherited from class org.siebengeisslein.client.Persistent
abort, clearUserLocals, clone, commit, disposeTransient, getGroup, getRef, getTransientValue, hashCode, initTransient, isWriteTransaction, joinWriteTransaction, readLock, setGroup, setTransientValue, toPersistent, toRef, writeExternal, writeLock
 
Methods inherited from class java.lang.Object
equals, finalize, getClass, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

DefaultApplication

public DefaultApplication(java.lang.String id,
                          java.lang.String displayName,
                          java.lang.String description,
                          java.util.Map<PString,PInteger> classIds,
                          ClassData classData)
                   throws java.lang.InstantiationException,
                          java.lang.IllegalAccessException,
                          java.lang.ClassNotFoundException,
                          java.io.IOException
Throws:
java.lang.InstantiationException
java.lang.IllegalAccessException
java.lang.ClassNotFoundException
java.io.IOException
Method Detail

initRoot

public void initRoot(java.lang.String rootClassName)
              throws java.lang.InstantiationException,
                     java.lang.IllegalAccessException,
                     java.lang.ClassNotFoundException
Throws:
java.lang.InstantiationException
java.lang.IllegalAccessException
java.lang.ClassNotFoundException

getClassLoader

public ApplicationClassLoader getClassLoader()
Specified by:
getClassLoader in interface Application

getIdeClassLoader

public ApplicationClassLoader getIdeClassLoader()
Specified by:
getIdeClassLoader in interface Application

getId

public java.lang.String getId()
Specified by:
getId in interface Application

getDisplayName

public java.lang.String getDisplayName()
Specified by:
getDisplayName in interface Application

getCustomizingData

public CustomizingData getCustomizingData()
Specified by:
getCustomizingData in interface Application

setCustomizingData

public void setCustomizingData(CustomizingData customizing)
Specified by:
setCustomizingData in interface Application

start

public void start()
Specified by:
start in interface Application

setLocalId

public void setLocalId(int localAppId)
Specified by:
setLocalId in interface Application

getLocalId

public int getLocalId()
Specified by:
getLocalId in interface Application

merge

public void merge(Application oldApplication)
Specified by:
merge in interface Application

expire

public void expire(Client client)
Specified by:
expire in interface Application

getGuiData

public GuiData getGuiData()

getData

public GlobalData getData()

setData

public void setData(GlobalData data)

setGuiData

public void setGuiData(GuiData guiData)

install

public static Application install(java.lang.String id,
                                  int localId,
                                  java.lang.String displayName,
                                  java.lang.String description,
                                  java.util.Map<PString,PInteger> classIds,
                                  AppInstallerIdFactory appInstallerIdFactory,
                                  Applications applications,
                                  DataDirectory data,
                                  IdeGuiData guiData,
                                  java.lang.String rootClassName,
                                  byte[] classData,
                                  CloneHelper cloneHelper,
                                  Client client)
                           throws java.io.IOException,
                                  java.lang.InstantiationException,
                                  java.lang.IllegalAccessException,
                                  java.lang.ClassNotFoundException,
                                  java.lang.CloneNotSupportedException
Throws:
java.io.IOException
java.lang.InstantiationException
java.lang.IllegalAccessException
java.lang.ClassNotFoundException
java.lang.CloneNotSupportedException

getDescription

public java.lang.String getDescription()
Specified by:
getDescription in interface Application

expire

public void expire()
Currently this is only used to notify change listeners, that this application has changed. TODO: This should be implemented differently. ChangeListener in Applications??


isExpired

public boolean isExpired()