com.anrisoftware.sscontrol.httpd.citadel.CitadelService Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of sscontrol-httpd-citadel Show documentation
Show all versions of sscontrol-httpd-citadel Show documentation
Citadel groupware server. - http://citadel.org/
/*
* Copyright 2014 Erwin Müller
*
* This file is part of sscontrol-httpd-citadel.
*
* sscontrol-httpd-citadel is free software: you can redistribute it and/or modify it
* under the terms of the GNU Affero General Public License as published by the
* Free Software Foundation, either version 3 of the License, or (at your
* option) any later version.
*
* sscontrol-httpd-citadel is distributed in the hope that it will be useful, but
* WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
* FITNESS FOR A PARTICULAR PURPOSE. See the GNU Affero General Public License
* for more details.
*
* You should have received a copy of the GNU Affero General Public License
* along with sscontrol-httpd-citadel. If not, see .
*/
package com.anrisoftware.sscontrol.httpd.citadel;
import java.net.URI;
import java.util.List;
import java.util.Map;
import com.anrisoftware.sscontrol.httpd.webservice.WebService;
/**
* Citadel service.
*
* @see http://citadel.org
*
* @author Erwin Mueller, [email protected]
* @since 1.0
*/
public interface CitadelService extends WebService {
/**
* Returns the binding addresses.
*
*
*
* {["0.0.0.0": [504], "192.168.0.2"]: [504]}
*
*
*
* httpd {
* domain "test1.com", address: "192.168.0.51", {
* setup "citadel", alias: "/", {
* bind "0.0.0.0", port: 504
* bind all, port: 504
* bind "192.168.0.2", ports: [504]
* }
* }
* }
*
*
* @return the {@link List} of the {@link String} addresses or {@code null}.
*/
Map> getBindingAddresses();
/**
* Returns the administrator user.
*
*
*
* httpd {
* domain "test1.com", address: "192.168.0.51", {
* setup "citadel", alias: "/", {
* admin "admin", password: "adminpass"
* }
* }
* }
*
*
* @return the administrator user {@link String} name or {@code null}.
*/
String getAdminUser();
/**
* Returns the administrator user password.
*
*
*
* httpd {
* domain "test1.com", address: "192.168.0.51", {
* setup "citadel", alias: "/", {
* admin "admin", password: "adminpass"
* }
* }
* }
*
*
* @return the administrator user {@link String} password or {@code null}.
*/
String getAdminPassword();
/**
* Returns the authentication method.
*
*
*
* httpd {
* domain "test1.com", address: "192.168.0.51", {
* setup "citadel", alias: "/", {
* auth method: AuthMethod.selfContained
* }
* }
* }
*
*
* @return the authentication {@link AuthMethod} method or {@code null}.
*/
AuthMethod getAuthMethod();
/**
* Returns the certificate authority resource.
*
*
*
* httpd {
* domain "test1.com", address: "192.168.0.51", {
* setup "citadel", alias: "/", {
* certificate ca: "cert.csr", file: "cert.crt", key: "cert.key"
* }
* }
* }
*
*
* @return the certificate authority {@link URI} resource or {@code null}.
*/
URI getCertCa();
/**
* Returns the certificate file resource.
*
*
*
* httpd {
* domain "test1.com", address: "192.168.0.51", {
* setup "citadel", alias: "/", {
* certificate ca: "cert.csr", file: "cert.crt", key: "cert.key"
* }
* }
* }
*
*
* @return the certificate file {@link URI} resource or {@code null}.
*/
URI getCertFile();
/**
* Returns the certificate key resource.
*
*
*
* httpd {
* domain "test1.com", address: "192.168.0.51", {
* setup "citadel", alias: "/", {
* certificate ca: "cert.csr", file: "cert.crt", key: "cert.key"
* }
* }
* }
*
*
* @return the certificate key {@link URI} resource or {@code null}.
*/
URI getCertKey();
}