/*
* Copyright 2003 Federal Chancellery Austria
* MOA-ID has been developed in a cooperation between BRZ, the Federal
* Chancellery Austria - ICT staff unit, and Graz University of Technology.
*
* Licensed under the EUPL, Version 1.1 or - as soon they will be approved by
* the European Commission - subsequent versions of the EUPL (the "Licence");
* You may not use this work except in compliance with the Licence.
* You may obtain a copy of the Licence at:
* http://www.osor.eu/eupl/
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the Licence is distributed on an "AS IS" basis,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the Licence for the specific language governing permissions and
* limitations under the Licence.
*
* This product combines work with different licenses. See the "NOTICE" text
* file for details on the various modules and licenses.
* The "NOTICE" text file is part of the distribution. Any derivative works
* that you distribute must include a readable copy of the "NOTICE" text file.
*/
package at.gv.egovernment.moa.id.auth.builder;
import at.gv.egovernment.moa.util.Constants;
/**
* Builder for the <InfoboxReadRequest>
structure
* used for requesting the identity link from the security layer implementation.
*
* @author Paul Ivancsics
* @version $Id$
*/
public class InfoboxReadRequestBuilder implements Constants {
/**
* Constructor for InfoboxReadRequestBuilder.
*/
public InfoboxReadRequestBuilder() {
}
/**
* Builds an <InfoboxReadRequest>
.
*
* @param slVersion12 specifies whether the Security Layer version is
* version 1.2 or not
* @param businessService specifies whether the online application is a
* business service or not
* @param identityLinkDomainIdentifier the identification number of the business
* company; maybe null
if the OA
* is a public service; must not be null
* if the OA is a business service
*
* @return <InfoboxReadRequest>
as String
*/
public String build(boolean slVersion12, boolean businessService, String identityLinkDomainIdentifier) {
String slPrefix;
String slNsDeclaration;
if (slVersion12) {
slPrefix = SL12_PREFIX;
slNsDeclaration = SL12_NS_URI;
} else {
slPrefix = SL10_PREFIX;
slNsDeclaration = SL10_NS_URI;
}
StringBuffer sb = new StringBuffer("");
sb.append("<");
sb.append(slPrefix);
sb.append(":InfoboxReadRequest xmlns:");
sb.append(slPrefix);
sb.append("=\"");
sb.append(slNsDeclaration);
sb.append("\">");
sb.append("<");
sb.append(slPrefix);
sb.append(":InfoboxIdentifier>IdentityLink");
sb.append(slPrefix);
sb.append(":InfoboxIdentifier>");
sb.append("<");
sb.append(slPrefix);
sb.append(":BinaryFileParameters ContentIsXMLEntity=\"true\"/>");
if (businessService) {
sb.append("<");
sb.append(slPrefix);
sb.append(":BoxSpecificParameters>");
sb.append("<");
sb.append(slPrefix);
sb.append(":IdentityLinkDomainIdentifier>");
sb.append(identityLinkDomainIdentifier);
sb.append("");
sb.append("");
sb.append(slPrefix);
sb.append(":BoxSpecificParameters>");
}
sb.append("");
sb.append(slPrefix);
sb.append(":InfoboxReadRequest>");
return sb.toString();
}
}