/*
* Copyright (c) 2006-2011 Nuxeo SA (http://nuxeo.com/) and others.
*
* All rights reserved. This program and the accompanying materials
* are made available under the terms of the Eclipse Public License v1.0
* which accompanies this distribution, and is available at
* http://www.eclipse.org/legal/epl-v10.html
*
* Contributors:
* Nuxeo - initial API and implementation
*/
package org.nuxeo.ecm.core.management.storage;
import java.util.List;
import org.nuxeo.ecm.core.management.api.AdministrativeStatus;
public interface AdministrativeStatusPersister {
/**
* Lists all instance identifiers persisted in the backend.
*/
List<String> getAllInstanceIds();
/**
* Saves the {@link AdministrativeStatus} of a service of a given instance
*/
AdministrativeStatus saveStatus(AdministrativeStatus status);
/**
* Reads the {@link AdministrativeStatus} of a service for a given instance
*/
AdministrativeStatus getStatus(String instanceId, String serviceIdentifier);
/**
* Retrieves the {@link AdministrativeStatus} for all services of a given
* instance
*/
List<AdministrativeStatus> getAllStatuses(String instanceId);
/**
* Removes all persisted states for a given instance.
*/
void remove(String instanceId);
}