OpenSplice Java 5 DCPS  v6.x
OpenSplice Java 5 OpenSplice Data Distribution Service Data-Centric Publish-Subscribe API
OfferedIncompatibleQosStatusImpl.java
Go to the documentation of this file.
1 /*
2  * Vortex OpenSplice
3  *
4  * This software and documentation are Copyright 2006 to 2024 ADLINK
5  * Technology Limited, its affiliated companies and licensors. All rights
6  * reserved.
7  *
8  * Licensed under the Apache License, Version 2.0 (the "License");
9  * you may not use this file except in compliance with the License.
10  * You may obtain a copy of the License at
11  *
12  * http://www.apache.org/licenses/LICENSE-2.0
13  *
14  * Unless required by applicable law or agreed to in writing, software
15  * distributed under the License is distributed on an "AS IS" BASIS,
16  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
17  * See the License for the specific language governing permissions and
18  * limitations under the License.
19  *
20  */
21 package org.opensplice.dds.core.status;
22 
23 import java.util.ArrayList;
24 import java.util.Collections;
25 import java.util.HashSet;
26 import java.util.List;
27 import java.util.Set;
28 
35 
38  private static final long serialVersionUID = -3766147880242839380L;
39  private final transient OsplServiceEnvironment environment;
40  private final int totalCount;
41  private final int totalCountChange;
42  private final Class<? extends QosPolicy> lastPolicyClass;
43  private final List<QosPolicyCount> policies;
44 
46  int totalCount, int totalCountChange,
47  Class<? extends QosPolicy> lastPolicyClass,
48  QosPolicyCount... policies) {
49  this.environment = environment;
50  this.totalCount = totalCount;
51  this.totalCountChange = totalCountChange;
52  this.lastPolicyClass = lastPolicyClass;
53  this.policies = Collections
54  .synchronizedList(new ArrayList<QosPolicyCount>());
55 
56  for (QosPolicyCount p : policies) {
57  this.policies.add(p);
58  }
59  }
60 
61  @Override
63  return this.environment;
64  }
65 
66  @Override
67  public int getTotalCount() {
68  return this.totalCount;
69  }
70 
71  @Override
72  public int getTotalCountChange() {
73  return this.totalCountChange;
74  }
75 
76  @Override
77  public Class<? extends QosPolicy> getLastPolicyClass() {
78  return this.lastPolicyClass;
79  }
80 
81  @Override
82  public Set<QosPolicyCount> getPolicies() {
83  Set<QosPolicyCount> policyCount = new HashSet<QosPolicyCount>();
84 
85  for (QosPolicyCount qp : this.policies) {
86  policyCount.add(new QosPolicyCountImpl(this.environment, qp
87  .getPolicyClass(), qp.getCount()));
88  }
89  return policyCount;
90  }
91 
92 }
OfferedIncompatibleQosStatusImpl(OsplServiceEnvironment environment, int totalCount, int totalCountChange, Class<? extends QosPolicy > lastPolicyClass, QosPolicyCount... policies)
This class is the abstract root for all the QoS policies.
Definition: QosPolicy.java:118
A org.omg.dds.core.policy.QosPolicy value was incompatible with what was requested.
Objects of this type are immutable.
DDS implementations are rooted in this class, a concrete subclass of which can be instantiated based ...