tauZaman
v0.1

tauzaman
Class TauZamanLocalService

java.lang.Object
  |
  +--tauzaman.TauZamanLocalService

public class TauZamanLocalService
extends java.lang.Object

TauZamanLocalService class provides local Calendar related services. It is instantiated via TauZamanSystem.

 // assume americanCalendricSystemUrl and defaultPropertyListUrl are alread declared and initialized
 TauZamanSystem tzs = new TauZamanSystem();
 TauZamanLocalService tzls = tzs.getTauZamanLocalService("american", americanCalendricSystemUrl, defaultPropertyListUrl);
 

See Also:
TauZamanSystem

Field Summary
private  java.lang.String activeCalendricSystemName
          user given name of active CalendricSystem
private  java.util.Hashtable calendricSystemNamespace
          A mapping from user given CalendricSystem names to actual CalendricSystem objects
private  CalendricSystemRepository csr
          A handle to CalendricSystemRepository of parent TauZamanSystem
private  FVSupportRepository fvsr
          A handle to FVSupportRepository of parent TauZamanSystem
private  PropertyRepository pr
          A handle to PropertyRepository of parent TauZamanSystem
 
Constructor Summary
protected TauZamanLocalService(TauZamanSystem parentSystem, java.lang.String calendricSystemName, java.net.URL calendricSystemUrl, java.net.URL defaultPropertyListUrl)
          Constructs a TauZamanLocalService object ready to serve.
 
Method Summary
 Granularity getActiveCalendricSystemDefaultGranularity()
          Returns default Granularity of active CalendricSystem.
 java.lang.String getActiveCalendricSystemName()
          Returns name of active CalendricSystem of this service.
protected  CalendricSystem getCalendricSystem(java.lang.String calendricSystemName)
          Returns a handle to CalendricSystem object given its name.
protected  FVSupportRepository getFVSupportRepository()
          Returns a handle to FVSupportRepository of this service.
protected  PropertyManager getPropertyManager(java.lang.String calendricSystemName)
          Returns a handle to PropertyManager object given its fellow CalendricSystem name.
 java.lang.String getPropertyStackImage(java.lang.String propertyName)
          Gets all the current Property information of a specific Property name in a String.
 java.lang.String getPropertyStackImage(java.lang.String calendricSystemName, java.lang.String propertyName)
          Gets all the current Property information of a specific Property name in a String.
private  java.lang.String getPropertyStackImageInternal(PropertyManager pm, java.lang.String propertyName)
          Internal use...
 boolean isValidCalendricSystemName(java.lang.String calendricSystemName)
          Returns true if given CalendricSystem name is actually mapped to a loaded CalendricSystem object.
 void loadCalendricSystem(java.lang.String calendricSystemName, java.net.URL calendricSystemUrl, java.net.URL defaultPropertyListUrl)
          Loads the CalendricSystem, whose specification file and default Property list URLs are given.
 Granule[] parseInput(java.lang.String inputStr, java.lang.String propertyName)
          Returns an array of Granule objects formed by using input temporal constant and given Property name.
 java.lang.String parseOutput(Granule[] granules, java.lang.String propertyName, java.lang.String cachedCalendricSystemName)
          Converts a timestamp (in terms of Granule(s)) into temporal constant as string.
 void propertyActivate(java.lang.String calendricSystemName, java.net.URL propertyUrl, java.lang.String[] focusPropertyNames)
          Activates a Property from given URL of Property specification file.
 void propertyActivate(java.net.URL propertyUrl, java.lang.String[] focusPropertyNames)
          Activates a Property from given Property specification file URL.
private  void propertyActivateInternal(PropertyManager pm, java.net.URL propertyUrl, java.lang.String[] focusPropertyNames)
          Internal use...
 void propertyDeactivate(java.lang.String propertyName)
          Deactivates a Property whose has the given name.
 void propertyDeactivate(java.lang.String calendricSystemName, java.lang.String propertyName)
          Deactivates and removes any active Properties.
 void propertyDeactivateAll()
          Deactivates and removes any active Properties.
 void propertyDeactivateAll(java.lang.String calendricSystemName)
          Deactivates and removes any active Properties.
private  void propertyDeactivateAllInternal(PropertyManager pm)
          Internal use...
