1 /**
2 * Licensed to the Apache Software Foundation (ASF) under one
3 * or more contributor license agreements. See the NOTICE file
4 * distributed with this work for additional information
5 * regarding copyright ownership. The ASF licenses this file
6 * to you under the Apache License, Version 2.0 (the
7 * "License"); you may not use this file except in compliance
8 * with the License. You may obtain a copy of the License at
9 *
10 * http://www.apache.org/licenses/LICENSE-2.0
11 *
12 * Unless required by applicable law or agreed to in writing,
13 * software distributed under the License is distributed on an
14 * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
15 * KIND, either express or implied. See the License for the
16 * specific language governing permissions and limitations
17 * under the License.
18 */
19
20 package org.apache.wss4j.policy.model;
21
22 import javax.xml.namespace.QName;
23 import javax.xml.stream.XMLStreamException;
24 import javax.xml.stream.XMLStreamWriter;
25
26 import org.apache.neethi.Policy;
27 import org.apache.wss4j.policy.SPConstants.SPVersion;
28
29 /**
30 * A BootstrapPolicy is held internally to a SecureConversationToken
31 *
32 * While a BootstrapPolicy element DOES contain an internal Policy, this
33 * token is NOT considered a PolicyContainingAssertion for the purpose of
34 * calculating things like normalized policies and vocabulary.
35 */
36 public class BootstrapPolicy extends AbstractSecurityAssertion {
37 private final Policy nestedPolicy;
38
39 public BootstrapPolicy(SPVersion version, Policy nestedPolicy) {
40 super(version);
41 this.nestedPolicy = nestedPolicy;
42 }
43
44 public QName getName() {
45 return super.getVersion().getSPConstants().getBootstrapPolicy();
46 }
47
48 public Policy getPolicy() {
49 return nestedPolicy;
50 }
51
52 public void serialize(XMLStreamWriter writer) throws XMLStreamException {
53 super.serialize(writer, nestedPolicy);
54 }
55
56 protected AbstractSecurityAssertion cloneAssertion(Policy nestedPolicy) {
57 return this;
58 }
59
60 }