|
Apache CXF example source code file (TransportBinding.java)
The Apache CXF TransportBinding.java source code/** * Licensed to the Apache Software Foundation (ASF) under one * or more contributor license agreements. See the NOTICE file * distributed with this work for additional information * regarding copyright ownership. The ASF licenses this file * to you under the Apache License, Version 2.0 (the * "License"); you may not use this file except in compliance * with the License. You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, * software distributed under the License is distributed on an * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY * KIND, either express or implied. See the License for the * specific language governing permissions and limitations * under the License. */ package org.apache.cxf.ws.security.policy.model; import javax.xml.namespace.QName; import javax.xml.stream.XMLStreamException; import javax.xml.stream.XMLStreamWriter; import org.apache.cxf.ws.policy.builder.primitive.PrimitiveAssertion; import org.apache.cxf.ws.security.policy.SP12Constants; import org.apache.cxf.ws.security.policy.SPConstants; import org.apache.neethi.All; import org.apache.neethi.ExactlyOne; import org.apache.neethi.Policy; import org.apache.neethi.PolicyComponent; public class TransportBinding extends Binding { private TransportToken transportToken; public TransportBinding(SPConstants version) { super(version); } /** * @return Returns the transportToken. */ public TransportToken getTransportToken() { return transportToken; } /** * @param transportToken The transportToken to set. */ public void setTransportToken(TransportToken transportToken) { this.transportToken = transportToken; } public QName getRealName() { return constants.getTransportBinding(); } public QName getName() { return SP12Constants.INSTANCE.getTransportBinding(); } public void serialize(XMLStreamWriter writer) throws XMLStreamException { String localName = getRealName().getLocalPart(); String namespaceURI = getRealName().getNamespaceURI(); String prefix = writer.getPrefix(namespaceURI); if (prefix == null) { prefix = getRealName().getPrefix(); writer.setPrefix(prefix, namespaceURI); } // <sp:TransportBinding> writer.writeStartElement(prefix, localName, namespaceURI); writer.writeNamespace(prefix, namespaceURI); String pPrefix = writer.getPrefix(SPConstants.POLICY.getNamespaceURI()); if (pPrefix == null) { pPrefix = SPConstants.POLICY.getPrefix(); writer.setPrefix(pPrefix, SPConstants.POLICY.getNamespaceURI()); } // <wsp:Policy> writer.writeStartElement(pPrefix, SPConstants.POLICY.getLocalPart(), SPConstants.POLICY .getNamespaceURI()); if (transportToken == null) { // TODO more meaningful exception throw new RuntimeException("no TransportToken found"); } // <sp:TransportToken> transportToken.serialize(writer); // </sp:TransportToken> AlgorithmSuite algorithmSuite = getAlgorithmSuite(); if (algorithmSuite == null) { throw new RuntimeException("no AlgorithmSuite found"); } // <sp:AlgorithmSuite> algorithmSuite.serialize(writer); // </sp:AlgorithmSuite> Layout layout = getLayout(); if (layout != null) { // <sp:Layout> layout.serialize(writer); // </sp:Layout> } if (isTokenProtection()) { // <sp:ProtectTokens /> writer.writeStartElement(prefix, SPConstants.PROTECT_TOKENS, namespaceURI); writer.writeEndElement(); } if (isIncludeTimestamp()) { // <sp:IncludeTimestamp> writer.writeStartElement(prefix, SPConstants.INCLUDE_TIMESTAMP, namespaceURI); writer.writeEndElement(); // </sp:IncludeTimestamp> } // </wsp:Policy> writer.writeEndElement(); // </sp:TransportBinding> writer.writeEndElement(); } public PolicyComponent normalize() { return this; } public Policy getPolicy() { Policy p = new Policy(); ExactlyOne ea = new ExactlyOne(); p.addPolicyComponent(ea); All all = new All(); if (transportToken != null) { all.addPolicyComponent(transportToken); } if (isIncludeTimestamp()) { all.addPolicyComponent(new PrimitiveAssertion(SP12Constants.INCLUDE_TIMESTAMP)); } if (getLayout() != null) { all.addPolicyComponent(getLayout()); } ea.addPolicyComponent(all); PolicyComponent pc = p.normalize(true); if (pc instanceof Policy) { return (Policy)pc; } else { p = new Policy(); p.addPolicyComponent(pc); return p; } } } Other Apache CXF examples (source code examples)Here is a short list of links related to this Apache CXF TransportBinding.java source code file: |
... this post is sponsored by my books ... | |
#1 New Release! |
FP Best Seller |
Copyright 1998-2021 Alvin Alexander, alvinalexander.com
All Rights Reserved.
A percentage of advertising revenue from
pages under the /java/jwarehouse
URI on this website is
paid back to open source projects.