private  void propertyDeactivateInternal(PropertyManager pm, java.lang.String propertyName)
          Internal use...
 void propertySetDefault(java.lang.String propertyName)
          Sets Property (given by its name) to its default value.
 void propertySetDefault(java.lang.String calendricSystemName, java.lang.String propertyName)
          Sets Property (given by its name) to its default value.
 void propertySetDefaultAll()
          Sets all active Properties to their default values.
 void propertySetDefaultAll(java.lang.String calendricSystemName)
          Sets all active Properties to their default values.
private  void propertySetDefaultAllInternal(PropertyManager pm)
          Internal use...
private  void propertySetDefaultInternal(PropertyManager pm, java.lang.String propertyName)
          Internal use...
 void setActiveCalendricSystem(java.lang.String calendricSystemName)
          Sets given CalendricSystem name as active CalendricSystem of this service.
 java.lang.String toString()
          Returns String representation of this TauZamanLocalService.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Field Detail

activeCalendricSystemName

private java.lang.String activeCalendricSystemName
user given name of active CalendricSystem


calendricSystemNamespace

private java.util.Hashtable calendricSystemNamespace
A mapping from user given CalendricSystem names to actual CalendricSystem objects


csr

private CalendricSystemRepository csr
A handle to CalendricSystemRepository of parent TauZamanSystem


pr

private PropertyRepository pr
A handle to PropertyRepository of parent TauZamanSystem


fvsr

private FVSupportRepository fvsr
A handle to FVSupportRepository of parent TauZamanSystem

Constructor Detail

TauZamanLocalService

protected TauZamanLocalService(TauZamanSystem parentSystem,
                               java.lang.String calendricSystemName,
                               java.net.URL calendricSystemUrl,
                               java.net.URL defaultPropertyListUrl)
                        throws CalendricSystemFormationException,
                               PropertyFormationException
Constructs a TauZamanLocalService object ready to serve.

Parameters:
parentSystem - parent TauZamanSystem of this TauZamanLocalService
calendricSystemName - String name of defaultly loaded CalendricSystem
calendricSystemUrl - URL of defaultly loaded CalendricSystem
defaultPropertyListUrl - URL of defaultly loaded Property list
Throws:
CalendricSystemFormationException - if any abnormal condition occurs when loading default CalendricSystem
PropertyFormationException - if any abnormal condition occurs when loading default Property list
Method Detail

getActiveCalendricSystemDefaultGranularity

public Granularity getActiveCalendricSystemDefaultGranularity()
Returns default Granularity of active CalendricSystem.

Returns:
Granularity

loadCalendricSystem

public void loadCalendricSystem(java.lang.String calendricSystemName,
                                java.net.URL calendricSystemUrl,
                                java.net.URL defaultPropertyListUrl)
                         throws CalendricSystemFormationException,
                                PropertyFormationException
Loads the CalendricSystem, whose specification file and default Property list URLs are given.

Parameters:
calendricSystemName - String name of loaded CalendricSystem
calendricSystemUrl - URL of loaded CalendricSystem
defaultPropertyListUrl - URL of loaded Property list
Throws:
CalendricSystemFormationException - if any abnormal condition occurs when loading CalendricSystem
PropertyFormationException - if any abnormal condition occurs when loading Property list

setActiveCalendricSystem

public void setActiveCalendricSystem(java.lang.String calendricSystemName)
                              throws CalendricSystemServiceException
Sets given CalendricSystem name as active CalendricSystem of this service.

Parameters:
calendricSystemName - String name of CalendricSystem to be activated
Throws:
CalendricSystemServiceException - if any abnormal condition occurs when setting active CalendricSystem. Specifically it is thrown when provided a CalendricSystem name, which is not already loaded.

getActiveCalendricSystemName

public java.lang.String getActiveCalendricSystemName()
Returns name of active CalendricSystem of this service.

Returns:
String name of active CalendricSystem of this service

getCalendricSystem

protected CalendricSystem getCalendricSystem(java.lang.String calendricSystemName)
Returns a handle to CalendricSystem object given its name.

Parameters:
calendricSystemName - String name of requested CalendricSystem object
Returns:
a handle to CalendricSystem object
See Also:
CalendricSystem

getPropertyManager

protected PropertyManager getPropertyManager(java.lang.String calendricSystemName)
Returns a handle to PropertyManager object given its fellow CalendricSystem name.

