/* * Copyright (c) 2005,2009 Declarative Engineering LLC. * All rights reserved. This program and the accompanying materials * are made available under the terms of the Declarative Engineering LLC * verson 1 which accompanies this distribution, and is available at * http://declarativeengineering.com/legal/DE_Developer_License_v1.txt */ package com.foundation.application; import com.foundation.metadata.MetadataService; import com.foundation.transaction.TransactionService; import com.foundation.view.resource.AbstractResourceService; public interface IApplication extends com.foundation.controller.IController { /** * Gets the repository identifier for the application's primary (default) repository connection. * @return The repository identifier the application objects will use by default. */ public Object getDefaultRepositoryIdentifier(); /** * Gets the repository identifier for the application's primary (default) repository connection for the given class. * @param type The class whose default repository identifier is desired. * @return The repository identifier the application objects of the given type will use by default. */ public Object getDefaultRepositoryIdentifier(Class type); /** * Gets the metadata service for this application. * @return The metadata service object that will service this application's metadata needs. */ public MetadataService getMetadataService(); /** * Gets the resource service for this application. * @return The resource service object that will service this application's resource needs. */ public AbstractResourceService getResourceService(); /** * Gets the transaction service for this application. * @return The transaction service object that will service this application's transactional needs. */ public TransactionService getTransactionService(); /** * Gets the URL to access the given database. * @param id The database/repository identifier. * @return The URL for the database, or null if the URL in the metadata should be used. */ public String getDatabaseUrl(Object id); /** * Gets the name of the user to connect to the database as. * @param id The database/repository identifier. * @return The database user name to use when connecting. */ public String getDatabaseUser(Object id); /** * Gets the password used to connect to the database. * @param id The database/repository identifier. * @return The database user password to use when connecting. */ public String getDatabasePassword(Object id); }//IApplication//