OpenSplice Java 5 DCPS  v6.x
OpenSplice Java 5 OpenSplice Data Distribution Service Data-Centric Publish-Subscribe API
DynamicTypeFactory.java
Go to the documentation of this file.
1 /* Copyright 2010, Object Management Group, Inc.
2  * Copyright 2010, PrismTech, Inc.
3  * Copyright 2010, Real-Time Innovations, Inc.
4  * All rights reserved.
5  *
6  * Licensed under the Apache License, Version 2.0 (the "License");
7  * you may not use this file except in compliance with the License.
8  * 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, software
13  * distributed under the License is distributed on an "AS IS" BASIS,
14  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
15  * See the License for the specific language governing permissions and
16  * limitations under the License.
17  */
18 
19 package org.omg.dds.type.dynamic;
20 
21 import org.omg.dds.core.DDSObject;
23 import org.omg.dds.type.TypeKind;
24 
25 
26 public abstract class DynamicTypeFactory implements DDSObject
27 {
28  // -----------------------------------------------------------------------
29  // Singleton Access
30  // -----------------------------------------------------------------------
31 
37  {
38  return env.getSPI().getTypeFactory();
39  }
40 
41  // -----------------------------------------------------------------------
42  // Instance Methods
43  // -----------------------------------------------------------------------
44 
45  public abstract DynamicType getPrimitiveType(TypeKind kind);
46 
47  public abstract DynamicType createType(TypeDescriptor descriptor);
48  public abstract DynamicType createStringType(int bound);
49  public abstract DynamicType createWStringType(int bound);
55  public abstract DynamicType createSequenceType(
56  DynamicType elementType);
57 
64  public abstract DynamicType createSequenceType(
65  DynamicType elementType, int bound);
66 
67  public abstract DynamicType createArrayType(
68  DynamicType elementType, int... bound);
69 
70  public abstract DynamicType createMapType(
71  DynamicType keyElementType, DynamicType elementType, int bound);
72 
73  public abstract DynamicType createBitSetType(int bound);
74 
79  public abstract DynamicType loadType(String documentUrl);
80  public abstract java.util.Collection<DynamicType> loadTypes(String documentUrl);
81 
82  public abstract DynamicType loadType(String documentUrl, String name);
83  public abstract java.util.Collection<DynamicType> loadTypes(String documentUrl, String... names);
84 
85  public abstract TypeDescriptor newTypeDescriptor();
86  public abstract MemberDescriptor newMemberDescriptor();
88 }
abstract AnnotationDescriptor newAnnotationDescriptor()
abstract DynamicType createStringType(int bound)
abstract MemberDescriptor newMemberDescriptor()
abstract DynamicType createBitSetType(int bound)
abstract TypeDescriptor newTypeDescriptor()
static DynamicTypeFactory getInstance(ServiceEnvironment env)
abstract DynamicType createSequenceType(DynamicType elementType)
Create unbounded sequence.
abstract DynamicType createArrayType(DynamicType elementType, int... bound)
abstract ServiceProviderInterface getSPI()
This method is not intended for use by applications.
abstract DynamicType loadType(String documentUrl)
Load a type from the specified URI.
abstract DynamicType createWStringType(int bound)
abstract java.util.Collection< DynamicType > loadTypes(String documentUrl)
Objects of this type are immutable.
A supertype of all DDS classes and interfaces.
Definition: DDSObject.java:25
abstract DynamicType getPrimitiveType(TypeKind kind)
DDS implementations are rooted in this class, a concrete subclass of which can be instantiated based ...
Objects of this type are immutable.
abstract DynamicType createMapType(DynamicType keyElementType, DynamicType elementType, int bound)
abstract DynamicType createType(TypeDescriptor descriptor)