Parameters:
calendricSystemName - String name of CalendricSystem object
Returns:
a handle to PropertyManager object
See Also:
PropertyManager

getFVSupportRepository

protected FVSupportRepository getFVSupportRepository()
Returns a handle to FVSupportRepository of this service.

See Also:
FVSupportRepository

parseInput

public Granule[] parseInput(java.lang.String inputStr,
                            java.lang.String propertyName)
                     throws IOException
Returns an array of Granule objects formed by using input temporal constant and given Property name.

Parameters:
propertyName - name of the Property to be used when parsing input
Returns:
array of Granule objects
Throws:
IOException - if any error occurs while parsing an input temporal constant

parseOutput

public java.lang.String parseOutput(Granule[] granules,
                                    java.lang.String propertyName,
                                    java.lang.String cachedCalendricSystemName)
                             throws IOException
Converts a timestamp (in terms of Granule(s)) into temporal constant as string. Format of the output string, given Property's format template is used.

Parameters:
granules - Calendar parsed timestamp
propertyName - name of the Property, which is used to format of the output string, temporal constant
Returns:
formatted String, which is a temporal constant
Throws:
IOException - if any error occurs while converting a timestamp into a temporal constant

isValidCalendricSystemName

public boolean isValidCalendricSystemName(java.lang.String calendricSystemName)
Returns true if given CalendricSystem name is actually mapped to a loaded CalendricSystem object. False otherwise.

Parameters:
calendricSystemName - String name of CalendricSystem that validity is checked.
Returns:
true if given CalendricSystem name is actually mapped to a loaded CalendricSystem object. False otherwise.

propertyActivate

public void propertyActivate(java.net.URL propertyUrl,
                             java.lang.String[] focusPropertyNames)
                      throws PropertyFormationException
Activates a Property from given Property specification file URL. This method updates PropertyManager of active CalendricSystem.

Parameters:
focusPropertyNames - names of Properties that are wanted to be activated residing in given file. If null, all of the Properties in the file, pointed by url, will be activated.
Throws:
PropertyFormationException - if any problem occurs when activating the Property or if maximum number of allowable Propertyies exceeded (not implemented yet).

propertyDeactivateAll

public void propertyDeactivateAll()
Deactivates and removes any active Properties. It will not deactivate or remove any default Property, so any attempt will only succeed to deactivate and remove only non-default active Properties. This method updates PropertyManager of active CalendricSystem.


propertyDeactivate

public void propertyDeactivate(java.lang.String propertyName)
                        throws PropertyServiceException
Deactivates a Property whose has the given name. This method updates PropertyManager of active CalendricSystem if calendricSystemName is null. Else it'll try to update CalendricSystem, which corresponds to calendricSystemName.

Throws:
PropertyServiceException - if the name is an invalid Property name

propertySetDefaultAll

public void propertySetDefaultAll()
Sets all active Properties to their default values. This method updates PropertyManager of active CalendricSystem.


propertySetDefault

public void propertySetDefault(java.lang.String propertyName)
                        throws PropertyServiceException
Sets Property (given by its name) to its default value. If the Property already has its default value active, then keep silent. This method updates PropertyManager of active CalendricSystem.

Throws:
PropertyServiceException - if the name is an invalid Property name

getPropertyStackImage

public java.lang.String getPropertyStackImage(java.lang.String propertyName)
                                       throws PropertyServiceException
Gets all the current Property information of a specific Property name in a String. Format of the return string is; {urlOfProperty}%{urOfProperty}%....%{urlOfProperty} order is same as of Property stack from bottom to top.

Returns:
a String containing current Properties activated for a specific Property name
Throws:
PropertyServiceException - if any abnormal condition occurs when getting the image of Property stack given its name

propertyActivate

public void propertyActivate(java.lang.String calendricSystemName,
                             java.net.URL propertyUrl,
                             java.lang.String[] focusPropertyNames)
                      throws PropertyFormationException,
                             CalendricSystemServiceException
Activates a Property from given URL of Property specification file. This method updates PropertyManager of CalendricSystem, given its name.

Parameters:
calendricSystemName - String name, which should point to a URL of CalendricSystem
focusPropertyNames - names of Properties that are wanted to be activated residing in given file
Throws:
PropertyFormationException - if any problem occurs when activating the Property or if maximum number of allowable Propertyies exceeded (not implemented yet)
CalendricSystemServiceException - if given CalendricSystem calendricSystemName is invalid

