OpenSplice Java 5 DCPS  v6.x
OpenSplice Java 5 OpenSplice Data Distribution Service Data-Centric Publish-Subscribe API
ParticipantBuiltinTopicDataImpl.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.topic;
22 
24 import org.omg.dds.core.policy.UserData;
30 
31 public class ParticipantBuiltinTopicDataImpl implements
33  private static final long serialVersionUID = 9013061767095970450L;
34  private final transient OsplServiceEnvironment environment;
35  private DDS.ParticipantBuiltinTopicData old;
36  private BuiltinTopicKey key;
37 
39  DDS.ParticipantBuiltinTopicData old) {
40  this.environment = environment;
41  this.old = old;
42  this.key = new BuiltinTopicKeyImpl(this.environment, old.key);
43  }
44 
45  @Override
47  return this.environment;
48  }
49 
50  @Override
52  return this.key;
53  }
54 
55  @Override
56  public UserData getUserData() {
57  return PolicyConverter.convert(this.environment, old.user_data);
58  }
59 
60  @Override
62  if (src == null) {
63  throw new IllegalArgumentExceptionImpl(this.environment,
64  "Invalid ParticipantBuiltinTopicData (null) provided.");
65  }
66  try {
68  this.old = impl.old;
69  this.key = new BuiltinTopicKeyImpl(this.environment, this.old.key);
70  } catch (ClassCastException e) {
72  this.environment,
73  "ParticipantBuiltinTopicData.copyFrom() on non-OpenSplice ParticipantBuiltinTopicData implementation is not supported.");
74  }
75  }
76 
77  @Override
79  return new ParticipantBuiltinTopicDataImpl(this.environment, this.old);
80  }
81 }
User data not known by the middleware, but distributed by means of built-in topics.
Definition: UserData.java:48
void copyFrom(ParticipantBuiltinTopicData src)
Overwrite the state of this object with that of the given object.
ParticipantBuiltinTopicDataImpl(OsplServiceEnvironment environment, DDS.ParticipantBuiltinTopicData old)
static DDS.UserDataQosPolicy convert(OsplServiceEnvironment env, UserData p)
DDS implementations are rooted in this class, a concrete subclass of which can be instantiated based ...
Class that contains information about available DomainParticipants within the system.