edu.iu.iv.modeling.tarl.publication
Interface PublicationManager

All Known Implementing Classes:
DefaultPublicationManager

public interface PublicationManager

This interface defines all the high-level functions related to Publications. The TarlExecuter solely uses this interface to deal with the Publication environment. Some of these functions are initializing the publications environment, producing a publication, terminating the current year, retreiving the publication database, computing the co-citation graph and cleaning up the publication environment.
The PublicationManager should keep track of current year throughout its existence. The function terminateCurrentYear() should be used for such a task.


Method Summary
 void cleanUpPublication()
          Cleans up the Publication environment.
 PublicationGroup getPublications()
          Returns the group of Publications.
 void initializePublications(PublicationParameters publicationParameters, java.io.File agingFunctionFile)
          Initializes the Publication environment to enable various operations on the Publications.
 void producePublications(AuthorsTopicBucket authorsTopicBucket)
          Produces Publications for the specified Authors.
 void producePublicationsAtStart(AuthorsTopicBucket authorsTopicBucket)
          Produces the Publications for the specified authors and topic at the very start of the model
 void terminateCurrentYear()
          Terminates the current year for the Publication environment.
 

Method Detail

initializePublications

public void initializePublications(PublicationParameters publicationParameters,
                                   java.io.File agingFunctionFile)
Initializes the Publication environment to enable various operations on the Publications. This function should be called before calling any other function in PublicationManager.

Parameters:
publicationParameters - Specifies the input parameters related to publications

producePublicationsAtStart

public void producePublicationsAtStart(AuthorsTopicBucket authorsTopicBucket)
                                throws TarlException
Produces the Publications for the specified authors and topic at the very start of the model

Parameters:
authorsTopicBucket - Specifies the authors and topic for the new publications
Throws:
TarlException - if the new publications cannot be initialized

producePublications

public void producePublications(AuthorsTopicBucket authorsTopicBucket)
                         throws TarlException
Produces Publications for the specified Authors. The function should choose the new publication based on the initialization values it was supplied with.

Parameters:
authorsTopicBucket - Specifies the bucket of authors and their topic who wish to collaborate for the publication
Throws:
TarlException - if the specified information is insufficient to produce a publication

terminateCurrentYear

public void terminateCurrentYear()
Terminates the current year for the Publication environment. The function should take the necessary steps to indicate that the current year has ended.


getPublications

public PublicationGroup getPublications()
Returns the group of Publications. This function can be used to generate the Author-Publication graph at the TarlExecuter level where it has access to the graph of Authors and Publications.

Returns:
the group of publications in the system

cleanUpPublication

public void cleanUpPublication()
Cleans up the Publication environment. It is responsible for freeing up resources that the Publication environment has used for its execution.