propertyDeactivateAll

public void propertyDeactivateAll(java.lang.String calendricSystemName)
                           throws CalendricSystemServiceException
Deactivates and removes any active Properties. It will not deactivate or remove any default Property, so any attempt will only succeed to deactivate and remove only non-default active Properties. This method updates PropertyManager of active CalendricSystem.

Parameters:
calendricSystemName - String name, which should point to a URL of CalendricSystem
Throws:
CalendricSystemServiceException - if given CalendricSystem calendricSystemName is invalid

propertyDeactivate

public void propertyDeactivate(java.lang.String calendricSystemName,
                               java.lang.String propertyName)
                        throws PropertyServiceException,
                               CalendricSystemServiceException
Deactivates and removes any active Properties. It will not deactivate or remove any default Property, so any attempt will only succeed to deactivate and remove only non-default active Properties. This method updates PropertyManager of CalendricSystem, given its name.

Parameters:
calendricSystemName - String name, which should point to a URL of CalendricSystem
Throws:
PropertyServiceException - if given name is not a valid Property name
CalendricSystemServiceException - if given CalendricSystem calendricSystemName is invalid

propertySetDefaultAll

public void propertySetDefaultAll(java.lang.String calendricSystemName)
                           throws CalendricSystemServiceException
Sets all active Properties to their default values. This method updates PropertyManager of CalendricSystem, given its name.

Parameters:
calendricSystemName - String name, which should point to a URL of CalendricSystem
Throws:
CalendricSystemServiceException - if given CalendricSystem calendricSystemName is invalid

propertySetDefault

public void propertySetDefault(java.lang.String calendricSystemName,
                               java.lang.String propertyName)
                        throws PropertyServiceException,
                               CalendricSystemServiceException
Sets Property (given by its name) to its default value. If the Property already has its default value active, then keep silent. This method updates PropertyManager of CalendricSystem, given its name.

Parameters:
calendricSystemName - String name, which should point to a URL of CalendricSystem
Throws:
PropertyServiceException - if given name is not a valid Property name
CalendricSystemServiceException - if given CalendricSystem calendricSystemName is invalid

getPropertyStackImage

public java.lang.String getPropertyStackImage(java.lang.String calendricSystemName,
                                              java.lang.String propertyName)
                                       throws PropertyServiceException,
                                              CalendricSystemServiceException
Gets all the current Property information of a specific Property name in a String. Format of the return string is; {urlOfProperty}%{urOfProperty}%....%{urlOfProperty} order is same as of Property stack from bottom to top.

Parameters:
calendricSystemName - String name, which should point to a URL of CalendricSystem
Returns:
a String containing current Properties activated for a specific Property name
Throws:
PropertyServiceException - if given name is not a valid Property name
CalendricSystemServiceException - if given CalendricSystem calendricSystemName is invalid

propertyActivateInternal

private void propertyActivateInternal(PropertyManager pm,
                                      java.net.URL propertyUrl,
                                      java.lang.String[] focusPropertyNames)
                               throws PropertyFormationException
Internal use...

PropertyFormationException

propertyDeactivateAllInternal

private void propertyDeactivateAllInternal(PropertyManager pm)
Internal use...


propertyDeactivateInternal

private void propertyDeactivateInternal(PropertyManager pm,
                                        java.lang.String propertyName)
                                 throws PropertyServiceException
Internal use...

PropertyServiceException

propertySetDefaultAllInternal

private void propertySetDefaultAllInternal(PropertyManager pm)
Internal use...


propertySetDefaultInternal

private void propertySetDefaultInternal(PropertyManager pm,
                                        java.lang.String propertyName)
                                 throws PropertyServiceException
Internal use...

PropertyServiceException

getPropertyStackImageInternal

private java.lang.String getPropertyStackImageInternal(PropertyManager pm,
                                                       java.lang.String propertyName)
                                                throws PropertyServiceException
Internal use...

PropertyServiceException

toString

public java.lang.String toString()
Returns String representation of this TauZamanLocalService.

Overrides:
toString in class java.lang.Object
Returns:
string representation of active CalendricSystem of this TauZamanLocalService

tauZaman
v0.1

Submit a bug or feature

tauZaman is an open-source, publicly avaliable project