├── .cproject ├── .github ├── ISSUE_TEMPLATE │ ├── bug_report.md │ ├── feature_request.md │ └── support-question--rfa-.md └── workflows │ └── build.yml ├── .project ├── CONTRIBUTING.md ├── DEV-GUIDELINES.md ├── LICENSE.txt ├── README.md ├── SECURITY.md ├── THIRD_PARTY_LICENSES.txt ├── bin ├── cfgcommon.sh ├── cfglinux.sh ├── cfglocal.sh ├── cfgosx.sh ├── cfgsolaris.sh └── cfgwindows.cmd ├── build_spec.yaml ├── include ├── private │ └── coherence │ │ ├── component │ │ ├── net │ │ │ └── extend │ │ │ │ ├── AbstractPartialResponse.hpp │ │ │ │ ├── AbstractPofMessage.hpp │ │ │ │ ├── AbstractPofMessageFactory.hpp │ │ │ │ ├── AbstractPofProtocol.hpp │ │ │ │ ├── AbstractPofRequest.hpp │ │ │ │ ├── AbstractPofResponse.hpp │ │ │ │ ├── PofChannel.hpp │ │ │ │ ├── PofCodec.hpp │ │ │ │ ├── PofConnection.hpp │ │ │ │ ├── RemoteCacheService.hpp │ │ │ │ ├── RemoteInvocationService.hpp │ │ │ │ ├── RemoteNameService.hpp │ │ │ │ ├── RemoteNamedCache.hpp │ │ │ │ ├── RemoteService.hpp │ │ │ │ ├── TcpPofConnection.hpp │ │ │ │ ├── protocol │ │ │ │ ├── AcceptChannel.hpp │ │ │ │ ├── AcceptChannelRequest.hpp │ │ │ │ ├── AcceptChannelResponse.hpp │ │ │ │ ├── CloseChannel.hpp │ │ │ │ ├── CloseConnection.hpp │ │ │ │ ├── CreateChannel.hpp │ │ │ │ ├── EncodedMessage.hpp │ │ │ │ ├── InitiatorMessageFactory.hpp │ │ │ │ ├── InitiatorOpenConnection.hpp │ │ │ │ ├── InitiatorOpenConnectionRequest.hpp │ │ │ │ ├── InitiatorOpenConnectionResponse.hpp │ │ │ │ ├── InitiatorProtocol.hpp │ │ │ │ ├── NotifyChannelClosed.hpp │ │ │ │ ├── NotifyConnectionClosed.hpp │ │ │ │ ├── NotifyShutdown.hpp │ │ │ │ ├── NotifyStartup.hpp │ │ │ │ ├── OpenChannel.hpp │ │ │ │ ├── OpenChannelRequest.hpp │ │ │ │ ├── OpenChannelResponse.hpp │ │ │ │ ├── OpenConnection.hpp │ │ │ │ ├── OpenConnectionRequest.hpp │ │ │ │ ├── OpenConnectionResponse.hpp │ │ │ │ ├── PeerMessageFactory.hpp │ │ │ │ ├── PeerProtocol.hpp │ │ │ │ ├── PeerResponse.hpp │ │ │ │ ├── PingRequest.hpp │ │ │ │ ├── PingResponse.hpp │ │ │ │ ├── TcpInitiatorMessageFactory.hpp │ │ │ │ ├── TcpInitiatorOpenConnectionRequest.hpp │ │ │ │ ├── TcpInitiatorOpenConnectionResponse.hpp │ │ │ │ ├── TcpInitiatorProtocol.hpp │ │ │ │ ├── cache │ │ │ │ │ ├── AbstractFilterRequest.hpp │ │ │ │ │ ├── AbstractKeyRequest.hpp │ │ │ │ │ ├── AbstractKeySetRequest.hpp │ │ │ │ │ ├── AggregateAllRequest.hpp │ │ │ │ │ ├── AggregateFilterRequest.hpp │ │ │ │ │ ├── ClearRequest.hpp │ │ │ │ │ ├── ContainsAllRequest.hpp │ │ │ │ │ ├── ContainsKeyRequest.hpp │ │ │ │ │ ├── ContainsValueRequest.hpp │ │ │ │ │ ├── GetAllRequest.hpp │ │ │ │ │ ├── GetRequest.hpp │ │ │ │ │ ├── IndexRequest.hpp │ │ │ │ │ ├── InvokeAllRequest.hpp │ │ │ │ │ ├── InvokeFilterRequest.hpp │ │ │ │ │ ├── InvokeRequest.hpp │ │ │ │ │ ├── ListenerFilterRequest.hpp │ │ │ │ │ ├── ListenerKeyRequest.hpp │ │ │ │ │ ├── LockRequest.hpp │ │ │ │ │ ├── MapEventMessage.hpp │ │ │ │ │ ├── NamedCacheFactory.hpp │ │ │ │ │ ├── NamedCacheProtocol.hpp │ │ │ │ │ ├── NamedCacheRequest.hpp │ │ │ │ │ ├── NamedCacheResponse.hpp │ │ │ │ │ ├── NoStorageMembers.hpp │ │ │ │ │ ├── PartialResponse.hpp │ │ │ │ │ ├── PutAllRequest.hpp │ │ │ │ │ ├── PutRequest.hpp │ │ │ │ │ ├── QueryRequest.hpp │ │ │ │ │ ├── RemoveAllRequest.hpp │ │ │ │ │ ├── RemoveRequest.hpp │ │ │ │ │ ├── SizeRequest.hpp │ │ │ │ │ ├── UnlockRequest.hpp │ │ │ │ │ └── service │ │ │ │ │ │ ├── CacheServiceFactory.hpp │ │ │ │ │ │ ├── CacheServiceProtocol.hpp │ │ │ │ │ │ ├── CacheServiceRequest.hpp │ │ │ │ │ │ ├── CacheServiceResponse.hpp │ │ │ │ │ │ ├── DestroyCacheRequest.hpp │ │ │ │ │ │ └── EnsureCacheRequest.hpp │ │ │ │ ├── invocation │ │ │ │ │ ├── InvocationRequest.hpp │ │ │ │ │ ├── InvocationServiceFactory.hpp │ │ │ │ │ ├── InvocationServiceProtocol.hpp │ │ │ │ │ ├── InvocationServiceRequest.hpp │ │ │ │ │ └── InvocationServiceResponse.hpp │ │ │ │ └── nameservice │ │ │ │ │ ├── LookupRequest.hpp │ │ │ │ │ ├── NameServiceFactory.hpp │ │ │ │ │ ├── NameServiceProtocol.hpp │ │ │ │ │ ├── NameServiceRequest.hpp │ │ │ │ │ └── NameServiceResponse.hpp │ │ │ │ └── util │ │ │ │ └── TcpUtil.hpp │ │ ├── run │ │ │ └── EventDeathException.hpp │ │ └── util │ │ │ ├── AbstractSerializationConverter.hpp │ │ │ ├── Daemon.hpp │ │ │ ├── Initiator.hpp │ │ │ ├── Peer.hpp │ │ │ ├── QueueProcessor.hpp │ │ │ ├── RunnableCacheEvent.hpp │ │ │ ├── SafeCacheService.hpp │ │ │ ├── SafeInvocationService.hpp │ │ │ ├── SafeNamedCache.hpp │ │ │ ├── SafeService.hpp │ │ │ ├── Service.hpp │ │ │ └── TcpInitiator.hpp │ │ ├── dev │ │ └── compiler │ │ │ ├── CompilerException.hpp │ │ │ ├── ErrorList.hpp │ │ │ ├── ParsePosition.hpp │ │ │ ├── Script.hpp │ │ │ ├── SimpleScript.hpp │ │ │ ├── SyntaxException.hpp │ │ │ ├── Token.hpp │ │ │ └── Tokenizer.hpp │ │ ├── internal │ │ └── util │ │ │ └── processor │ │ │ └── CacheProcessors.hpp │ │ ├── io │ │ ├── BufferedInputStream.hpp │ │ ├── BufferedOutputStream.hpp │ │ ├── InputStream.hpp │ │ ├── OutputStream.hpp │ │ └── pof │ │ │ ├── SystemPofContextSerializerFactory.hpp │ │ │ └── reflect │ │ │ └── internal │ │ │ ├── AnnotationVisitor.hpp │ │ │ ├── ClassAttributeBuilder.hpp │ │ │ ├── ClassMetadata.hpp │ │ │ ├── ClassMetadataBuilder.hpp │ │ │ ├── InvocationStrategies.hpp │ │ │ ├── InvocationStrategy.hpp │ │ │ ├── NameMangler.hpp │ │ │ ├── NameManglers.hpp │ │ │ ├── TypeMetadata.hpp │ │ │ └── Visitor.hpp │ │ ├── lang │ │ ├── Allocator.hpp │ │ ├── AssociativeArray.hpp │ │ ├── ClassInfo.hpp │ │ ├── ExceptionStackElement.hpp │ │ ├── LifeCycle.hpp │ │ ├── MutableReference.hpp │ │ └── WeakReferenceImpl.hpp │ │ ├── native │ │ ├── NativeABI.hpp │ │ ├── NativeBacktrace.hpp │ │ ├── NativeCondition.hpp │ │ ├── NativeDynamicLibrary.hpp │ │ ├── NativeFloat.hpp │ │ ├── NativeInetHelper.hpp │ │ ├── NativeMutex.hpp │ │ ├── NativePID.hpp │ │ ├── NativeRecursiveMutex.hpp │ │ ├── NativeSocket.hpp │ │ ├── NativeStackElement.hpp │ │ ├── NativeThread.hpp │ │ ├── NativeThreadDumpHandler.hpp │ │ ├── NativeThreadLocal.hpp │ │ ├── NativeTime.hpp │ │ ├── NativeUser.hpp │ │ ├── gcc │ │ │ ├── GccABI.hpp │ │ │ ├── GccAtomic32.hpp │ │ │ └── GccAtomic64.hpp │ │ ├── generic │ │ │ ├── GenericABI.hpp │ │ │ ├── GenericAtomic64.hpp │ │ │ ├── GenericBacktrace.hpp │ │ │ ├── GenericIEEE754Float.hpp │ │ │ ├── GenericThreadDumpHandler.hpp │ │ │ ├── UnsafeAtomic64.hpp │ │ │ ├── UnsafeCondition.hpp │ │ │ └── UnsafeMutex.hpp │ │ ├── glibc │ │ │ └── GlibcBacktrace.hpp │ │ ├── posix │ │ │ ├── PosixCondition.hpp │ │ │ ├── PosixDynamicLibrary.hpp │ │ │ ├── PosixInetHelper.hpp │ │ │ ├── PosixInetSocketAddress.hpp │ │ │ ├── PosixMutex.hpp │ │ │ ├── PosixPID.hpp │ │ │ ├── PosixRawSocketAddress.hpp │ │ │ ├── PosixSocket.hpp │ │ │ ├── PosixSocketAddress.hpp │ │ │ ├── PosixThread.hpp │ │ │ ├── PosixThreadDumpHandler.hpp │ │ │ ├── PosixThreadLocal.hpp │ │ │ ├── PosixTime.hpp │ │ │ └── PosixUser.hpp │ │ ├── solaris │ │ │ ├── SolarisAtomic32.hpp │ │ │ ├── SolarisAtomic64.hpp │ │ │ └── SolarisBacktrace.hpp │ │ ├── sunpro │ │ │ └── SunProABI.hpp │ │ └── windows │ │ │ ├── WinSockInitializer.hpp │ │ │ ├── WindowsABI.hpp │ │ │ ├── WindowsAtomic32.hpp │ │ │ ├── WindowsAtomic64.hpp │ │ │ ├── WindowsBacktrace.hpp │ │ │ ├── WindowsCondition.hpp │ │ │ ├── WindowsDynamicLibrary.hpp │ │ │ ├── WindowsMutex.hpp │ │ │ ├── WindowsPID.hpp │ │ │ ├── WindowsSocket.hpp │ │ │ ├── WindowsThread.hpp │ │ │ ├── WindowsThreadDumpHandler.hpp │ │ │ ├── WindowsThreadLocal.hpp │ │ │ ├── WindowsTime.hpp │ │ │ └── WindowsUser.hpp │ │ ├── net │ │ ├── Console.hpp │ │ ├── InetAddressHelper.hpp │ │ ├── LocalMember.hpp │ │ ├── ServerSocket.hpp │ │ ├── Socket.hpp │ │ ├── SocketTimeoutException.hpp │ │ ├── URI.hpp │ │ ├── URISyntaxException.hpp │ │ ├── cache │ │ │ ├── LocalConcurrentCache.hpp │ │ │ ├── LocalInvocableCache.hpp │ │ │ ├── LocalNamedCache.hpp │ │ │ ├── LocalQueryCache.hpp │ │ │ └── NullKeyAssociation.hpp │ │ ├── internal │ │ │ ├── ScopedReferenceStore.hpp │ │ │ └── SubstitutionAddressProvider.hpp │ │ └── messaging │ │ │ ├── Channel.hpp │ │ │ ├── Codec.hpp │ │ │ ├── Connection.hpp │ │ │ ├── ConnectionAcceptor.hpp │ │ │ ├── ConnectionEvent.hpp │ │ │ ├── ConnectionInitiator.hpp │ │ │ ├── ConnectionListener.hpp │ │ │ ├── ConnectionManager.hpp │ │ │ ├── Message.hpp │ │ │ ├── Protocol.hpp │ │ │ ├── Request.hpp │ │ │ └── Response.hpp │ │ ├── run │ │ └── xml │ │ │ ├── ErrorDescription.hpp │ │ │ ├── SimpleDocument.hpp │ │ │ ├── SimpleElement.hpp │ │ │ ├── SimpleParser.hpp │ │ │ ├── SimpleValue.hpp │ │ │ ├── ViewOnlyElement.hpp │ │ │ ├── XmlDocument.hpp │ │ │ ├── XmlHelper.hpp │ │ │ ├── XmlScript.hpp │ │ │ ├── XmlToken.hpp │ │ │ └── XmlTokenizer.hpp │ │ ├── security │ │ └── SecurityHelper.hpp │ │ └── util │ │ ├── Date.hpp │ │ ├── Dequeue.hpp │ │ ├── HashArray.hpp │ │ ├── InvocableMapHelper.hpp │ │ ├── ObservableHashMap.hpp │ │ ├── PagedIterator.hpp │ │ ├── PagedMuterator.hpp │ │ ├── SafeClock.hpp │ │ ├── SimpleIterator.hpp │ │ ├── SimpleMapEntry.hpp │ │ ├── StringHelper.hpp │ │ └── logging │ │ ├── LogOutput.hpp │ │ ├── Logger.hpp │ │ └── Standard.hpp └── public │ └── coherence │ ├── internal │ └── net │ │ └── NamedCacheDeactivationListener.hpp │ ├── io │ ├── AbstractEvolvable.hpp │ ├── AbstractOctetArrayReadBuffer.hpp │ ├── AbstractReadBuffer.hpp │ ├── AbstractWriteBuffer.hpp │ ├── ConfigurableSerializerFactory.hpp │ ├── DelegatingWriteBuffer.hpp │ ├── EOFException.hpp │ ├── Evolvable.hpp │ ├── IOException.hpp │ ├── InterruptedIOException.hpp │ ├── OctetArrayReadBuffer.hpp │ ├── OctetArrayWriteBuffer.hpp │ ├── ReadBuffer.hpp │ ├── Serializer.hpp │ ├── SerializerFactory.hpp │ ├── SimpleEvolvable.hpp │ ├── UTFDataFormatException.hpp │ ├── WrapperStreamFactory.hpp │ ├── WriteBuffer.hpp │ ├── namespace.hpp │ └── pof │ │ ├── EvolvableHolder.hpp │ │ ├── EvolvableObject.hpp │ │ ├── EvolvablePortableObject.hpp │ │ ├── IdentityHolder.hpp │ │ ├── PofAnnotationSerializer.hpp │ │ ├── PofBufferReader.hpp │ │ ├── PofBufferWriter.hpp │ │ ├── PofConstants.hpp │ │ ├── PofContext.hpp │ │ ├── PofHandler.hpp │ │ ├── PofHelper.hpp │ │ ├── PofIntrinsic.hpp │ │ ├── PofReader.hpp │ │ ├── PofSerializer.hpp │ │ ├── PofWriter.hpp │ │ ├── PortableException.hpp │ │ ├── PortableObject.hpp │ │ ├── PortableObjectSerializer.hpp │ │ ├── PortableTypeSerializer.hpp │ │ ├── PrincipalPofSerializer.hpp │ │ ├── RawDate.hpp │ │ ├── RawDateTime.hpp │ │ ├── RawDayTimeInterval.hpp │ │ ├── RawTime.hpp │ │ ├── RawTimeInterval.hpp │ │ ├── RawYearMonthInterval.hpp │ │ ├── ReferenceLibrary.hpp │ │ ├── SimplePofContext.hpp │ │ ├── SubjectPofSerializer.hpp │ │ ├── SystemPofContext.hpp │ │ ├── ThrowablePofSerializer.hpp │ │ ├── TypedSerializer.hpp │ │ ├── UserTypeReader.hpp │ │ ├── UserTypeWriter.hpp │ │ ├── WritingPofHandler.hpp │ │ ├── annotation │ │ ├── Portable.hpp │ │ ├── PortableProperty.hpp │ │ └── namespace.hpp │ │ ├── namespace.hpp │ │ └── reflect │ │ ├── AbstractPofPath.hpp │ │ ├── Codec.hpp │ │ ├── Codecs.hpp │ │ ├── PofNavigator.hpp │ │ ├── PofValue.hpp │ │ ├── SimplePofPath.hpp │ │ └── namespace.hpp │ ├── lang │ ├── AbstractHeapAnalyzer.hpp │ ├── AbstractTypedClass.hpp │ ├── AnnotatedElement.hpp │ ├── Annotation.hpp │ ├── ArithmeticException.hpp │ ├── Array.hpp │ ├── Boolean.hpp │ ├── BoxHandle.hpp │ ├── ChainedHandleElement.hpp │ ├── Character16.hpp │ ├── Class.hpp │ ├── ClassBasedHeapAnalyzer.hpp │ ├── ClassCastException.hpp │ ├── ClassLoader.hpp │ ├── ClassNotFoundException.hpp │ ├── CloneNotSupportedException.hpp │ ├── Comparable.hpp │ ├── ConstCastException.hpp │ ├── DetachFinalizer.hpp │ ├── Exception.hpp │ ├── ExecutableClass.hpp │ ├── FinalHandle.hpp │ ├── FinalHolder.hpp │ ├── FinalView.hpp │ ├── FinalizableBlock.hpp │ ├── Float32.hpp │ ├── Float64.hpp │ ├── HeapAnalyzer.hpp │ ├── IllegalArgumentException.hpp │ ├── IllegalStateException.hpp │ ├── Immutable.hpp │ ├── IndexOutOfBoundsException.hpp │ ├── Integer16.hpp │ ├── Integer32.hpp │ ├── Integer64.hpp │ ├── InterruptedException.hpp │ ├── LifeCycle.hpp │ ├── Managed.hpp │ ├── MemberHandle.hpp │ ├── MemberHolder.hpp │ ├── MemberView.hpp │ ├── Method.hpp │ ├── NoSuchElementException.hpp │ ├── NoSuchMethodException.hpp │ ├── NullPointerException.hpp │ ├── Number.hpp │ ├── Object.hpp │ ├── ObjectArray.hpp │ ├── ObjectCountHeapAnalyzer.hpp │ ├── Octet.hpp │ ├── OutOfMemoryError.hpp │ ├── Primitive.hpp │ ├── Reference.hpp │ ├── Runnable.hpp │ ├── RuntimeException.hpp │ ├── SecurityException.hpp │ ├── Size32.hpp │ ├── Size64.hpp │ ├── SmartMember.hpp │ ├── StackTraceElement.hpp │ ├── String.hpp │ ├── SubscriptHandle.hpp │ ├── SubscriptHolder.hpp │ ├── SynchronizedBlock.hpp │ ├── SynchronizedMemberReadBlock.hpp │ ├── SynchronizedMemberWriteBlock.hpp │ ├── System.hpp │ ├── SystemClassLoader.hpp │ ├── Thread.hpp │ ├── ThreadGroup.hpp │ ├── ThreadLocalReference.hpp │ ├── TimeoutBlock.hpp │ ├── TypedBarrenClass.hpp │ ├── TypedClass.hpp │ ├── TypedExecutableClass.hpp │ ├── TypedHandle.hpp │ ├── TypedHolder.hpp │ ├── TypedMethod.hpp │ ├── UnsupportedOperationException.hpp │ ├── Volatile.hpp │ ├── WeakHandle.hpp │ ├── WeakHolder.hpp │ ├── WeakReference.hpp │ ├── WeakView.hpp │ ├── abstract_spec.hpp │ ├── annotation │ │ ├── AbstractAnnotation.hpp │ │ └── Inherited.hpp │ ├── class_spec.hpp │ ├── cloneable_spec.hpp │ ├── compatibility.hpp │ ├── interface_spec.hpp │ ├── lang_spec.hpp │ ├── namespace.hpp │ └── throwable_spec.hpp │ ├── namespace.hpp │ ├── native │ ├── NativeAtomic32.hpp │ ├── NativeAtomic64.hpp │ └── namespace.hpp │ ├── net │ ├── AbstractInvocable.hpp │ ├── AbstractPriorityTask.hpp │ ├── AddressProvider.hpp │ ├── AddressProviderFactory.hpp │ ├── CacheFactory.hpp │ ├── CacheService.hpp │ ├── ConfigurableAddressProvider.hpp │ ├── ConfigurableAddressProviderFactory.hpp │ ├── ConfigurableCacheFactory.hpp │ ├── DefaultConfigurableCacheFactory.hpp │ ├── DefaultOperationalContext.hpp │ ├── InetAddress.hpp │ ├── InetSocketAddress.hpp │ ├── Invocable.hpp │ ├── InvocationService.hpp │ ├── Member.hpp │ ├── MemberEvent.hpp │ ├── MemberListener.hpp │ ├── NameService.hpp │ ├── NamedCache.hpp │ ├── OperationalContext.hpp │ ├── PriorityTask.hpp │ ├── RequestIncompleteException.hpp │ ├── RequestTimeoutException.hpp │ ├── Service.hpp │ ├── ServiceInfo.hpp │ ├── SingleAddressProvider.hpp │ ├── SocketAddress.hpp │ ├── UnknownHostException.hpp │ ├── ViewBuilder.hpp │ ├── cache │ │ ├── AbstractBundler.hpp │ │ ├── AbstractCacheLoader.hpp │ │ ├── AbstractCacheStore.hpp │ │ ├── AbstractEntryBundler.hpp │ │ ├── AbstractKeyBundler.hpp │ │ ├── BundlingNamedCache.hpp │ │ ├── CacheEvent.hpp │ │ ├── CacheLoader.hpp │ │ ├── CacheMap.hpp │ │ ├── CacheStatistics.hpp │ │ ├── CacheStore.hpp │ │ ├── CachingMap.hpp │ │ ├── ContinuousQueryCache.hpp │ │ ├── EvictionPolicy.hpp │ │ ├── IterableCacheLoader.hpp │ │ ├── KeyAssociation.hpp │ │ ├── LocalCache.hpp │ │ ├── NearCache.hpp │ │ ├── OldCache.hpp │ │ ├── SimpleCacheStatistics.hpp │ │ ├── UnitCalculator.hpp │ │ ├── WrapperNamedCache.hpp │ │ └── namespace.hpp │ ├── messaging │ │ ├── ConnectionException.hpp │ │ └── namespace.hpp │ ├── namespace.hpp │ └── partition │ │ ├── PartitionSet.hpp │ │ └── namespace.hpp │ ├── run │ ├── namespace.hpp │ └── xml │ │ ├── XmlConfigurable.hpp │ │ ├── XmlDocument.hpp │ │ ├── XmlElement.hpp │ │ ├── XmlValue.hpp │ │ └── namespace.hpp │ ├── security │ ├── DefaultIdentityAsserter.hpp │ ├── DefaultIdentityTransformer.hpp │ ├── GenericPrincipal.hpp │ ├── IdentityAsserter.hpp │ ├── IdentityTransformer.hpp │ ├── Principal.hpp │ ├── RunAsBlock.hpp │ ├── auth │ │ ├── GenericSubject.hpp │ │ ├── Subject.hpp │ │ └── namespace.hpp │ └── namespace.hpp │ ├── stl │ ├── adapter_map.hpp │ ├── boxing_map.hpp │ └── namespace.hpp │ └── util │ ├── AbstractCollection.hpp │ ├── AbstractConcurrentQueue.hpp │ ├── AbstractList.hpp │ ├── AbstractLongArray.hpp │ ├── AbstractMap.hpp │ ├── AbstractMapListener.hpp │ ├── AbstractSet.hpp │ ├── AbstractSparseArray.hpp │ ├── AbstractStableIterator.hpp │ ├── ArrayList.hpp │ ├── Arrays.hpp │ ├── AtomicCounter.hpp │ ├── Binary.hpp │ ├── BinaryWriteBuffer.hpp │ ├── CircularArrayList.hpp │ ├── Collection.hpp │ ├── Collections.hpp │ ├── Comparator.hpp │ ├── CompositeKey.hpp │ ├── ConcurrentMap.hpp │ ├── ConcurrentModificationException.hpp │ ├── ConditionalIndex.hpp │ ├── Controllable.hpp │ ├── Converter.hpp │ ├── ConverterCollections.hpp │ ├── DeltaSet.hpp │ ├── Describable.hpp │ ├── DualQueue.hpp │ ├── Enumeration.hpp │ ├── Event.hpp │ ├── EventListener.hpp │ ├── EventObject.hpp │ ├── Filter.hpp │ ├── FilterMuterator.hpp │ ├── HashHelper.hpp │ ├── HashMap.hpp │ ├── HashSet.hpp │ ├── Hashtable.hpp │ ├── IdentityHashMap.hpp │ ├── InvocableMap.hpp │ ├── Iterator.hpp │ ├── LinkedList.hpp │ ├── List.hpp │ ├── ListIterator.hpp │ ├── ListMuterator.hpp │ ├── Listeners.hpp │ ├── LiteSet.hpp │ ├── LongArray.hpp │ ├── LongArrayIterator.hpp │ ├── Map.hpp │ ├── MapEvent.hpp │ ├── MapEventTransformer.hpp │ ├── MapIndex.hpp │ ├── MapKeySet.hpp │ ├── MapListener.hpp │ ├── MapListenerSupport.hpp │ ├── MapTrigger.hpp │ ├── MapTriggerListener.hpp │ ├── MapValuesCollection.hpp │ ├── MappedSet.hpp │ ├── MultiplexingMapListener.hpp │ ├── Muterator.hpp │ ├── NavigableMap.hpp │ ├── NullFilter.hpp │ ├── NullImplementation.hpp │ ├── Objects.hpp │ ├── ObservableMap.hpp │ ├── Optional.hpp │ ├── QueryMap.hpp │ ├── QueryRecord.hpp │ ├── Queue.hpp │ ├── Random.hpp │ ├── ReadOnlyArrayList.hpp │ ├── ReadOnlyMultiList.hpp │ ├── SafeHashMap.hpp │ ├── SafeHashSet.hpp │ ├── SerializationHelper.hpp │ ├── Service.hpp │ ├── ServiceEvent.hpp │ ├── ServiceListener.hpp │ ├── Set.hpp │ ├── SimpleMapIndex.hpp │ ├── SimpleQueryRecord.hpp │ ├── SimpleQueryRecordReporter.hpp │ ├── SortedBag.hpp │ ├── SortedMap.hpp │ ├── SortedSet.hpp │ ├── SparseArray.hpp │ ├── SubList.hpp │ ├── SubSet.hpp │ ├── Supplier.hpp │ ├── SynchronousListener.hpp │ ├── ThreadGate.hpp │ ├── TreeMap.hpp │ ├── TreeSet.hpp │ ├── TypedCollections.hpp │ ├── UUID.hpp │ ├── ValueExtractor.hpp │ ├── ValueManipulator.hpp │ ├── ValueUpdater.hpp │ ├── Versionable.hpp │ ├── WeakHashMap.hpp │ ├── WrapperCollections.hpp │ ├── aggregator │ ├── AbstractAggregator.hpp │ ├── AbstractComparableAggregator.hpp │ ├── AbstractFloat64Aggregator.hpp │ ├── AbstractInteger64Aggregator.hpp │ ├── ComparableMax.hpp │ ├── ComparableMin.hpp │ ├── CompositeAggregator.hpp │ ├── Count.hpp │ ├── DistinctValues.hpp │ ├── Float64Average.hpp │ ├── Float64Max.hpp │ ├── Float64Min.hpp │ ├── Float64Sum.hpp │ ├── GroupAggregator.hpp │ ├── Integer64Max.hpp │ ├── Integer64Min.hpp │ ├── Integer64Sum.hpp │ ├── ParallelCompositeAggregator.hpp │ ├── ParallelGroupAggregator.hpp │ ├── PriorityAggregator.hpp │ ├── QueryRecorder.hpp │ ├── ReducerAggregator.hpp │ ├── TopNAggregator.hpp │ └── namespace.hpp │ ├── comparator │ ├── ChainedComparator.hpp │ ├── EntryAwareComparator.hpp │ ├── EntryComparator.hpp │ ├── InverseComparator.hpp │ ├── QueryMapComparator.hpp │ ├── SafeComparator.hpp │ └── namespace.hpp │ ├── extractor │ ├── AbstractCompositeExtractor.hpp │ ├── AbstractExtractor.hpp │ ├── AbstractUpdater.hpp │ ├── BoxExtractor.hpp │ ├── BoxUpdater.hpp │ ├── ChainedExtractor.hpp │ ├── ComparisonValueExtractor.hpp │ ├── CompositeUpdater.hpp │ ├── ConditionalExtractor.hpp │ ├── EntryExtractor.hpp │ ├── IdentityExtractor.hpp │ ├── IndexAwareExtractor.hpp │ ├── KeyExtractor.hpp │ ├── MultiExtractor.hpp │ ├── PofExtractor.hpp │ ├── PofUpdater.hpp │ ├── ReflectionExtractor.hpp │ ├── ReflectionUpdater.hpp │ ├── TypedExtractor.hpp │ ├── TypedUpdater.hpp │ ├── UniversalExtractor.hpp │ ├── UniversalUpdater.hpp │ └── namespace.hpp │ ├── filter │ ├── AllFilter.hpp │ ├── AlwaysFilter.hpp │ ├── AndFilter.hpp │ ├── AnyFilter.hpp │ ├── ArrayFilter.hpp │ ├── BetweenFilter.hpp │ ├── CacheEventFilter.hpp │ ├── ComparisonFilter.hpp │ ├── ContainsAllFilter.hpp │ ├── ContainsAnyFilter.hpp │ ├── ContainsFilter.hpp │ ├── EntryFilter.hpp │ ├── EqualsFilter.hpp │ ├── ExtractorFilter.hpp │ ├── FilterTrigger.hpp │ ├── GreaterEqualsFilter.hpp │ ├── GreaterFilter.hpp │ ├── InFilter.hpp │ ├── InKeySetFilter.hpp │ ├── IndexAwareFilter.hpp │ ├── IsNotNullFilter.hpp │ ├── IsNullFilter.hpp │ ├── KeyAssociatedFilter.hpp │ ├── KeyFilter.hpp │ ├── LessEqualsFilter.hpp │ ├── LessFilter.hpp │ ├── LikeFilter.hpp │ ├── LimitFilter.hpp │ ├── MapEventFilter.hpp │ ├── MapEventTransformerFilter.hpp │ ├── NeverFilter.hpp │ ├── NotEqualsFilter.hpp │ ├── NotFilter.hpp │ ├── OrFilter.hpp │ ├── PresentFilter.hpp │ ├── PriorityFilter.hpp │ ├── ValueChangeEventFilter.hpp │ ├── XorFilter.hpp │ └── namespace.hpp │ ├── namespace.hpp │ ├── processor │ ├── AbstractClusterProcessor.hpp │ ├── AbstractProcessor.hpp │ ├── CompositeProcessor.hpp │ ├── ConditionalProcessor.hpp │ ├── ConditionalPut.hpp │ ├── ConditionalPutAll.hpp │ ├── ConditionalRemove.hpp │ ├── ExtractorProcessor.hpp │ ├── NumberIncrementor.hpp │ ├── NumberMultiplier.hpp │ ├── PreloadRequest.hpp │ ├── PriorityProcessor.hpp │ ├── PropertyManipulator.hpp │ ├── PropertyProcessor.hpp │ ├── UpdaterProcessor.hpp │ ├── VersionedPut.hpp │ ├── VersionedPutAll.hpp │ └── namespace.hpp │ └── transformer │ ├── ExtractorEventTransformer.hpp │ ├── SemiLiteEventTransformer.hpp │ └── namespace.hpp ├── prj ├── apidoc │ ├── api.html │ ├── build.xml │ ├── doxygen.cfg │ ├── doxygen_private.cfg │ ├── exclude.txt │ ├── footer.html │ ├── header.html │ └── mainpage.hpp ├── build-import.xml ├── build.properties ├── build.xml ├── coherence │ ├── build.xml │ └── product.xml ├── doc │ └── build.xml ├── examples │ └── build.xml ├── ivy-settings.xml ├── ivy-snapshot.xml ├── ivy.xml ├── sanka │ └── build.xml └── tests │ ├── functional │ ├── build.xml │ ├── defaultconfig │ │ ├── PutAllStringTest.txt │ │ ├── cluster-control-cache-config.xml │ │ ├── extend-bundle-cache-config.xml │ │ ├── extend-cache-config-msg-size.xml │ │ ├── extend-cache-config-short-timeout.xml │ │ ├── extend-cache-config.xml │ │ ├── extend-configured-maplistener-cache-config.xml │ │ ├── extend-default-notpof-serializer-cache-config.xml │ │ ├── extend-default-serializer-cache-config.xml │ │ ├── extend-maplistener-cache-config.xml │ │ ├── extend-maptrigger-cache-config.xml │ │ ├── extend-named-default-serializer-cache-config.xml │ │ ├── extend-named-pof-default-serializer-cache-config.xml │ │ ├── extend-view-cache-config.xml │ │ ├── invalid-extend-cache-config.xml │ │ ├── server-cache-config.xml │ │ ├── server-pof-config.xml │ │ └── tangosol-coherence-override.xml │ └── functest-import.xml │ ├── performance │ └── cache │ │ └── access │ │ └── build.xml │ ├── public-header-check │ └── build.xml │ └── unit │ ├── build-loadtest.xml │ ├── build-localcount.xml │ ├── build.xml │ └── config │ ├── system-property-cache-config.xml │ └── system-property-override.xml ├── src ├── coherence │ ├── component │ │ ├── net │ │ │ └── extend │ │ │ │ ├── AbstractPartialResponse.cpp │ │ │ │ ├── AbstractPofMessage.cpp │ │ │ │ ├── AbstractPofMessageFactory.cpp │ │ │ │ ├── AbstractPofProtocol.cpp │ │ │ │ ├── AbstractPofRequest.cpp │ │ │ │ ├── AbstractPofResponse.cpp │ │ │ │ ├── PofChannel.cpp │ │ │ │ ├── PofCodec.cpp │ │ │ │ ├── PofConnection.cpp │ │ │ │ ├── RemoteCacheService.cpp │ │ │ │ ├── RemoteInvocationService.cpp │ │ │ │ ├── RemoteNameService.cpp │ │ │ │ ├── RemoteNamedCache.cpp │ │ │ │ ├── RemoteService.cpp │ │ │ │ ├── TcpPofConnection.cpp │ │ │ │ ├── protocol │ │ │ │ ├── AcceptChannel.cpp │ │ │ │ ├── AcceptChannelRequest.cpp │ │ │ │ ├── AcceptChannelResponse.cpp │ │ │ │ ├── CloseChannel.cpp │ │ │ │ ├── CloseConnection.cpp │ │ │ │ ├── CreateChannel.cpp │ │ │ │ ├── EncodedMessage.cpp │ │ │ │ ├── InitiatorMessageFactory.cpp │ │ │ │ ├── InitiatorOpenConnection.cpp │ │ │ │ ├── InitiatorOpenConnectionRequest.cpp │ │ │ │ ├── InitiatorOpenConnectionResponse.cpp │ │ │ │ ├── InitiatorProtocol.cpp │ │ │ │ ├── NotifyChannelClosed.cpp │ │ │ │ ├── NotifyConnectionClosed.cpp │ │ │ │ ├── NotifyShutdown.cpp │ │ │ │ ├── NotifyStartup.cpp │ │ │ │ ├── OpenChannel.cpp │ │ │ │ ├── OpenChannelRequest.cpp │ │ │ │ ├── OpenChannelResponse.cpp │ │ │ │ ├── OpenConnection.cpp │ │ │ │ ├── OpenConnectionRequest.cpp │ │ │ │ ├── OpenConnectionResponse.cpp │ │ │ │ ├── PeerMessageFactory.cpp │ │ │ │ ├── PeerProtocol.cpp │ │ │ │ ├── PeerResponse.cpp │ │ │ │ ├── PingRequest.cpp │ │ │ │ ├── PingResponse.cpp │ │ │ │ ├── TcpInitiatorMessageFactory.cpp │ │ │ │ ├── TcpInitiatorOpenConnectionRequest.cpp │ │ │ │ ├── TcpInitiatorOpenConnectionResponse.cpp │ │ │ │ ├── TcpInitiatorProtocol.cpp │ │ │ │ ├── cache │ │ │ │ │ ├── AbstractFilterRequest.cpp │ │ │ │ │ ├── AbstractKeyRequest.cpp │ │ │ │ │ ├── AbstractKeySetRequest.cpp │ │ │ │ │ ├── AggregateAllRequest.cpp │ │ │ │ │ ├── AggregateFilterRequest.cpp │ │ │ │ │ ├── ClearRequest.cpp │ │ │ │ │ ├── ContainsAllRequest.cpp │ │ │ │ │ ├── ContainsKeyRequest.cpp │ │ │ │ │ ├── ContainsValueRequest.cpp │ │ │ │ │ ├── GetAllRequest.cpp │ │ │ │ │ ├── GetRequest.cpp │ │ │ │ │ ├── IndexRequest.cpp │ │ │ │ │ ├── InvokeAllRequest.cpp │ │ │ │ │ ├── InvokeFilterRequest.cpp │ │ │ │ │ ├── InvokeRequest.cpp │ │ │ │ │ ├── ListenerFilterRequest.cpp │ │ │ │ │ ├── ListenerKeyRequest.cpp │ │ │ │ │ ├── LockRequest.cpp │ │ │ │ │ ├── MapEventMessage.cpp │ │ │ │ │ ├── NamedCacheFactory.cpp │ │ │ │ │ ├── NamedCacheProtocol.cpp │ │ │ │ │ ├── NamedCacheRequest.cpp │ │ │ │ │ ├── NamedCacheResponse.cpp │ │ │ │ │ ├── NoStorageMembers.cpp │ │ │ │ │ ├── PartialResponse.cpp │ │ │ │ │ ├── PutAllRequest.cpp │ │ │ │ │ ├── PutRequest.cpp │ │ │ │ │ ├── QueryRequest.cpp │ │ │ │ │ ├── RemoveAllRequest.cpp │ │ │ │ │ ├── RemoveRequest.cpp │ │ │ │ │ ├── SizeRequest.cpp │ │ │ │ │ ├── UnlockRequest.cpp │ │ │ │ │ └── service │ │ │ │ │ │ ├── CacheServiceFactory.cpp │ │ │ │ │ │ ├── CacheServiceProtocol.cpp │ │ │ │ │ │ ├── CacheServiceRequest.cpp │ │ │ │ │ │ ├── CacheServiceResponse.cpp │ │ │ │ │ │ ├── DestroyCacheRequest.cpp │ │ │ │ │ │ └── EnsureCacheRequest.cpp │ │ │ │ ├── invocation │ │ │ │ │ ├── InvocationRequest.cpp │ │ │ │ │ ├── InvocationServiceFactory.cpp │ │ │ │ │ ├── InvocationServiceProtocol.cpp │ │ │ │ │ ├── InvocationServiceRequest.cpp │ │ │ │ │ └── InvocationServiceResponse.cpp │ │ │ │ └── nameservice │ │ │ │ │ ├── LookupRequest.cpp │ │ │ │ │ ├── NameServiceFactory.cpp │ │ │ │ │ ├── NameServiceProtocol.cpp │ │ │ │ │ ├── NameServiceRequest.cpp │ │ │ │ │ └── NameServiceResponse.cpp │ │ │ │ └── util │ │ │ │ └── TcpUtil.cpp │ │ ├── run │ │ │ └── EventDeathException.cpp │ │ └── util │ │ │ ├── AbstractSerializationConverter.cpp │ │ │ ├── Daemon.cpp │ │ │ ├── Initiator.cpp │ │ │ ├── Peer.cpp │ │ │ ├── QueueProcessor.cpp │ │ │ ├── RunnableCacheEvent.cpp │ │ │ ├── SafeCacheService.cpp │ │ │ ├── SafeInvocationService.cpp │ │ │ ├── SafeNamedCache.cpp │ │ │ ├── SafeService.cpp │ │ │ ├── Service.cpp │ │ │ └── TcpInitiator.cpp │ ├── dev │ │ └── compiler │ │ │ ├── CompilerException.cpp │ │ │ ├── ErrorList.cpp │ │ │ ├── SimpleScript.cpp │ │ │ └── SyntaxException.cpp │ ├── internal │ │ └── util │ │ │ └── processor │ │ │ └── CacheProcessors.cpp │ ├── io │ │ ├── AbstractEvolvable.cpp │ │ ├── AbstractOctetArrayReadBuffer.cpp │ │ ├── AbstractReadBuffer.cpp │ │ ├── AbstractWriteBuffer.cpp │ │ ├── BufferedInputStream.cpp │ │ ├── BufferedOutputStream.cpp │ │ ├── ConfigurableSerializerFactory.cpp │ │ ├── DelegatingWriteBuffer.cpp │ │ ├── EOFException.cpp │ │ ├── IOException.cpp │ │ ├── InputStream.cpp │ │ ├── InterruptedIOException.cpp │ │ ├── OctetArrayReadBuffer.cpp │ │ ├── OctetArrayWriteBuffer.cpp │ │ ├── OutputStream.cpp │ │ ├── Serializer.cpp │ │ ├── SimpleEvolvable.cpp │ │ ├── UTFDataFormatException.cpp │ │ ├── WrapperStreamFactory.cpp │ │ └── pof │ │ │ ├── EvolvableHolder.cpp │ │ │ ├── IdentityHolder.cpp │ │ │ ├── PofAnnotationSerializer.cpp │ │ │ ├── PofBufferReader.cpp │ │ │ ├── PofBufferWriter.cpp │ │ │ ├── PofHelper.cpp │ │ │ ├── PortableException.cpp │ │ │ ├── PortableObject.cpp │ │ │ ├── PortableObjectSerializer.cpp │ │ │ ├── PortableTypeSerializer.cpp │ │ │ ├── PrincipalPofSerializer.cpp │ │ │ ├── RawDate.cpp │ │ │ ├── RawDateTime.cpp │ │ │ ├── RawDayTimeInterval.cpp │ │ │ ├── RawTime.cpp │ │ │ ├── RawTimeInterval.cpp │ │ │ ├── RawYearMonthInterval.cpp │ │ │ ├── ReferenceLibrary.cpp │ │ │ ├── SimplePofContext.cpp │ │ │ ├── SubjectPofSerializer.cpp │ │ │ ├── SystemPofContext.cpp │ │ │ ├── SystemPofContextSerializerFactory.cpp │ │ │ ├── ThrowablePofSerializer.cpp │ │ │ ├── UserTypeReader.cpp │ │ │ ├── UserTypeWriter.cpp │ │ │ ├── WritingPofHandler.cpp │ │ │ ├── annotation │ │ │ ├── Portable.cpp │ │ │ └── PortableProperty.cpp │ │ │ └── reflect │ │ │ ├── AbstractPofPath.cpp │ │ │ ├── Codecs.cpp │ │ │ ├── SimplePofPath.cpp │ │ │ └── internal │ │ │ ├── AnnotationVisitor.cpp │ │ │ ├── ClassAttributeBuilder.cpp │ │ │ ├── ClassMetadata.cpp │ │ │ ├── ClassMetadataBuilder.cpp │ │ │ ├── InvocationStrategies.cpp │ │ │ └── NameManglers.cpp │ ├── lang │ │ ├── AbstractHeapAnalyzer.cpp │ │ ├── Allocator.cpp │ │ ├── AnnotatedElement.cpp │ │ ├── ArithmeticException.cpp │ │ ├── Array.cpp │ │ ├── Boolean.cpp │ │ ├── Character16.cpp │ │ ├── Class.cpp │ │ ├── ClassBasedHeapAnalyzer.cpp │ │ ├── ClassCastException.cpp │ │ ├── ClassInfo.cpp │ │ ├── ClassNotFoundException.cpp │ │ ├── CloneNotSupportedException.cpp │ │ ├── ConstCastException.cpp │ │ ├── Exception.cpp │ │ ├── ExceptionStackElement.cpp │ │ ├── ExecutableClass.cpp │ │ ├── Float32.cpp │ │ ├── Float64.cpp │ │ ├── HeapAnalyzer.cpp │ │ ├── IllegalArgumentException.cpp │ │ ├── IllegalStateException.cpp │ │ ├── IndexOutOfBoundsException.cpp │ │ ├── Integer16.cpp │ │ ├── Integer32.cpp │ │ ├── Integer64.cpp │ │ ├── InterruptedException.cpp │ │ ├── LifeCycle.cpp │ │ ├── Method.cpp │ │ ├── MutableReference.cpp │ │ ├── NoSuchElementException.cpp │ │ ├── NoSuchMethodException.cpp │ │ ├── NullPointerException.cpp │ │ ├── Object.cpp │ │ ├── ObjectArray.cpp │ │ ├── ObjectCountHeapAnalyzer.cpp │ │ ├── Octet.cpp │ │ ├── OutOfMemoryError.cpp │ │ ├── Primitive.cpp │ │ ├── RuntimeException.cpp │ │ ├── SecurityException.cpp │ │ ├── Size32.cpp │ │ ├── Size64.cpp │ │ ├── SmartMember.cpp │ │ ├── String.cpp │ │ ├── System.cpp │ │ ├── SystemClassLoader.cpp │ │ ├── Thread.cpp │ │ ├── ThreadGroup.cpp │ │ ├── ThreadLocalReference.cpp │ │ ├── TimeoutBlock.cpp │ │ ├── UnsupportedOperationException.cpp │ │ ├── Volatile.cpp │ │ ├── WeakReference.cpp │ │ ├── WeakReferenceImpl.cpp │ │ └── annotation │ │ │ ├── AbstractAnnotation.cpp │ │ │ └── Inherited.cpp │ ├── native │ │ └── platform.cpp │ ├── net │ │ ├── AbstractInvocable.cpp │ │ ├── AbstractPriorityTask.cpp │ │ ├── AddressProvider.cpp │ │ ├── CacheFactory.cpp │ │ ├── ConfigurableAddressProvider.cpp │ │ ├── ConfigurableAddressProviderFactory.cpp │ │ ├── Console.cpp │ │ ├── DefaultConfigurableCacheFactory.cpp │ │ ├── DefaultOperationalContext.cpp │ │ ├── InetAddress.cpp │ │ ├── InetAddressHelper.cpp │ │ ├── InetSocketAddress.cpp │ │ ├── LocalMember.cpp │ │ ├── MemberEvent.cpp │ │ ├── RequestIncompleteException.cpp │ │ ├── RequestTimeoutException.cpp │ │ ├── ServerSocket.cpp │ │ ├── SingleAddressProvider.cpp │ │ ├── Socket.cpp │ │ ├── SocketTimeoutException.cpp │ │ ├── URI.cpp │ │ ├── URISyntaxException.cpp │ │ ├── UnknownHostException.cpp │ │ ├── ViewBuilder.cpp │ │ ├── cache │ │ │ ├── AbstractBundler.cpp │ │ │ ├── AbstractCacheLoader.cpp │ │ │ ├── AbstractCacheStore.cpp │ │ │ ├── AbstractEntryBundler.cpp │ │ │ ├── AbstractKeyBundler.cpp │ │ │ ├── BundlingNamedCache.cpp │ │ │ ├── CacheEvent.cpp │ │ │ ├── CachingMap.cpp │ │ │ ├── ContinuousQueryCache.cpp │ │ │ ├── LocalCache.cpp │ │ │ ├── LocalConcurrentCache.cpp │ │ │ ├── LocalInvocableCache.cpp │ │ │ ├── LocalNamedCache.cpp │ │ │ ├── LocalQueryCache.cpp │ │ │ ├── NearCache.cpp │ │ │ ├── NullKeyAssociation.cpp │ │ │ ├── OldCache.cpp │ │ │ ├── SimpleCacheStatistics.cpp │ │ │ └── WrapperNamedCache.cpp │ │ ├── internal │ │ │ ├── ScopedReferenceStore.cpp │ │ │ └── SubstitutionAddressProvider.cpp │ │ ├── messaging │ │ │ ├── Codec.cpp │ │ │ ├── ConnectionEvent.cpp │ │ │ └── ConnectionException.cpp │ │ └── partition │ │ │ └── PartitionSet.cpp │ ├── run │ │ └── xml │ │ │ ├── ErrorDescription.cpp │ │ │ ├── SimpleDocument.cpp │ │ │ ├── SimpleElement.cpp │ │ │ ├── SimpleParser.cpp │ │ │ ├── SimpleValue.cpp │ │ │ ├── ViewOnlyElement.cpp │ │ │ ├── XmlHelper.cpp │ │ │ ├── XmlScript.cpp │ │ │ ├── XmlToken.cpp │ │ │ └── XmlTokenizer.cpp │ ├── security │ │ ├── DefaultIdentityAsserter.cpp │ │ ├── DefaultIdentityTransformer.cpp │ │ ├── GenericPrincipal.cpp │ │ ├── IdentityAsserter.cpp │ │ ├── IdentityTransformer.cpp │ │ ├── RunAsBlock.cpp │ │ ├── SecurityHelper.cpp │ │ └── auth │ │ │ └── GenericSubject.cpp │ └── util │ │ ├── AbstractCollection.cpp │ │ ├── AbstractConcurrentQueue.cpp │ │ ├── AbstractList.cpp │ │ ├── AbstractLongArray.cpp │ │ ├── AbstractMap.cpp │ │ ├── AbstractMapListener.cpp │ │ ├── AbstractSet.cpp │ │ ├── AbstractSparseArray.cpp │ │ ├── AbstractStableIterator.cpp │ │ ├── Arrays.cpp │ │ ├── AtomicCounter.cpp │ │ ├── Binary.cpp │ │ ├── BinaryWriteBuffer.cpp │ │ ├── CircularArrayList.cpp │ │ ├── Collection.cpp │ │ ├── Collections.cpp │ │ ├── CompositeKey.cpp │ │ ├── ConcurrentMap.cpp │ │ ├── ConcurrentModificationException.cpp │ │ ├── ConditionalIndex.cpp │ │ ├── Converter.cpp │ │ ├── ConverterCollections.cpp │ │ ├── Date.cpp │ │ ├── DeltaSet.cpp │ │ ├── Dequeue.cpp │ │ ├── Describable.cpp │ │ ├── DualQueue.cpp │ │ ├── Event.cpp │ │ ├── EventObject.cpp │ │ ├── FilterMuterator.cpp │ │ ├── HashArray.cpp │ │ ├── HashHelper.cpp │ │ ├── HashSet.cpp │ │ ├── Hashtable.cpp │ │ ├── IdentityHashMap.cpp │ │ ├── InvocableMap.cpp │ │ ├── InvocableMapHelper.cpp │ │ ├── LinkedList.cpp │ │ ├── List.cpp │ │ ├── Listeners.cpp │ │ ├── LiteSet.cpp │ │ ├── Map.cpp │ │ ├── MapEvent.cpp │ │ ├── MapIndex.cpp │ │ ├── MapKeySet.cpp │ │ ├── MapListenerSupport.cpp │ │ ├── MapTriggerListener.cpp │ │ ├── MapValuesCollection.cpp │ │ ├── MappedSet.cpp │ │ ├── MultiplexingMapListener.cpp │ │ ├── NullFilter.cpp │ │ ├── NullImplementation.cpp │ │ ├── Objects.cpp │ │ ├── ObservableHashMap.cpp │ │ ├── Optional.cpp │ │ ├── PagedIterator.cpp │ │ ├── PagedMuterator.cpp │ │ ├── Random.cpp │ │ ├── ReadOnlyArrayList.cpp │ │ ├── ReadOnlyMultiList.cpp │ │ ├── SafeClock.cpp │ │ ├── SafeHashMap.cpp │ │ ├── SafeHashSet.cpp │ │ ├── SerializationHelper.cpp │ │ ├── ServiceEvent.cpp │ │ ├── Set.cpp │ │ ├── SimpleIterator.cpp │ │ ├── SimpleMapEntry.cpp │ │ ├── SimpleMapIndex.cpp │ │ ├── SimpleQueryRecord.cpp │ │ ├── SimpleQueryRecordReporter.cpp │ │ ├── SortedBag.cpp │ │ ├── SparseArray.cpp │ │ ├── StringHelper.cpp │ │ ├── SubList.cpp │ │ ├── SubSet.cpp │ │ ├── ThreadGate.cpp │ │ ├── TreeMap.cpp │ │ ├── TreeSet.cpp │ │ ├── UUID.cpp │ │ ├── WeakHashMap.cpp │ │ ├── WrapperCollections.cpp │ │ ├── aggregator │ │ ├── AbstractAggregator.cpp │ │ ├── AbstractComparableAggregator.cpp │ │ ├── AbstractFloat64Aggregator.cpp │ │ ├── AbstractInteger64Aggregator.cpp │ │ ├── ComparableMax.cpp │ │ ├── ComparableMin.cpp │ │ ├── CompositeAggregator.cpp │ │ ├── Count.cpp │ │ ├── DistinctValues.cpp │ │ ├── Float64Average.cpp │ │ ├── Float64Max.cpp │ │ ├── Float64Min.cpp │ │ ├── Float64Sum.cpp │ │ ├── GroupAggregator.cpp │ │ ├── Integer64Max.cpp │ │ ├── Integer64Min.cpp │ │ ├── Integer64Sum.cpp │ │ ├── ParallelCompositeAggregator.cpp │ │ ├── ParallelGroupAggregator.cpp │ │ ├── PriorityAggregator.cpp │ │ ├── QueryRecorder.cpp │ │ ├── ReducerAggregator.cpp │ │ └── TopNAggregator.cpp │ │ ├── comparator │ │ ├── ChainedComparator.cpp │ │ ├── EntryComparator.cpp │ │ ├── InverseComparator.cpp │ │ └── SafeComparator.cpp │ │ ├── extractor │ │ ├── AbstractCompositeExtractor.cpp │ │ ├── AbstractExtractor.cpp │ │ ├── AbstractUpdater.cpp │ │ ├── ChainedExtractor.cpp │ │ ├── ComparisonValueExtractor.cpp │ │ ├── CompositeUpdater.cpp │ │ ├── ConditionalExtractor.cpp │ │ ├── EntryExtractor.cpp │ │ ├── IdentityExtractor.cpp │ │ ├── KeyExtractor.cpp │ │ ├── MultiExtractor.cpp │ │ ├── PofExtractor.cpp │ │ ├── PofUpdater.cpp │ │ ├── ReflectionExtractor.cpp │ │ ├── ReflectionUpdater.cpp │ │ ├── UniversalExtractor.cpp │ │ └── UniversalUpdater.cpp │ │ ├── filter │ │ ├── AllFilter.cpp │ │ ├── AlwaysFilter.cpp │ │ ├── AndFilter.cpp │ │ ├── AnyFilter.cpp │ │ ├── ArrayFilter.cpp │ │ ├── BetweenFilter.cpp │ │ ├── CacheEventFilter.cpp │ │ ├── ComparisonFilter.cpp │ │ ├── ContainsAllFilter.cpp │ │ ├── ContainsAnyFilter.cpp │ │ ├── ContainsFilter.cpp │ │ ├── EqualsFilter.cpp │ │ ├── ExtractorFilter.cpp │ │ ├── FilterTrigger.cpp │ │ ├── GreaterEqualsFilter.cpp │ │ ├── GreaterFilter.cpp │ │ ├── InFilter.cpp │ │ ├── InKeySetFilter.cpp │ │ ├── IsNotNullFilter.cpp │ │ ├── IsNullFilter.cpp │ │ ├── KeyAssociatedFilter.cpp │ │ ├── KeyFilter.cpp │ │ ├── LessEqualsFilter.cpp │ │ ├── LessFilter.cpp │ │ ├── LikeFilter.cpp │ │ ├── LimitFilter.cpp │ │ ├── MapEventFilter.cpp │ │ ├── MapEventTransformerFilter.cpp │ │ ├── NeverFilter.cpp │ │ ├── NotEqualsFilter.cpp │ │ ├── NotFilter.cpp │ │ ├── OrFilter.cpp │ │ ├── PresentFilter.cpp │ │ ├── PriorityFilter.cpp │ │ ├── ValueChangeEventFilter.cpp │ │ └── XorFilter.cpp │ │ ├── logging │ │ ├── LogOutput.cpp │ │ ├── Logger.cpp │ │ └── Standard.cpp │ │ ├── processor │ │ ├── AbstractClusterProcessor.cpp │ │ ├── AbstractProcessor.cpp │ │ ├── CompositeProcessor.cpp │ │ ├── ConditionalProcessor.cpp │ │ ├── ConditionalPut.cpp │ │ ├── ConditionalPutAll.cpp │ │ ├── ConditionalRemove.cpp │ │ ├── ExtractorProcessor.cpp │ │ ├── NumberIncrementor.cpp │ │ ├── NumberMultiplier.cpp │ │ ├── PreloadRequest.cpp │ │ ├── PriorityProcessor.cpp │ │ ├── PropertyManipulator.cpp │ │ ├── PropertyProcessor.cpp │ │ ├── UpdaterProcessor.cpp │ │ ├── VersionedPut.cpp │ │ └── VersionedPutAll.cpp │ │ └── transformer │ │ ├── ExtractorEventTransformer.cpp │ │ └── SemiLiteEventTransformer.cpp └── sanka │ └── sanka.cpp ├── tests ├── common │ ├── include │ │ ├── coherence │ │ │ └── tests │ │ │ │ ├── ConfiguredMapListener.hpp │ │ │ │ ├── ConfiguredMapListenerFactory.hpp │ │ │ │ ├── CustomKeyClass.hpp │ │ │ │ ├── IncrementorInvocable.hpp │ │ │ │ ├── IntegerComparator.hpp │ │ │ │ ├── MBeanInvocable.hpp │ │ │ │ ├── POFObjectInvocable.hpp │ │ │ │ ├── ProcessorPrintUUIDTimestamp.hpp │ │ │ │ ├── ProxyControlInvocable.hpp │ │ │ │ ├── SimplePerson.hpp │ │ │ │ ├── SimplePersonMapTrigger.hpp │ │ │ │ ├── SlowAggregator.hpp │ │ │ │ ├── SlowProcessor.hpp │ │ │ │ ├── StringLengthComparator.hpp │ │ │ │ ├── TestMapIndex.hpp │ │ │ │ ├── TestObject.hpp │ │ │ │ └── VersionedObject.hpp │ │ ├── common │ │ │ ├── Address.hpp │ │ │ ├── AirDeal.hpp │ │ │ ├── AirDealComparator.hpp │ │ │ ├── Book.hpp │ │ │ ├── Color.hpp │ │ │ ├── EvolvablePortablePerson.hpp │ │ │ ├── EvolvablePortablePerson2.hpp │ │ │ ├── ModuleSerializer.hpp │ │ │ ├── NestedType.hpp │ │ │ ├── NestedTypeWithReference.hpp │ │ │ ├── PortablePerson.hpp │ │ │ ├── PortablePersonReference.hpp │ │ │ ├── SerializerTestData.hpp │ │ │ ├── SimpleType.hpp │ │ │ ├── TestClasses.hpp │ │ │ ├── TestEvenFilter.hpp │ │ │ ├── TestFilter.hpp │ │ │ ├── TestListener.hpp │ │ │ ├── TestMapListener.hpp │ │ │ ├── TestPerson.hpp │ │ │ ├── TestPofSerializer.hpp │ │ │ ├── TestSerializer.hpp │ │ │ ├── TestSerializerXmlConfigurable.hpp │ │ │ ├── TestSyncListener.hpp │ │ │ ├── TestTransformer.hpp │ │ │ ├── TestUtils.hpp │ │ │ ├── v1 │ │ │ │ ├── Dog.hpp │ │ │ │ └── Pet.hpp │ │ │ └── v2 │ │ │ │ ├── Animal.hpp │ │ │ │ ├── Dog.hpp │ │ │ │ └── Pet.hpp │ │ ├── fake │ │ │ └── aggregator │ │ │ │ └── FakeInvocableMapEntry.hpp │ │ └── mock │ │ │ ├── BaseMock.hpp │ │ │ ├── CommonMocks.hpp │ │ │ └── Expectation.hpp │ └── src │ │ ├── cpp │ │ └── coherence │ │ │ └── tests │ │ │ ├── ConfiguredMapListener.cpp │ │ │ ├── ConfiguredMapListenerFactory.cpp │ │ │ ├── CustomKeyClass.cpp │ │ │ ├── IncrementorInvocable.cpp │ │ │ ├── IntegerComparator.cpp │ │ │ ├── MBeanInvocable.cpp │ │ │ ├── POFObjectInvocable.cpp │ │ │ ├── ProcessorPrintUUIDTimestamp.cpp │ │ │ ├── ProxyControlInvocable.cpp │ │ │ ├── SimplePerson.cpp │ │ │ ├── SimplePersonMapTrigger.cpp │ │ │ ├── SlowProcessor.cpp │ │ │ ├── StringLengthComparator.cpp │ │ │ ├── TestObject.cpp │ │ │ └── VersionedObject.cpp │ │ └── java │ │ └── coherence │ │ └── tests │ │ ├── Address.java │ │ ├── AirDealComparator.java │ │ ├── Book.java │ │ ├── CustomSerializer.java │ │ ├── EntitledNamedCache.java │ │ ├── ExampleAddress.java │ │ ├── FilterFetcher.java │ │ ├── IncrementorInvocable.java │ │ ├── IntegerComparator.java │ │ ├── Item.java │ │ ├── ItemKey.java │ │ ├── KAFValidationInvocable.java │ │ ├── MBeanInvocable.java │ │ ├── Order.java │ │ ├── OrderKey.java │ │ ├── POFObjectInvocable.java │ │ ├── Part.java │ │ ├── PortablePerson.java │ │ ├── ProcessorPrintUUIDTimestamp.java │ │ ├── ProxyControlInvocable.java │ │ ├── SimplePerson.java │ │ ├── SimplePersonMapTrigger.java │ │ ├── SlowAggregator.java │ │ ├── SlowProcessor.java │ │ ├── StringLengthComparator.java │ │ ├── TestContact.java │ │ ├── TestFilter.java │ │ ├── TestObject.java │ │ ├── TestSubjectInvocable.java │ │ ├── TestTransformer.java │ │ ├── TestUtf8Processor.java │ │ └── VersionedObject.java ├── functional │ └── coherence │ │ ├── lb │ │ └── LoadBalancerTest.hpp │ │ ├── memory │ │ └── ProxyConnectionLeakTest.hpp │ │ ├── net │ │ ├── CacheFactoryTest.hpp │ │ ├── ConfiguredMapListenerTest.hpp │ │ ├── CustomKeyClassTest.hpp │ │ ├── CustomSerializerTest.hpp │ │ ├── DefaultConfigurableCacheFactoryTest.hpp │ │ ├── DefaultSerializerTest.hpp │ │ ├── InvocationServiceTest.hpp │ │ ├── MapListenerTest.hpp │ │ ├── MessageSizeTest.hpp │ │ ├── RemoteNamedCacheTest.hpp │ │ ├── cache │ │ │ ├── BundlingNamedCacheTests.hpp │ │ │ ├── CQCProxyTest.hpp │ │ │ ├── CacheMapTest.hpp │ │ │ ├── ContinuousQueryCacheTest.hpp │ │ │ ├── NearCacheTest.hpp │ │ │ ├── PutAllStringTest.hpp │ │ │ ├── Utf8Test.hpp │ │ │ └── ViewTest.hpp │ │ ├── extend │ │ │ └── protocol │ │ │ │ └── cache │ │ │ │ └── PriorityTaskTest.hpp │ │ └── messaging │ │ │ ├── CacheServiceTest.hpp │ │ │ └── NamedCacheTest.hpp │ │ ├── security │ │ └── AuthorizedServiceTest.hpp │ │ └── util │ │ ├── ConcurrentMapTest.hpp │ │ ├── InvocableMapTest.hpp │ │ ├── MapTest.hpp │ │ ├── MapTriggerListenerTest.hpp │ │ ├── ObservableMapTest.hpp │ │ ├── ProxyEventTests.hpp │ │ ├── QueryMapTest.hpp │ │ ├── SimpleMapIndexTest.hpp │ │ ├── aggregator │ │ ├── Float64AverageTest.hpp │ │ ├── Integer64SumTest.hpp │ │ ├── QueryRecorderTest.hpp │ │ ├── ReducerAggregatorTest.hpp │ │ └── TopNAggregatorTest.hpp │ │ ├── extractors │ │ ├── PofExtractorTest.hpp │ │ ├── PofUpdaterTest.hpp │ │ ├── ReflectionExtractorTest.hpp │ │ ├── UniversalExtractorTest.hpp │ │ └── UniversalUpdaterTest.hpp │ │ ├── filter │ │ ├── EqualsFilterTest.hpp │ │ ├── GreaterFilterTest.hpp │ │ ├── InFilterTest.hpp │ │ ├── KeyAssociatedFilterTest.hpp │ │ ├── LessEqualsFilterTest.hpp │ │ ├── LimitFilterTest.hpp │ │ └── OrFilterTest.hpp │ │ └── processor │ │ ├── AbstractClusterProcessorTest.hpp │ │ ├── CompositeProcessorTest.hpp │ │ ├── ConditionalProcessorTest.hpp │ │ ├── ConditionalPutAllTest.hpp │ │ ├── ConditionalPutTest.hpp │ │ ├── ConditionalRemoveTest.hpp │ │ ├── ExtractorProcessorTest.hpp │ │ ├── NumberIncrementorTest.hpp │ │ ├── NumberMultiplierTest.hpp │ │ ├── PreloadRequestTest.hpp │ │ ├── PriorityProcessorTest.hpp │ │ ├── UpdaterProcessorTest.hpp │ │ ├── VersionedPutAllTest.hpp │ │ └── VersionedPutTest.hpp ├── load │ └── coherence │ │ └── util │ │ └── ThreadGateTest.hpp ├── performance │ ├── cache │ │ └── access │ │ │ └── AccessTest.cpp │ ├── handles │ │ ├── assignment │ │ │ ├── AssignmentTest.cpp │ │ │ └── AssignmentTest.java │ │ └── passing │ │ │ ├── PassingTest.cpp │ │ │ └── pass_by.cpp │ └── instanceof │ │ └── instanceof.cpp └── unit │ ├── coherence │ ├── component │ │ ├── net │ │ │ └── extend │ │ │ │ ├── RemoteNamedCacheTest.hpp │ │ │ │ └── protocol │ │ │ │ └── cache │ │ │ │ ├── AggregateAllRequestTest.hpp │ │ │ │ ├── AggregateFilterRequestTest.hpp │ │ │ │ ├── AggregatorStub.hpp │ │ │ │ ├── InvokeAllRequestTest.hpp │ │ │ │ ├── InvokeFilterRequestTest.hpp │ │ │ │ ├── InvokeRequestTest.hpp │ │ │ │ ├── ListenerFilterRequestTest.hpp │ │ │ │ ├── ListenerKeyRequestTest.hpp │ │ │ │ └── ProcessorStub.hpp │ │ └── util │ │ │ ├── DaemonTest.hpp │ │ │ ├── QueueProcessorTest.hpp │ │ │ ├── SafeCacheServiceTest.hpp │ │ │ ├── SafeInvocationServiceTest.hpp │ │ │ ├── SafeNamedCacheTest.hpp │ │ │ └── TcpInitiatorTest.hpp │ ├── dev │ │ └── compiler │ │ │ └── SimpleScriptTest.hpp │ ├── headers │ │ └── PlatformTest.hpp │ ├── io │ │ ├── OctetArrayReadBufferTest.hpp │ │ ├── OctetArrayWriteBufferTest.hpp │ │ └── pof │ │ │ ├── AnnotationVisitorTest.hpp │ │ │ ├── ClassMetadataTest.hpp │ │ │ ├── Coh25103Test.hpp │ │ │ ├── NameManglersTest.hpp │ │ │ ├── PofAnnotationObjects.hpp │ │ │ ├── PofAnnotationSerializerTest.hpp │ │ │ ├── PofAnnotationsTest.hpp │ │ │ ├── PofBufferWriterTest.hpp │ │ │ ├── PofHelperEncodingTest.hpp │ │ │ ├── PofHelperParsingTest.hpp │ │ │ ├── PofHelperTypeConversionTest.hpp │ │ │ ├── PofNestedBuffers.hpp │ │ │ ├── PofReferenceTest.hpp │ │ │ ├── PofStreamCollectionTest.hpp │ │ │ ├── PofStreamEmptyArrayTest.hpp │ │ │ ├── PofStreamObjectValueTest.hpp │ │ │ ├── PofStreamPrimitiveArrayTest.hpp │ │ │ ├── PofStreamPrimitiveValueTest.hpp │ │ │ ├── PofUniformCollectionTest.hpp │ │ │ ├── PofUserTypeTest.hpp │ │ │ ├── PortableObjectSerializerTest.hpp │ │ │ ├── PortableTypeSerializerTest.hpp │ │ │ ├── SerializerTest.hpp │ │ │ └── SystemPofContextTest.hpp │ ├── lang │ │ ├── AllocatorTest.hpp │ │ ├── ArrayTest.hpp │ │ ├── BooleanTest.hpp │ │ ├── BoxHandleTest.hpp │ │ ├── BoxSetterTest.hpp │ │ ├── Character16Test.hpp │ │ ├── ClassLoaderTest.hpp │ │ ├── ClassTest.hpp │ │ ├── ExceptionTest.hpp │ │ ├── FinalHandleTest.hpp │ │ ├── FinalHolderTest.hpp │ │ ├── FinalViewTest.hpp │ │ ├── Float32Test.hpp │ │ ├── Float64Test.hpp │ │ ├── Integer16Test.hpp │ │ ├── Integer32Test.hpp │ │ ├── Integer64Test.hpp │ │ ├── MemberHandleTest.hpp │ │ ├── MemberHolderTest.hpp │ │ ├── MemberViewTest.hpp │ │ ├── ObjectArrayTest.hpp │ │ ├── ObjectTest.hpp │ │ ├── OctetTest.hpp │ │ ├── PrimitiveTest.hpp │ │ ├── StandardLibTest.hpp │ │ ├── StringTest.hpp │ │ ├── SystemClassLoaderTest.hpp │ │ ├── SystemTest.hpp │ │ ├── ThreadGroupTest.hpp │ │ ├── ThreadLocalReferenceTest.hpp │ │ ├── ThreadOperationsTest.hpp │ │ ├── ThreadTest.hpp │ │ ├── TypedClassTest.hpp │ │ ├── TypedHandleTest.hpp │ │ ├── TypedHolderTest.hpp │ │ ├── TypedMethodTest.hpp │ │ ├── VolatileTest.hpp │ │ ├── WeakHandleTest.hpp │ │ ├── WeakHolderTest.hpp │ │ ├── WeakReferenceTest.hpp │ │ └── WeakViewTest.hpp │ ├── native │ │ ├── BackTraceTest.hpp │ │ ├── MutexTest.hpp │ │ ├── NativeThreadLocalTest.hpp │ │ ├── NativeThreadTest.hpp │ │ ├── RecursiveMutexTest.hpp │ │ └── SynchronizedTest.hpp │ ├── net │ │ ├── CacheFactoryTest.hpp │ │ ├── ConfigurableAddressProviderTest.hpp │ │ ├── DefaultConfigurableCacheFactoryTest.hpp │ │ ├── DefaultOperationalContextTest.hpp │ │ ├── InetAddressTest.hpp │ │ ├── InetSocketAddressTest.hpp │ │ ├── MemberEventTest.hpp │ │ ├── SocketTest.hpp │ │ ├── URITest.hpp │ │ ├── ViewBuilderTest.hpp │ │ ├── cache │ │ │ ├── CacheEventTest.hpp │ │ │ ├── CachingMapTest.hpp │ │ │ ├── ContinuousQueryCacheTest.hpp │ │ │ ├── LocalCacheTest.hpp │ │ │ ├── LocalConcurrentCacheTest.hpp │ │ │ ├── LocalInvocableCacheTest.hpp │ │ │ ├── LocalNamedCacheTest.hpp │ │ │ ├── LocalQueryCacheTest.hpp │ │ │ ├── NearCacheTest.hpp │ │ │ ├── OldCacheTest.hpp │ │ │ └── SimpleCacheStatisticsTest.hpp │ │ └── partition │ │ │ └── PartitionSetTest.hpp │ ├── run │ │ └── xml │ │ │ ├── SimpleDocumentTest.hpp │ │ │ ├── SimpleElementTest.hpp │ │ │ ├── SimpleParserTest.hpp │ │ │ ├── SimpleValueTest.hpp │ │ │ ├── XmlHelperTest.hpp │ │ │ ├── XmlScriptTest.hpp │ │ │ ├── XmlTokenTest.hpp │ │ │ └── XmlTokenizerTest.hpp │ ├── security │ │ └── RunAsTest.hpp │ ├── stl │ │ ├── AdapterMapTest.hpp │ │ └── BoxingMapTest.hpp │ └── util │ │ ├── ArraysTest.hpp │ │ ├── AtomicCounterTest.hpp │ │ ├── BinaryTest.hpp │ │ ├── BinaryWriteBufferTest.hpp │ │ ├── CircularArrayListTest.hpp │ │ ├── CollectionsTest.hpp │ │ ├── ConditionalIndexTest.hpp │ │ ├── ConverterCollectionsTest.hpp │ │ ├── DateTest.hpp │ │ ├── DeltaSetTest.hpp │ │ ├── DequeueTest.hpp │ │ ├── DualQueueTest.hpp │ │ ├── EventTest.hpp │ │ ├── HashArrayTest.hpp │ │ ├── HashHelperTest.hpp │ │ ├── HashSetTest.hpp │ │ ├── HashtableTest.hpp │ │ ├── IdentityHashMapTest.hpp │ │ ├── InvocableMapHelperTest.hpp │ │ ├── LinkedListTest.hpp │ │ ├── ListenersTest.hpp │ │ ├── LiteSetTest.hpp │ │ ├── LoggerTest.hpp │ │ ├── MapEventTest.hpp │ │ ├── MapListenerSupportTest.hpp │ │ ├── MultiplexingMapListenerTest.hpp │ │ ├── NullImplementationTest.hpp │ │ ├── ObjectsTest.hpp │ │ ├── ObservableHashMap.hpp │ │ ├── RandomTest.hpp │ │ ├── ReadOnlyMultiListTest.hpp │ │ ├── SafeHashMapTest.hpp │ │ ├── SerializationHelperTest.hpp │ │ ├── ServiceEventTest.hpp │ │ ├── SimpleMapIndexTest.hpp │ │ ├── SortedBagTest.hpp │ │ ├── SparseArrayTest.hpp │ │ ├── StringHelperTest.hpp │ │ ├── SubSetTest.hpp │ │ ├── TestOutput.hpp │ │ ├── TreeMapTest.hpp │ │ ├── TreeSetTest.hpp │ │ ├── TypedCollectionsTest.hpp │ │ ├── UUIDTest.hpp │ │ ├── WeakHashMapTest.hpp │ │ ├── aggregator │ │ ├── ComparableMaxTest.hpp │ │ ├── ComparableMinTest.hpp │ │ ├── CountTest.hpp │ │ ├── DistinctValuesTest.hpp │ │ ├── Float64AverageTest.hpp │ │ ├── Float64MaxTest.hpp │ │ ├── Float64MinTest.hpp │ │ ├── Float64SumTest.hpp │ │ ├── Integer64MaxTest.hpp │ │ ├── Integer64MinTest.hpp │ │ └── Integer64SumTest.hpp │ │ ├── comparator │ │ ├── ChainedComparatorTest.hpp │ │ └── InverseComparatorTest.hpp │ │ ├── extractor │ │ ├── BoxExtractorTest.hpp │ │ ├── BoxUpdaterTest.hpp │ │ ├── ChainedExtractorTest.hpp │ │ ├── ComparisonValueExtractorTest.hpp │ │ ├── CompositeUpdaterTest.hpp │ │ ├── ConditionalExtractorTest.hpp │ │ ├── IdentityExtractorTest.hpp │ │ ├── KeyExtractorTest.hpp │ │ ├── MultiExtractorTest.hpp │ │ ├── ReflectionExtractorTest.hpp │ │ ├── ReflectionUpdaterTest.hpp │ │ ├── TypedExtractorTest.hpp │ │ ├── TypedUpdaterTest.hpp │ │ └── UniversalExtractorTest.hpp │ │ ├── filter │ │ ├── AllFilterTest.hpp │ │ ├── AlwaysFilterTest.hpp │ │ ├── AndFilterTest.hpp │ │ ├── AnyFilterTest.hpp │ │ ├── BetweenFilterTest.hpp │ │ ├── ContainsAllFilterTest.hpp │ │ ├── ContainsAnyFilterTest.hpp │ │ ├── ContainsFilterTest.hpp │ │ ├── EqualsFilterTest.hpp │ │ ├── GreaterEqualsFilterTest.hpp │ │ ├── GreaterFilterTest.hpp │ │ ├── InFilterTest.hpp │ │ ├── InKeySetFilterTest.hpp │ │ ├── IsNotNullFilterTest.hpp │ │ ├── IsNullFilterTest.hpp │ │ ├── KeyFilterTest.hpp │ │ ├── LessEqualsFilterTest.hpp │ │ ├── LessFilterTest.hpp │ │ ├── LikeFilterTest.hpp │ │ ├── LimitFilterTest.hpp │ │ ├── MapEventFilterTest.hpp │ │ ├── MapEventTransformerFilterTest.hpp │ │ ├── NeverFilterTest.hpp │ │ ├── NotEqualsFilterTest.hpp │ │ ├── NotFilterTest.hpp │ │ ├── OrFilterTest.hpp │ │ ├── PresentFilterTest.hpp │ │ └── XOrFilterTest.hpp │ │ ├── processor │ │ ├── CompositeProcessorTest.hpp │ │ ├── ConditionalProcessorTest.hpp │ │ ├── ConditionalPutAllTest.hpp │ │ ├── ConditionalPutTest.hpp │ │ ├── ConditionalRemoveTest.hpp │ │ ├── ExtractorProcessorTest.hpp │ │ ├── NumberIncrementorTest.hpp │ │ ├── NumberMultiplierTest.hpp │ │ ├── PreloadRequestTest.hpp │ │ ├── PriorityProcessorTest.hpp │ │ ├── PropertyManipulatorTest.hpp │ │ ├── UpdaterProcessorTest.hpp │ │ ├── VersionedPutAllTest.hpp │ │ └── VersionedPutTest.hpp │ │ └── transformer │ │ ├── ExtractorEventTransformerTest.hpp │ │ └── SemiLiteEventTransformerTest.hpp │ └── resource │ └── tangosol-coherence-2.xml └── tools ├── ant-tangosol ├── build.xml ├── lib │ └── ant-tangosol.jar └── src │ ├── ant-tangosol.properties │ └── com │ └── xtangosol │ └── tools │ ├── VacuumAndSave.java │ └── ant │ ├── FilesToFileSetAntTask.java │ ├── GenerateNamespaceIncludesAntTask.java │ └── VacuumAndSaveAntTask.java └── cluster-control ├── build.xml ├── ensure.sh ├── lib └── cluster-control.jar ├── src └── com │ └── tangosol │ └── tests │ └── net │ └── cache │ ├── ClusterControl.java │ └── ShutdownAll.java ├── start.sh └── stop.sh /.github/ISSUE_TEMPLATE/bug_report.md: -------------------------------------------------------------------------------- 1 | --- 2 | name: Bug report 3 | about: Create a bug report to help us improve 4 | title: '' 5 | labels: bug 6 | assignees: '' 7 | 8 | --- 9 | 10 | **Describe the bug** 11 | A clear and concise description of what the bug is. 12 | 13 | **To Reproduce** 14 | Steps to reproduce the behaviour: 15 | 16 | **Expected behaviour** 17 | A clear and concise description of what you expected to happen. 18 | 19 | **Screenshots** 20 | If applicable, add screenshots to help explain your problem. 21 | 22 | **Environment (please complete the following information):** 23 | - Coherence CE version (or Git SHA) 24 | - Java version and Java vendor 25 | - OS: [e.g. iOS] 26 | - OS Version [e.g. 22] 27 | - Is this a container/cloud environment, e.g. Docker, CRI-O, Kubernetes, if so include additional information about the container environment, versions etc. 28 | 29 | **Additional context** 30 | Add any other context about the problem here. 31 | -------------------------------------------------------------------------------- /.github/ISSUE_TEMPLATE/feature_request.md: -------------------------------------------------------------------------------- 1 | --- 2 | name: Feature request 3 | about: Suggest an idea for this project 4 | title: '' 5 | labels: enhancement 6 | assignees: '' 7 | 8 | --- 9 | 10 | ## Enhancement Request 11 | 12 | **Is your feature request related to a problem? Please describe.** 13 | A clear and concise description of what the problem is. Ex. I'm always frustrated when [...] 14 | 15 | **Describe the solution you'd like** 16 | A clear and concise description of what you want to happen. 17 | 18 | **Describe alternatives you've considered** 19 | A clear and concise description of any alternative solutions or features you've considered. 20 | 21 | **Additional context** 22 | Add any other context or screenshots about the feature request here. 23 | -------------------------------------------------------------------------------- /.github/ISSUE_TEMPLATE/support-question--rfa-.md: -------------------------------------------------------------------------------- 1 | --- 2 | name: Support Question (RFA) 3 | about: Support questions and requests for advice 4 | title: '' 5 | labels: RFA 6 | assignees: '' 7 | 8 | --- 9 | 10 | 17 | 18 | ## Type of question 19 | 20 | **Are you asking how to use a specific feature, or about general context and help around Coherence?** 21 | 22 | ## Question 23 | 24 | **What did you do?** 25 | A clear and concise description of the steps you took (or insert a code snippet). 26 | 27 | **What did you expect to see?** 28 | A clear and concise description of what you expected to happen (or insert a code snippet). 29 | 30 | **What did you see instead? Under which circumstances?** 31 | A clear and concise description of what you expected to happen (or insert a code snippet). 32 | 33 | 34 | **Environment** 35 | * Coherence version: 36 | 37 | insert release or Git SHA here 38 | 39 | **Additional context** 40 | Add any other context about the question here. 41 | -------------------------------------------------------------------------------- /bin/cfglinux.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | # 3 | # Copyright (c) 2000, 2020, Oracle and/or its affiliates. 4 | # 5 | # Licensed under the Universal Permissive License v 1.0 as shown at 6 | # http://oss.oracle.com/licenses/upl. 7 | # 8 | # This script sets all environment variables necessary to build Oracle 9 | # Coherence for C++ on Linux. 10 | # 11 | # Command line: 12 | # . ./cfglinux.sh [-reset] 13 | # 14 | # See cfgcommon.sh for more details. 15 | 16 | # determine the scripts directory, assuming all scripts are in the same directory 17 | SCRIPT_PATH="${BASH_SOURCE[0]}" 18 | while [ -h "${SCRIPT_PATH}" ]; do 19 | LS=`ls -ld "${SCRIPT_PATH}"` 20 | LINK=`expr "${LS}" : '.*-> \(.*\)$'` 21 | if [ `expr "${LINK}" : '/.*'` > /dev/null ]; then 22 | SCRIPT_PATH="${LINK}" 23 | else 24 | SCRIPT_PATH="`dirname "${SCRIPT_PATH}"`/${LINK}" 25 | fi 26 | done 27 | 28 | cd `dirname $SCRIPT_PATH` 29 | SCRIPTS_DIR=`pwd` 30 | cd - &>/dev/null 31 | 32 | source $SCRIPTS_DIR/cfgcommon.sh 33 | 34 | unset SCRIPT_PATH 35 | unset SCRIPTS_DIR 36 | -------------------------------------------------------------------------------- /bin/cfglocal.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | # 3 | # Copyright (c) 2000, 2020, Oracle and/or its affiliates. 4 | # 5 | # Licensed under the Universal Permissive License v 1.0 as shown at 6 | # http://oss.oracle.com/licenses/upl. 7 | # 8 | # This script sets all environment variables necessary to build Oracle 9 | # Coherence for C++ on supported Unix platforms. 10 | # 11 | # Command line: 12 | # . ./cfglocal.sh [-reset] 13 | # 14 | # See cfgcommon.sh for more details. 15 | 16 | # determine the scripts directory, assuming all scripts are in the same directory 17 | SCRIPT_PATH="${BASH_SOURCE[0]}" 18 | while [ -h "${SCRIPT_PATH}" ]; do 19 | LS=`ls -ld "${SCRIPT_PATH}"` 20 | LINK=`expr "${LS}" : '.*-> \(.*\)$'` 21 | if [ `expr "${LINK}" : '/.*'` > /dev/null ]; then 22 | SCRIPT_PATH="${LINK}" 23 | else 24 | SCRIPT_PATH="`dirname "${SCRIPT_PATH}"`/${LINK}" 25 | fi 26 | done 27 | 28 | cd `dirname $SCRIPT_PATH` 29 | SCRIPTS_DIR=`pwd` 30 | cd - &>/dev/null 31 | 32 | source $SCRIPTS_DIR/cfgcommon.sh 33 | 34 | unset SCRIPT_PATH 35 | unset SCRIPTS_DIR 36 | -------------------------------------------------------------------------------- /bin/cfgosx.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | # 3 | # Copyright (c) 2000, 2020, Oracle and/or its affiliates. 4 | # 5 | # Licensed under the Universal Permissive License v 1.0 as shown at 6 | # http://oss.oracle.com/licenses/upl. 7 | # 8 | # This script sets all environment variables necessary to build Oracle 9 | # Coherence for C++ on Apple OS X. 10 | # 11 | # Command line: 12 | # . ./cfgosx.sh [-reset] 13 | # 14 | # See cfgcommon.sh for more details. 15 | 16 | # determine the scripts directory, assuming all scripts are in the same directory 17 | SCRIPT_PATH="${BASH_SOURCE[0]}" 18 | while [ -h "${SCRIPT_PATH}" ]; do 19 | LS=`ls -ld "${SCRIPT_PATH}"` 20 | LINK=`expr "${LS}" : '.*-> \(.*\)$'` 21 | if [ `expr "${LINK}" : '/.*'` > /dev/null ]; then 22 | SCRIPT_PATH="${LINK}" 23 | else 24 | SCRIPT_PATH="`dirname "${SCRIPT_PATH}"`/${LINK}" 25 | fi 26 | done 27 | 28 | cd `dirname $SCRIPT_PATH` 29 | SCRIPTS_DIR=`pwd` 30 | cd - &>/dev/null 31 | 32 | source $SCRIPTS_DIR/cfgcommon.sh 33 | 34 | unset SCRIPT_PATH 35 | unset SCRIPTS_DIR 36 | -------------------------------------------------------------------------------- /bin/cfgsolaris.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | # 3 | # Copyright (c) 2000, 2020, Oracle and/or its affiliates. 4 | # 5 | # Licensed under the Universal Permissive License v 1.0 as shown at 6 | # http://oss.oracle.com/licenses/upl. 7 | # 8 | # This script sets all environment variables necessary to build Oracle 9 | # Coherence for C++ on Solaris. 10 | # 11 | # Command line: 12 | # . ./cfgsolaris.sh [-reset] 13 | # 14 | # See cfgcommon.sh for more details. 15 | 16 | # determine the scripts directory, assuming all scripts are in the same directory 17 | SCRIPT_PATH="${BASH_SOURCE[0]}" 18 | while [ -h "${SCRIPT_PATH}" ]; do 19 | LS=`ls -ld "${SCRIPT_PATH}"` 20 | LINK=`expr "${LS}" : '.*-> \(.*\)$'` 21 | if [ `expr "${LINK}" : '/.*'` > /dev/null ]; then 22 | SCRIPT_PATH="${LINK}" 23 | else 24 | SCRIPT_PATH="`dirname "${SCRIPT_PATH}"`/${LINK}" 25 | fi 26 | done 27 | 28 | cd `dirname $SCRIPT_PATH` 29 | SCRIPTS_DIR=`pwd` 30 | cd - &>/dev/null 31 | 32 | source $SCRIPTS_DIR/cfgcommon.sh 33 | 34 | unset SCRIPT_PATH 35 | unset SCRIPTS_DIR 36 | -------------------------------------------------------------------------------- /build_spec.yaml: -------------------------------------------------------------------------------- 1 | # Copyright (c) 2022, 2023, Oracle and/or its affiliates. 2 | 3 | version: 0.1 4 | component: build 5 | timeoutInSeconds: 1000 6 | shell: bash 7 | 8 | steps: 9 | - type: Command 10 | name: "compress the repo" 11 | command: | 12 | tar -cvzf ${OCI_WORKSPACE_DIR}/repo.tgz ./ 13 | outputArtifacts: 14 | - name: artifact 15 | type: BINARY 16 | location: ${OCI_WORKSPACE_DIR}/repo.tgz -------------------------------------------------------------------------------- /include/private/coherence/component/net/extend/protocol/cache/NamedCacheRequest.hpp: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2000, 2020, Oracle and/or its affiliates. 3 | * 4 | * Licensed under the Universal Permissive License v 1.0 as shown at 5 | * http://oss.oracle.com/licenses/upl. 6 | */ 7 | #ifndef COH_NAMED_CACHE_REQUEST_HPP 8 | #define COH_NAMED_CACHE_REQUEST_HPP 9 | 10 | #include "coherence/lang.ns" 11 | 12 | #include "private/coherence/component/net/extend/AbstractPofRequest.hpp" 13 | 14 | COH_OPEN_NAMESPACE6(coherence,component,net,extend,protocol,cache) 15 | 16 | using coherence::component::net::extend::AbstractPofRequest; 17 | 18 | 19 | /** 20 | * Base class for all NamedCache Protocol Request messages. 21 | * 22 | * @author jh 2008.02.18 23 | */ 24 | class COH_EXPORT NamedCacheRequest 25 | : public abstract_spec > 27 | { 28 | // ----- constructors --------------------------------------------------- 29 | 30 | protected: 31 | /** 32 | * @internal 33 | */ 34 | NamedCacheRequest(); 35 | 36 | private: 37 | /** 38 | * Blocked copy constructor. 39 | */ 40 | NamedCacheRequest(const NamedCacheRequest&); 41 | }; 42 | 43 | COH_CLOSE_NAMESPACE6 44 | 45 | #endif // COH_NAMED_CACHE_REQUEST_HPP 46 | -------------------------------------------------------------------------------- /include/private/coherence/component/run/EventDeathException.hpp: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2000, 2020, Oracle and/or its affiliates. 3 | * 4 | * Licensed under the Universal Permissive License v 1.0 as shown at 5 | * http://oss.oracle.com/licenses/upl. 6 | */ 7 | #ifndef COH_EVENT_DEATH_EXCEPTION_HPP 8 | #define COH_EVENT_DEATH_EXCEPTION_HPP 9 | 10 | #include "coherence/lang.ns" 11 | 12 | COH_OPEN_NAMESPACE3(coherence,component,run) 13 | 14 | 15 | /** 16 | * The EventDeathException is used to prevent delivering an event to 17 | * registered listeners. 18 | * 19 | * @author nsa 01.17.08 20 | */ 21 | class COH_EXPORT EventDeathException 22 | : public throwable_spec > 24 | { 25 | friend class factory; 26 | 27 | // ----- constructors --------------------------------------------------- 28 | 29 | protected: 30 | /** 31 | * Create an EventDeathException. 32 | * 33 | * @param vsMsg the detail message 34 | * @param vCause the underlying cause of the exception 35 | */ 36 | EventDeathException(String::View vsMsg = String::null_string, 37 | Exception::View vCause = NULL); 38 | }; 39 | 40 | COH_CLOSE_NAMESPACE3 41 | 42 | #endif // COH_EVENT_DEATH_EXCEPTION_HPP 43 | -------------------------------------------------------------------------------- /include/private/coherence/dev/compiler/ParsePosition.hpp: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2000, 2020, Oracle and/or its affiliates. 3 | * 4 | * Licensed under the Universal Permissive License v 1.0 as shown at 5 | * http://oss.oracle.com/licenses/upl. 6 | */ 7 | #ifndef COH_PARSE_POSITION_HPP 8 | #define COH_PARSE_POSITION_HPP 9 | 10 | #include "coherence/lang.ns" 11 | 12 | COH_OPEN_NAMESPACE3(coherence,dev,compiler) 13 | 14 | 15 | /** 16 | * This interface tags an object as being a storable/restorable location 17 | * in a parsing/tokenizing process. 18 | * 19 | * @author tb 2007.12.13 20 | */ 21 | class COH_EXPORT ParsePosition 22 | : public interface_spec 23 | { 24 | }; 25 | 26 | COH_CLOSE_NAMESPACE3 27 | 28 | #endif // COH_PARSE_POSITION_HPP 29 | -------------------------------------------------------------------------------- /include/private/coherence/io/pof/reflect/internal/NameMangler.hpp: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2000, 2020, Oracle and/or its affiliates. 3 | * 4 | * Licensed under the Universal Permissive License v 1.0 as shown at 5 | * http://oss.oracle.com/licenses/upl. 6 | */ 7 | #ifndef COH_NAME_MANGLER_HPP 8 | #define COH_NAME_MANGLER_HPP 9 | 10 | #include "coherence/lang.ns" 11 | 12 | COH_OPEN_NAMESPACE5(coherence,io,pof,reflect,internal) 13 | 14 | /** 15 | * NameMangler implementations provide the ability to transform a 16 | * string to the string convention employed by the mangler implementation. 17 | * An example of this would be to convert a non-camel case string to a camel 18 | * case string. 19 | * 20 | * @author hr 2011.06.29 21 | * 22 | * @since 3.7.1 23 | */ 24 | class COH_EXPORT NameMangler 25 | : public interface_spec 26 | { 27 | public: 28 | /** 29 | * Convert the given string to a new string using a convention 30 | * determined by the implementer. 31 | * 32 | * @param vsName original string 33 | * 34 | * @return mangled string 35 | */ 36 | virtual String::View mangle(String::View vsName) const = 0; 37 | }; 38 | 39 | COH_CLOSE_NAMESPACE5 40 | 41 | #endif /* COH_NAME_MANGLER_HPP */ 42 | -------------------------------------------------------------------------------- /include/private/coherence/lang/Allocator.hpp: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2000, 2020, Oracle and/or its affiliates. 3 | * 4 | * Licensed under the Universal Permissive License v 1.0 as shown at 5 | * http://oss.oracle.com/licenses/upl. 6 | */ 7 | #ifndef COH_ALLOCATOR_HPP 8 | #define COH_ALLOCATOR_HPP 9 | 10 | #include "coherence/lang/compatibility.hpp" 11 | 12 | #include 13 | 14 | COH_OPEN_NAMESPACE2(coherence,lang) 15 | 16 | /** 17 | * Custom heap allocator. 18 | * 19 | * @author mf 2008.11.14 20 | */ 21 | class COH_EXPORT Allocator 22 | { 23 | public: 24 | /** 25 | * Allocate a block of heap memory. 26 | * 27 | * The memory will be zeroed out before returning 28 | * 29 | * @param cb the required block size. 30 | * 31 | * @return the block 32 | * 33 | * @throws OutOfMemoryError if the request cannot be satisified 34 | */ 35 | static void* allocate(size_t cb); 36 | 37 | /** 38 | * Release a block of heap memory. 39 | * 40 | * @param p the block to free. 41 | * 42 | * @throws IllegalStateException upon memory corruption detection 43 | */ 44 | static void release(void* ab); 45 | }; 46 | 47 | COH_CLOSE_NAMESPACE2 48 | 49 | #endif // COH_ALLOCATOR_HPP 50 | -------------------------------------------------------------------------------- /include/private/coherence/native/NativeABI.hpp: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2000, 2020, Oracle and/or its affiliates. 3 | * 4 | * Licensed under the Universal Permissive License v 1.0 as shown at 5 | * http://oss.oracle.com/licenses/upl. 6 | */ 7 | #ifndef COH_NATIVE_ABI_HPP 8 | #define COH_NATIVE_ABI_HPP 9 | 10 | #include "coherence/lang/compatibility.hpp" 11 | 12 | #include "coherence/lang/String.hpp" 13 | 14 | COH_OPEN_NAMESPACE2(coherence,native) 15 | 16 | using namespace coherence::lang; 17 | 18 | 19 | /** 20 | * NativeABI provides access to compiler specific ABI features such as name 21 | * demangling. 22 | * 23 | * @author mf 2008.03.31 24 | */ 25 | class COH_EXPORT NativeABI 26 | { 27 | // ----- NativeABI static interface ------------------------------------- 28 | 29 | public: 30 | /** 31 | * Demangle a mangled name. 32 | * 33 | * @param achMangled the mangled name 34 | * 35 | * @return a best approximation at the demangled name 36 | */ 37 | static String::View demangle(const char* achMangled); 38 | }; 39 | 40 | COH_CLOSE_NAMESPACE2 41 | 42 | #endif // COH_NATIVE_ABI_HPP 43 | -------------------------------------------------------------------------------- /include/private/coherence/native/NativeBacktrace.hpp: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2000, 2020, Oracle and/or its affiliates. 3 | * 4 | * Licensed under the Universal Permissive License v 1.0 as shown at 5 | * http://oss.oracle.com/licenses/upl. 6 | */ 7 | #ifndef COH_NATIVE_BACKTRACE_HPP 8 | #define COH_NATIVE_BACKTRACE_HPP 9 | 10 | #include "coherence/lang/compatibility.hpp" 11 | 12 | #include "coherence/lang/ObjectArray.hpp" 13 | 14 | COH_OPEN_NAMESPACE2(coherence,native) 15 | 16 | using coherence::lang::ObjectArray; 17 | 18 | 19 | /** 20 | * NativeBacktrace provides an interface for obtaining a stack trace for the 21 | * current thread. 22 | * 23 | * @author mf 2008.03.31 24 | */ 25 | class COH_EXPORT NativeBacktrace 26 | { 27 | // ----- NativeBacktrace static interface ------------------------------- 28 | 29 | public: 30 | /** 31 | * Return a stack trace for the calling thread. 32 | * 33 | * @param cTrim the number of frames to trim from the top of the stack 34 | * relative to this method 35 | * 36 | * @return an array of StackTraceElements describing the stack 37 | */ 38 | static ObjectArray::Handle getStackTrace(size32_t cTrim = 0); 39 | }; 40 | 41 | COH_CLOSE_NAMESPACE2 42 | 43 | #endif // COH_NATIVE_BACKTRACE_HPP 44 | -------------------------------------------------------------------------------- /include/private/coherence/native/NativeDynamicLibrary.hpp: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2000, 2020, Oracle and/or its affiliates. 3 | * 4 | * Licensed under the Universal Permissive License v 1.0 as shown at 5 | * http://oss.oracle.com/licenses/upl. 6 | */ 7 | #ifndef COH_NATIVE_DYNAMIC_LIBRARY_HPP 8 | #define COH_NATIVE_DYNAMIC_LIBRARY_HPP 9 | 10 | #include "coherence/lang/compatibility.hpp" 11 | 12 | #include "coherence/lang/String.hpp" 13 | 14 | COH_OPEN_NAMESPACE2(coherence,native) 15 | 16 | using namespace coherence::lang; 17 | 18 | /** 19 | * NativeDynamicLibrary provides platform specific implementation for loading 20 | * dynamic libraries. 21 | * 22 | * @author mf 2008.10.02 23 | */ 24 | class COH_EXPORT NativeDynamicLibrary 25 | { 26 | // ----- NativeDynamicLibrary static interface -------------------------- 27 | 28 | public: 29 | /** 30 | * Load the dynamic library 31 | * 32 | * @param vsLibName the name of the library to load 33 | */ 34 | static void load(String::View vsLibName); 35 | }; 36 | 37 | COH_CLOSE_NAMESPACE2 38 | 39 | #endif // COH_NATIVE_DYNAMIC_LIBRARY_HPP 40 | -------------------------------------------------------------------------------- /include/private/coherence/native/NativePID.hpp: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2000, 2020, Oracle and/or its affiliates. 3 | * 4 | * Licensed under the Universal Permissive License v 1.0 as shown at 5 | * http://oss.oracle.com/licenses/upl. 6 | */ 7 | #ifndef COH_NATIVE_PID_HPP 8 | #define COH_NATIVE_PID_HPP 9 | 10 | #include "coherence/lang/compatibility.hpp" 11 | 12 | 13 | 14 | COH_OPEN_NAMESPACE2(coherence,native) 15 | 16 | 17 | /** 18 | * NativePID provides a generic interface for obtaining the local process PID 19 | * 20 | * @author mf 2008.04.15 21 | */ 22 | class COH_EXPORT NativePID 23 | { 24 | // ----- NativePID interface -------------------------------------------- 25 | 26 | public: 27 | /** 28 | * Return the PID for the current process. 29 | * 30 | * @return the PID for the current process 31 | */ 32 | static int32_t getPID(); 33 | }; 34 | 35 | COH_CLOSE_NAMESPACE2 36 | 37 | #endif // COH_NATIVE_PID_HPP 38 | -------------------------------------------------------------------------------- /include/private/coherence/native/NativeUser.hpp: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2000, 2020, Oracle and/or its affiliates. 3 | * 4 | * Licensed under the Universal Permissive License v 1.0 as shown at 5 | * http://oss.oracle.com/licenses/upl. 6 | */ 7 | #ifndef COH_NATIVE_USER_HPP 8 | #define COH_NATIVE_USER_HPP 9 | 10 | #include "coherence/lang/compatibility.hpp" 11 | 12 | #include "coherence/lang/String.hpp" 13 | 14 | 15 | COH_OPEN_NAMESPACE2(coherence,native) 16 | 17 | 18 | /** 19 | * NativeUser provides a generic interface for obtaining the local process username 20 | * 21 | * @author mf 2015.07.14 22 | */ 23 | class COH_EXPORT NativeUser 24 | { 25 | // ----- NativeUser interface ------------------------------------------- 26 | 27 | public: 28 | /** 29 | * Return the username for the current process. 30 | * 31 | * @return the USER for the current process 32 | */ 33 | static String::View getUserName(); 34 | }; 35 | 36 | COH_CLOSE_NAMESPACE2 37 | 38 | #endif // COH_NATIVE_USER_HPP 39 | -------------------------------------------------------------------------------- /include/private/coherence/native/generic/GenericABI.hpp: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2000, 2020, Oracle and/or its affiliates. 3 | * 4 | * Licensed under the Universal Permissive License v 1.0 as shown at 5 | * http://oss.oracle.com/licenses/upl. 6 | */ 7 | #ifndef COH_GCC_ABI_HPP 8 | #define COH_GCC_ABI_HPP 9 | 10 | #include "coherence/lang/compatibility.hpp" 11 | 12 | #include "coherence/lang/String.hpp" 13 | 14 | #include "private/coherence/native/NativeABI.hpp" 15 | 16 | COH_OPEN_NAMESPACE2(coherence,native) 17 | 18 | 19 | // ----- NativeABI static interface ----------------------------------------- 20 | 21 | /** 22 | * {@inheritDoc} 23 | */ 24 | String::View NativeABI::demangle(const char* achMangled) 25 | { 26 | if (achMangled) 27 | { 28 | return achMangled; 29 | } 30 | return String::null_string; 31 | } 32 | 33 | COH_CLOSE_NAMESPACE2 34 | 35 | #endif // COH_GCC_ABI_HPP 36 | -------------------------------------------------------------------------------- /include/private/coherence/native/generic/GenericBacktrace.hpp: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2000, 2020, Oracle and/or its affiliates. 3 | * 4 | * Licensed under the Universal Permissive License v 1.0 as shown at 5 | * http://oss.oracle.com/licenses/upl. 6 | */ 7 | #ifndef COH_GENERIC_BACKTRACE_HPP 8 | #define COH_GENERIC_BACKTRACE_HPP 9 | 10 | #include "private/coherence/native/NativeBacktrace.hpp" 11 | 12 | COH_OPEN_NAMESPACE2(coherence,native) 13 | 14 | 15 | // ----- NativeBacktrace static interface ----------------------------------- 16 | 17 | ObjectArray::Handle NativeBacktrace::getStackTrace(size32_t /*cTrim*/) 18 | { 19 | return ObjectArray::create(0); // NULL has a different meaning in Thread::dumpStack 20 | } 21 | 22 | COH_CLOSE_NAMESPACE2 23 | 24 | #endif // COH_GENERIC_BACKTRACE_HPP 25 | -------------------------------------------------------------------------------- /include/private/coherence/native/generic/GenericThreadDumpHandler.hpp: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2000, 2020, Oracle and/or its affiliates. 3 | * 4 | * Licensed under the Universal Permissive License v 1.0 as shown at 5 | * http://oss.oracle.com/licenses/upl. 6 | */ 7 | #ifndef COH_GENERIC_THREAD_DUMP_HANDLER_HPP 8 | #define COH_GENERIC_THREAD_DUMP_HANDLER_HPP 9 | 10 | #include "coherence/lang.ns" 11 | 12 | #include "private/coherence/native/NativeThreadDumpHandler.hpp" 13 | 14 | COH_OPEN_NAMESPACE3(coherence,native,posix) 15 | 16 | void NativeThreadDumpHandler::enable(bool fEnabled) 17 | { 18 | } 19 | 20 | COH_CLOSE_NAMESPACE3 21 | 22 | #endif // COH_GENERIC_THREAD_DUMP_HANDLER_HPP 23 | -------------------------------------------------------------------------------- /include/private/coherence/native/generic/UnsafeAtomic64.hpp: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2000, 2020, Oracle and/or its affiliates. 3 | * 4 | * Licensed under the Universal Permissive License v 1.0 as shown at 5 | * http://oss.oracle.com/licenses/upl. 6 | */ 7 | #ifndef COH_UNSAFE_ATOMIC_WORD_HPP 8 | #define COH_UNSAFE_ATOMIC_WORD_HPP 9 | 10 | #include "coherence/lang.ns" 11 | 12 | #include "coherence/native/NativeAtomic64.hpp" 13 | 14 | COH_OPEN_NAMESPACE2(coherence,native) 15 | 16 | 17 | /** 18 | * An unsafe implemenation of NativeAtomic64. This implementation is largely 19 | * for testing purposes, though it would also be suitable for a 20 | * single-threaded build of the Coherence library. 21 | * 22 | * @author mf 2008.02.22 23 | */ 24 | 25 | 26 | // ----- NativeAtomic64 interface ------------------------------------------- 27 | 28 | int64_t NativeAtomic64::get() const 29 | { 30 | return m_lAtomic; 31 | } 32 | 33 | void NativeAtomic64::set(int64_t lValue) 34 | { 35 | m_lAtomic = lValue; 36 | } 37 | 38 | int64_t NativeAtomic64::update(int64_t lAssume, int64_t lValue) 39 | { 40 | int64_t lRetval = m_lAtomic; 41 | if (lRetval == lAssume) 42 | { 43 | m_lAtomic = lValue; 44 | } 45 | return lRetval; 46 | } 47 | 48 | COH_CLOSE_NAMESPACE2 49 | 50 | #endif // COH_UNSAFE_ATOMIC_WORD_HPP 51 | -------------------------------------------------------------------------------- /include/private/coherence/native/posix/PosixDynamicLibrary.hpp: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2000, 2020, Oracle and/or its affiliates. 3 | * 4 | * Licensed under the Universal Permissive License v 1.0 as shown at 5 | * http://oss.oracle.com/licenses/upl. 6 | */ 7 | #ifndef COH_POSIX_DYNAMIC_LIBRARY_HPP 8 | #define COH_POSIX_DYNAMIC_LIBRARY_HPP 9 | 10 | #include "private/coherence/native/NativeDynamicLibrary.hpp" 11 | 12 | #include "coherence/lang/IllegalArgumentException.hpp" 13 | 14 | #include 15 | 16 | COH_OPEN_NAMESPACE2(coherence,native) 17 | 18 | // ----- NativeDynamicLibrary static interface ------------------------------ 19 | 20 | void NativeDynamicLibrary::load(String::View vsLibName) 21 | { 22 | if (dlopen(vsLibName->getCString(), RTLD_NOW | RTLD_GLOBAL) == NULL) 23 | { 24 | COH_THROW_STREAM (IllegalArgumentException, 25 | "Error opening dynamic library \"" << vsLibName << "\" - " 26 | << dlerror()); 27 | } 28 | } 29 | 30 | COH_CLOSE_NAMESPACE2 31 | 32 | #endif // COH_POSIX_DYNAMIC_LIBRARY_HPP 33 | -------------------------------------------------------------------------------- /include/private/coherence/native/posix/PosixPID.hpp: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2000, 2020, Oracle and/or its affiliates. 3 | * 4 | * Licensed under the Universal Permissive License v 1.0 as shown at 5 | * http://oss.oracle.com/licenses/upl. 6 | */ 7 | #ifndef COH_POSIX_PID_HPP 8 | #define COH_POSIX_PID_HPP 9 | 10 | #include "coherence/lang/compatibility.hpp" 11 | 12 | #include "private/coherence/native/NativePID.hpp" 13 | 14 | #include 15 | 16 | COH_OPEN_NAMESPACE2(coherence,native) 17 | 18 | int32_t NativePID::getPID() 19 | { 20 | return getpid(); 21 | } 22 | 23 | COH_CLOSE_NAMESPACE2 24 | 25 | #endif // COH_POSIX_PID_HPP 26 | -------------------------------------------------------------------------------- /include/private/coherence/native/posix/PosixUser.hpp: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2000, 2020, Oracle and/or its affiliates. 3 | * 4 | * Licensed under the Universal Permissive License v 1.0 as shown at 5 | * http://oss.oracle.com/licenses/upl. 6 | */ 7 | #ifndef COH_POSIX_USER_HPP 8 | #define COH_POSIX_USER_HPP 9 | 10 | #include "coherence/lang/compatibility.hpp" 11 | 12 | #include "private/coherence/native/NativeUser.hpp" 13 | 14 | #include 15 | #include 16 | 17 | COH_OPEN_NAMESPACE2(coherence,native) 18 | 19 | String::View NativeUser::getUserName() 20 | { 21 | struct passwd pwent; 22 | struct passwd *pwentp; 23 | char buf[1024]; 24 | 25 | // COH-22221 - When the pointer returned by the reentrant function getpwuid_r(), 26 | // is non-null, it is always equal to the pwd pointer that was suppliedi 27 | // by the caller. 28 | if (getpwuid_r(getuid(), &pwent, buf, (int) sizeof(buf), &pwentp) != 0 || 29 | pwentp != &pwent) 30 | { 31 | return NULL; 32 | } 33 | else 34 | { 35 | return String::create(pwent.pw_name); 36 | } 37 | } 38 | 39 | COH_CLOSE_NAMESPACE2 40 | 41 | #endif // COH_POSIX_USER_HPP 42 | -------------------------------------------------------------------------------- /include/private/coherence/native/solaris/SolarisAtomic32.hpp: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2000, 2020, Oracle and/or its affiliates. 3 | * 4 | * Licensed under the Universal Permissive License v 1.0 as shown at 5 | * http://oss.oracle.com/licenses/upl. 6 | */ 7 | #ifndef COH_SOLARIS_ATOMIC32_HPP 8 | #define COH_SOLARIS_ATOMIC32_HPP 9 | 10 | #include "coherence/lang/compatibility.hpp" 11 | 12 | #include "coherence/native/NativeAtomic32.hpp" 13 | 14 | #include 15 | 16 | COH_OPEN_NAMESPACE2(coherence,native) 17 | 18 | // ----- NativeAtomic32 interface ------------------------------------------- 19 | 20 | int32_t NativeAtomic32::get() const 21 | { 22 | membar_consumer(); 23 | return m_nAtomic; 24 | } 25 | 26 | void NativeAtomic32::set(int32_t nValue) 27 | { 28 | m_nAtomic = nValue; 29 | membar_producer(); 30 | } 31 | 32 | int32_t NativeAtomic32::update(int32_t nAssume, int32_t nValue) 33 | { 34 | COH_ALIGN(4, uint32_t, nAssumeAligned) = (uint32_t) nAssume; 35 | COH_ALIGN(4, uint32_t, nValueAligned ) = (uint32_t) nValue; 36 | 37 | return atomic_cas_32((uint32_t*) &m_nAtomic, nAssumeAligned, nValueAligned); 38 | } 39 | 40 | COH_CLOSE_NAMESPACE2 41 | 42 | #endif // COH_SOLARIS_ATOMIC32_HPP 43 | -------------------------------------------------------------------------------- /include/private/coherence/native/solaris/SolarisAtomic64.hpp: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2000, 2020, Oracle and/or its affiliates. 3 | * 4 | * Licensed under the Universal Permissive License v 1.0 as shown at 5 | * http://oss.oracle.com/licenses/upl. 6 | */ 7 | #ifndef COH_SOLARIS_ATOMIC64_HPP 8 | #define COH_SOLARIS_ATOMIC64_HPP 9 | 10 | #include "coherence/lang/compatibility.hpp" 11 | 12 | #include "coherence/native/NativeAtomic64.hpp" 13 | 14 | #include 15 | 16 | COH_OPEN_NAMESPACE2(coherence,native) 17 | 18 | // ----- NativeAtomic64 interface ------------------------------------------- 19 | 20 | int64_t NativeAtomic64::get() const 21 | { 22 | membar_consumer(); 23 | return m_lAtomic; 24 | } 25 | 26 | void NativeAtomic64::set(int64_t lValue) 27 | { 28 | m_lAtomic = lValue; 29 | membar_producer(); 30 | } 31 | 32 | int64_t NativeAtomic64::update(int64_t lAssume, int64_t lValue) 33 | { 34 | COH_ALIGN(8, uint64_t, lAssumeAligned) = (uint64_t) lAssume; 35 | COH_ALIGN(8, uint64_t, lValueAligned ) = (uint64_t) lValue; 36 | 37 | return atomic_cas_64((uint64_t*) &m_lAtomic, lAssumeAligned, lValueAligned); 38 | } 39 | 40 | COH_CLOSE_NAMESPACE2 41 | 42 | #endif // COH_SOLARIS_ATOMIC64_HPP 43 | -------------------------------------------------------------------------------- /include/private/coherence/native/sunpro/SunProABI.hpp: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2000, 2020, Oracle and/or its affiliates. 3 | * 4 | * Licensed under the Universal Permissive License v 1.0 as shown at 5 | * http://oss.oracle.com/licenses/upl. 6 | */ 7 | #ifndef COH_SUNPRO_ABI_HPP 8 | #define COH_SUNPRO_ABI_HPP 9 | 10 | #include "coherence/lang/compatibility.hpp" 11 | 12 | #include "coherence/lang/String.hpp" 13 | 14 | #include "private/coherence/native/NativeABI.hpp" 15 | 16 | 17 | #include 18 | 19 | COH_OPEN_NAMESPACE2(coherence,native) 20 | 21 | 22 | // ----- NativeABI static interface ----------------------------------------- 23 | 24 | /** 25 | * {@inheritDoc} 26 | */ 27 | String::View NativeABI::demangle(const char* achMangled) 28 | { 29 | if (achMangled) 30 | { 31 | char achClear[256]; 32 | 33 | if (cplus_demangle(achMangled, achClear, 256)) 34 | { 35 | return achMangled; 36 | } 37 | return achClear; 38 | } 39 | return String::null_string; 40 | } 41 | 42 | COH_CLOSE_NAMESPACE2 43 | 44 | #endif // COH_SUNPRO_ABI_HPP 45 | -------------------------------------------------------------------------------- /include/private/coherence/native/windows/WindowsAtomic32.hpp: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2000, 2020, Oracle and/or its affiliates. 3 | * 4 | * Licensed under the Universal Permissive License v 1.0 as shown at 5 | * http://oss.oracle.com/licenses/upl. 6 | */ 7 | #ifndef COH_WINDOWS_ATOMIC32_HPP 8 | #define COH_WINDOWS_ATOMIC32_HPP 9 | 10 | #include "coherence/lang/compatibility.hpp" 11 | 12 | #include "coherence/native/NativeAtomic32.hpp" 13 | 14 | #include 15 | #include 16 | 17 | COH_OPEN_NAMESPACE2(coherence,native) 18 | 19 | // ----- NativeAtomic32 interface ------------------------------------------- 20 | 21 | int32_t NativeAtomic32::get() const 22 | { 23 | _ReadBarrier(); 24 | return m_nAtomic; 25 | } 26 | 27 | void NativeAtomic32::set(int32_t nValue) 28 | { 29 | m_nAtomic = nValue; 30 | _WriteBarrier(); 31 | } 32 | 33 | int32_t NativeAtomic32::update(int32_t nAssume, int32_t nValue) 34 | { 35 | COH_ALIGN(4, LONG, nAssumeAligned) = nAssume; 36 | COH_ALIGN(4, LONG, nValueAligned ) = nValue; 37 | 38 | return _InterlockedCompareExchange((LONG*) &m_nAtomic, nValueAligned, nAssumeAligned); 39 | } 40 | 41 | COH_CLOSE_NAMESPACE2 42 | 43 | #endif // COH_WINDOWS_ATOMIC32_HPP 44 | -------------------------------------------------------------------------------- /include/private/coherence/native/windows/WindowsAtomic64.hpp: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2000, 2020, Oracle and/or its affiliates. 3 | * 4 | * Licensed under the Universal Permissive License v 1.0 as shown at 5 | * http://oss.oracle.com/licenses/upl. 6 | */ 7 | #ifndef COH_WINDOWS_ATOMIC64_HPP 8 | #define COH_WINDOWS_ATOMIC64_HPP 9 | 10 | #include "coherence/lang/compatibility.hpp" 11 | 12 | #include "coherence/native/NativeAtomic64.hpp" 13 | 14 | #include 15 | #include 16 | 17 | COH_OPEN_NAMESPACE2(coherence,native) 18 | 19 | // ----- NativeAtomic64 interface ------------------------------------------- 20 | 21 | int64_t NativeAtomic64::get() const 22 | { 23 | _ReadBarrier(); 24 | return m_lAtomic; 25 | } 26 | 27 | void NativeAtomic64::set(int64_t lValue) 28 | { 29 | m_lAtomic = lValue; 30 | _WriteBarrier(); 31 | } 32 | 33 | int64_t NativeAtomic64::update(int64_t lAssume, int64_t lValue) 34 | { 35 | COH_ALIGN(8, LONGLONG, lAssumeAligned) = lAssume; 36 | COH_ALIGN(8, LONGLONG, lValueAligned ) = lValue; 37 | 38 | return _InterlockedCompareExchange64((LONGLONG*) &m_lAtomic, lValueAligned, lAssumeAligned); 39 | } 40 | 41 | COH_CLOSE_NAMESPACE2 42 | 43 | #endif // COH_WINDOWS_ATOMIC64_HPP 44 | -------------------------------------------------------------------------------- /include/private/coherence/native/windows/WindowsDynamicLibrary.hpp: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2000, 2020, Oracle and/or its affiliates. 3 | * 4 | * Licensed under the Universal Permissive License v 1.0 as shown at 5 | * http://oss.oracle.com/licenses/upl. 6 | */ 7 | #ifndef COH_WINDOWS_DYNAMIC_LIBRARY_HPP 8 | #define COH_WINDOWS_DYNAMIC_LIBRARY_HPP 9 | 10 | #include "private/coherence/native/NativeDynamicLibrary.hpp" 11 | 12 | #include "coherence/lang/IllegalArgumentException.hpp" 13 | 14 | #include 15 | 16 | COH_OPEN_NAMESPACE2(coherence,native) 17 | 18 | // ----- NativeDynamicLibrary static interface ------------------------------ 19 | 20 | void NativeDynamicLibrary::load(String::View vsLibName) 21 | { 22 | if (LoadLibrary(vsLibName->getCString()) == NULL) 23 | { 24 | COH_THROW_STREAM (IllegalArgumentException, 25 | "Error opening dynamic library \"" << vsLibName << "\" - " 26 | << GetLastError()); 27 | } 28 | } 29 | 30 | COH_CLOSE_NAMESPACE2 31 | 32 | #endif // COH_WINDOWS_DYNAMIC_LIBRARY_HPP 33 | -------------------------------------------------------------------------------- /include/private/coherence/native/windows/WindowsPID.hpp: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2000, 2020, Oracle and/or its affiliates. 3 | * 4 | * Licensed under the Universal Permissive License v 1.0 as shown at 5 | * http://oss.oracle.com/licenses/upl. 6 | */ 7 | #ifndef COH_WINDOWS_PID_HPP 8 | #define COH_WINDOWS_PID_HPP 9 | 10 | #include "coherence/lang/compatibility.hpp" 11 | 12 | #include "private/coherence/native/NativePID.hpp" 13 | 14 | #include 15 | 16 | COH_OPEN_NAMESPACE2(coherence,native) 17 | 18 | int32_t NativePID::getPID() 19 | { 20 | return _getpid(); 21 | } 22 | 23 | COH_CLOSE_NAMESPACE2 24 | 25 | #endif // COH_WINDOWS_PID_HPP 26 | -------------------------------------------------------------------------------- /include/private/coherence/native/windows/WindowsUser.hpp: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2000, 2020, Oracle and/or its affiliates. 3 | * 4 | * Licensed under the Universal Permissive License v 1.0 as shown at 5 | * http://oss.oracle.com/licenses/upl. 6 | */ 7 | #ifndef COH_WINDOWS_USER_HPP 8 | #define COH_WINDOWS_USER_HPP 9 | 10 | #include "coherence/lang/compatibility.hpp" 11 | 12 | #include "private/coherence/native/NativeUser.hpp" 13 | 14 | #include 15 | 16 | COH_OPEN_NAMESPACE2(coherence,native) 17 | 18 | String::View NativeUser::getUserName() 19 | { 20 | DWORD cb = UNLEN + 1; 21 | wchar_t ach[UNLEN + 1]; 22 | 23 | if (GetUserNameW(ach, &cb)) 24 | { 25 | return String::create(ach); 26 | } 27 | 28 | return NULL; 29 | } 30 | 31 | COH_CLOSE_NAMESPACE2 32 | 33 | #endif // COH_WINDOWS_USER_HPP 34 | -------------------------------------------------------------------------------- /include/private/coherence/net/Console.hpp: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2000, 2020, Oracle and/or its affiliates. 3 | * 4 | * Licensed under the Universal Permissive License v 1.0 as shown at 5 | * http://oss.oracle.com/licenses/upl. 6 | */ 7 | #ifndef COH_CONSOLE_HPP 8 | #define COH_CONSOLE_HPP 9 | 10 | #include "coherence/lang.ns" 11 | 12 | COH_OPEN_NAMESPACE2(coherence,net) 13 | 14 | /** 15 | * Coherence command line console. 16 | * 17 | * Note this class is not registered as an ExecutableClass, it is accessed via 18 | * the CacheFactory. 19 | * 20 | * @author mf 2008.10.09 21 | */ 22 | class Console 23 | { 24 | private: 25 | /** 26 | * Blocked constructor. 27 | */ 28 | Console(); 29 | 30 | public: 31 | /** 32 | * Invoke the Coherence C++ command line tool. 33 | */ 34 | static void main(ObjectArray::View vasArg); 35 | }; 36 | 37 | COH_CLOSE_NAMESPACE2 38 | 39 | #endif // COH_CONSOLE_HPP 40 | -------------------------------------------------------------------------------- /include/private/coherence/net/URISyntaxException.hpp: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2000, 2020, Oracle and/or its affiliates. 3 | * 4 | * Licensed under the Universal Permissive License v 1.0 as shown at 5 | * http://oss.oracle.com/licenses/upl. 6 | */ 7 | #ifndef COH_URI_SYNTAX_EXCEPTION_HPP 8 | #define COH_URI_SYNTAX_EXCEPTION_HPP 9 | 10 | #include "coherence/lang.ns" 11 | 12 | COH_OPEN_NAMESPACE2(coherence,net) 13 | 14 | 15 | /** 16 | * Checked exception thrown to indicate that a string could not be parsed as a 17 | * URI reference. 18 | * 19 | * @author jh 2008.02.11 20 | */ 21 | class COH_EXPORT URISyntaxException 22 | : public throwable_spec > 24 | { 25 | friend class factory; 26 | 27 | // ----- constructors --------------------------------------------------- 28 | 29 | protected: 30 | /** 31 | * Create a URISyntaxException. 32 | * 33 | * @param vsMsg the detail message 34 | * @param vCause the underlying cause of the exception 35 | * 36 | * @return a new URISyntaxException 37 | */ 38 | URISyntaxException(String::View vsMsg = String::null_string, 39 | Exception::View vCause = NULL); 40 | }; 41 | 42 | COH_CLOSE_NAMESPACE2 43 | 44 | #endif // COH_URI_SYNTAX_EXCEPTION_HPP 45 | -------------------------------------------------------------------------------- /include/private/coherence/net/cache/NullKeyAssociation.hpp: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2000, 2020, Oracle and/or its affiliates. 3 | * 4 | * Licensed under the Universal Permissive License v 1.0 as shown at 5 | * http://oss.oracle.com/licenses/upl. 6 | */ 7 | #ifndef COH_NULL_KEY_ASSOCIATION_HPP 8 | #define COH_NULL_KEY_ASSOCIATION_HPP 9 | 10 | #include "coherence/lang.ns" 11 | 12 | #include "coherence/net/cache/KeyAssociation.hpp" 13 | 14 | COH_OPEN_NAMESPACE3(coherence,net,cache) 15 | 16 | 17 | /** 18 | * A dummy KeyAssociation implementation, required by the linker in order to 19 | * export interface symbols. 20 | * 21 | * @author gm 2009.03.17 22 | */ 23 | class COH_EXPORT NullKeyAssociation 24 | : public class_spec, 26 | implements > 27 | { 28 | // ----- KeyAssociation interface --------------------------------------- 29 | 30 | public: 31 | /** 32 | * {@inheritDoc} 33 | */ 34 | virtual Object::View getAssociatedKey() const; 35 | }; 36 | 37 | COH_CLOSE_NAMESPACE3 38 | 39 | #endif // COH_NULL_KEY_ASSOCIATION_HPP 40 | -------------------------------------------------------------------------------- /include/private/coherence/run/xml/XmlDocument.hpp: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2000, 2020, Oracle and/or its affiliates. 3 | * 4 | * Licensed under the Universal Permissive License v 1.0 as shown at 5 | * http://oss.oracle.com/licenses/upl. 6 | */ 7 | #ifndef COH_XML_DOCUMENT_HPP 8 | #define COH_XML_DOCUMENT_HPP 9 | 10 | #include "coherence/lang.ns" 11 | 12 | #include "coherence/run/xml/XmlElement.hpp" 13 | 14 | COH_OPEN_NAMESPACE3(coherence,run,xml) 15 | 16 | 17 | /** 18 | * An interface for XML document access. The XmlDocument interface represents 19 | * the document as both the root element (through the underlying XmlElement 20 | * interface) and the properties specific to a document, such as DOCTYPE. 21 | */ 22 | class COH_EXPORT XmlDocument 23 | : public interface_spec > 25 | { 26 | // ----- XmlDocument interface ------------------------------------------ 27 | }; 28 | 29 | COH_CLOSE_NAMESPACE3 30 | 31 | #endif // COH_XML_DOCUMENT_HPP 32 | -------------------------------------------------------------------------------- /include/public/coherence/io/EOFException.hpp: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2000, 2020, Oracle and/or its affiliates. 3 | * 4 | * Licensed under the Universal Permissive License v 1.0 as shown at 5 | * http://oss.oracle.com/licenses/upl. 6 | */ 7 | #ifndef COH_EOF_EXCEPTION_HPP 8 | #define COH_EOF_EXCEPTION_HPP 9 | 10 | #include "coherence/lang.ns" 11 | 12 | #include "coherence/io/IOException.hpp" 13 | 14 | COH_OPEN_NAMESPACE2(coherence,io) 15 | 16 | 17 | /** 18 | * Signals that an end of file or stream has been reached unexpectedly during 19 | * input. 20 | * 21 | * @author jh 2007.12.30 22 | */ 23 | class COH_EXPORT EOFException 24 | : public throwable_spec > 26 | { 27 | friend class factory; 28 | 29 | // ----- constructors --------------------------------------------------- 30 | 31 | protected: 32 | /** 33 | * Create an EOFException. 34 | * 35 | * @param vsMsg the detail message 36 | * @param vCause the underlying cause of the exception 37 | * 38 | * @return a new EOFException 39 | */ 40 | EOFException(String::View vsMsg = String::null_string, 41 | Exception::View vCause = NULL); 42 | }; 43 | 44 | COH_CLOSE_NAMESPACE2 45 | 46 | #endif // COH_EOF_EXCEPTION_HPP 47 | -------------------------------------------------------------------------------- /include/public/coherence/io/SerializerFactory.hpp: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2000, 2020, Oracle and/or its affiliates. 3 | * 4 | * Licensed under the Universal Permissive License v 1.0 as shown at 5 | * http://oss.oracle.com/licenses/upl. 6 | */ 7 | #ifndef COH_SERIALIZER_FACTORY_HPP 8 | #define COH_SERIALIZER_FACTORY_HPP 9 | 10 | #include "coherence/lang.ns" 11 | 12 | #include "coherence/io/Serializer.hpp" 13 | 14 | COH_OPEN_NAMESPACE2(coherence,io) 15 | 16 | 17 | /** 18 | * A factory for Serializer objects. 19 | * 20 | * @author wl 2011.11.07 21 | * 22 | * @since Coherence 12.1.2 23 | */ 24 | class COH_EXPORT SerializerFactory 25 | : public interface_spec 26 | { 27 | // ----- SerializerFactory interface ------------------------------------ 28 | 29 | public: 30 | /** 31 | * Create a new Serializer. 32 | * 33 | * @param vLoader the optional ClassLoader with which to configure the 34 | * new Serializer. 35 | * 36 | * @return the new Serializer 37 | */ 38 | virtual Serializer::View createSerializer(ClassLoader::View vLoader) const = 0; 39 | }; 40 | 41 | COH_CLOSE_NAMESPACE2 42 | 43 | #endif // COH_SERIALIZER_FACTORY_HPP 44 | -------------------------------------------------------------------------------- /include/public/coherence/io/namespace.hpp: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2000, 2020, Oracle and/or its affiliates. 3 | * 4 | * Licensed under the Universal Permissive License v 1.0 as shown at 5 | * http://oss.oracle.com/licenses/upl. 6 | */ 7 | /** 8 | * @namespace coherence::io 9 | * Provides for system input and output through serialization and 10 | * deserialization. 11 | */ 12 | -------------------------------------------------------------------------------- /include/public/coherence/io/pof/PofIntrinsic.hpp: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2000, 2020, Oracle and/or its affiliates. 3 | * 4 | * Licensed under the Universal Permissive License v 1.0 as shown at 5 | * http://oss.oracle.com/licenses/upl. 6 | */ 7 | #ifndef COH_POF_INTRINSIC_HPP 8 | #define COH_POF_INTRINSIC_HPP 9 | 10 | #include "coherence/lang.ns" 11 | 12 | 13 | COH_OPEN_NAMESPACE3(coherence,io,pof) 14 | 15 | 16 | /** 17 | * PofIntrinsic is a marker interface for built-in POF types. 18 | * 19 | * @author mf 2013.03.27 20 | */ 21 | class COH_EXPORT PofIntrinsic 22 | : public interface_spec 23 | { 24 | }; 25 | 26 | COH_CLOSE_NAMESPACE3 27 | 28 | #endif // COH_POF_INTRINSIC 29 | -------------------------------------------------------------------------------- /include/public/coherence/io/pof/annotation/namespace.hpp: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2000, 2020, Oracle and/or its affiliates. 3 | * 4 | * Licensed under the Universal Permissive License v 1.0 as shown at 5 | * http://oss.oracle.com/licenses/upl. 6 | */ 7 | /** 8 | * @namespace coherence::io::pof::annotation 9 | * Contains classes related to annotation for POF serialization and deserialization. 10 | */ 11 | -------------------------------------------------------------------------------- /include/public/coherence/io/pof/namespace.hpp: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2000, 2020, Oracle and/or its affiliates. 3 | * 4 | * Licensed under the Universal Permissive License v 1.0 as shown at 5 | * http://oss.oracle.com/licenses/upl. 6 | */ 7 | /** 8 | * @namespace coherence::io::pof 9 | * Contains classes related to POF serialization and deserialization. 10 | */ 11 | -------------------------------------------------------------------------------- /include/public/coherence/io/pof/reflect/PofValue.hpp: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2000, 2020, Oracle and/or its affiliates. 3 | * 4 | * Licensed under the Universal Permissive License v 1.0 as shown at 5 | * http://oss.oracle.com/licenses/upl. 6 | */ 7 | #ifndef COH_POF_VALUE_HPP 8 | #define COH_POF_VALUE_HPP 9 | 10 | #include "coherence/lang.ns" 11 | 12 | COH_OPEN_NAMESPACE4(coherence,io,pof,reflect) 13 | 14 | 15 | /** 16 | * PofValue represents the POF data structure in a POF stream, or any 17 | * sub-structure or value thereof. 18 | * 19 | * In C++ PofValue is simply a place-holder interface, see the corresponding 20 | * Java PofValue interface for details. 21 | * 22 | * @author as/gm 2009.04.01 23 | * @since Coherence 3.5 24 | */ 25 | class COH_EXPORT PofValue 26 | : public interface_spec 27 | { 28 | }; 29 | 30 | COH_CLOSE_NAMESPACE4 31 | 32 | #endif // COH_POF_VALUE_HPP 33 | -------------------------------------------------------------------------------- /include/public/coherence/io/pof/reflect/namespace.hpp: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2000, 2020, Oracle and/or its affiliates. 3 | * 4 | * Licensed under the Universal Permissive License v 1.0 as shown at 5 | * http://oss.oracle.com/licenses/upl. 6 | */ 7 | /** 8 | * @namespace coherence::io::pof::reflect 9 | * Contains classes related to reflection for POF serialization and deserialization. 10 | */ 11 | -------------------------------------------------------------------------------- /include/public/coherence/lang/Annotation.hpp: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2000, 2020, Oracle and/or its affiliates. 3 | * 4 | * Licensed under the Universal Permissive License v 1.0 as shown at 5 | * http://oss.oracle.com/licenses/upl. 6 | */ 7 | #ifndef COH_ANNOTATION_HPP 8 | #define COH_ANNOTATION_HPP 9 | 10 | #include "coherence/lang/compatibility.hpp" 11 | 12 | #include "coherence/lang/interface_spec.hpp" 13 | 14 | 15 | 16 | COH_OPEN_NAMESPACE2(coherence, lang) 17 | 18 | // ----- forward declarations ----------------------------------------------- 19 | 20 | class Class; 21 | 22 | /** 23 | * Annotation is the common interface extended by all annotation types. 24 | * 25 | * @author mf 2011.03.01 26 | * 27 | * @Since Coherence 3.7.1 28 | */ 29 | class COH_EXPORT Annotation 30 | : public interface_spec 31 | { 32 | // ----- Annotation interface ------------------------------------------- 33 | 34 | public: 35 | /** 36 | * Return the annotation type of this annotation. 37 | */ 38 | virtual TypedHandle annotationType() const = 0; 39 | }; 40 | 41 | COH_CLOSE_NAMESPACE2 42 | 43 | #endif // COH_ANNOTATION_HPP 44 | -------------------------------------------------------------------------------- /include/public/coherence/lang/ObjectArray.hpp: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2000, 2020, Oracle and/or its affiliates. 3 | * 4 | * Licensed under the Universal Permissive License v 1.0 as shown at 5 | * http://oss.oracle.com/licenses/upl. 6 | */ 7 | #ifndef COH_OBJECT_ARRAY_HPP 8 | #define COH_OBJECT_ARRAY_HPP 9 | 10 | #include "coherence/lang/compatibility.hpp" 11 | 12 | #include "coherence/lang/Array.hpp" 13 | #include "coherence/lang/MemberHolder.hpp" 14 | #include "coherence/lang/Object.hpp" 15 | #include "coherence/lang/SubscriptHandle.hpp" 16 | 17 | 18 | 19 | COH_OPEN_NAMESPACE2(coherence,lang) 20 | 21 | 22 | /** 23 | * An array of Objects, referenced as either Handles or Views. 24 | * 25 | * This is a typedef of Array and as such assignments to the 26 | * array elements are thread-safe. 27 | * 28 | * @see Array 29 | * 30 | * @author mf 2008.01.11 31 | */ 32 | typedef Array > ObjectArray; 33 | 34 | COH_CLOSE_NAMESPACE2 35 | 36 | #endif // COH_OBJECT_ARRAY_HPP 37 | -------------------------------------------------------------------------------- /include/public/coherence/lang/Runnable.hpp: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2000, 2020, Oracle and/or its affiliates. 3 | * 4 | * Licensed under the Universal Permissive License v 1.0 as shown at 5 | * http://oss.oracle.com/licenses/upl. 6 | */ 7 | #ifndef COH_RUNNABLE_HPP 8 | #define COH_RUNNABLE_HPP 9 | 10 | #include "coherence/lang/compatibility.hpp" 11 | 12 | #include "coherence/lang/interface_spec.hpp" 13 | #include "coherence/lang/TypedHandle.hpp" 14 | 15 | COH_OPEN_NAMESPACE2(coherence,lang) 16 | 17 | 18 | /** 19 | * Interface implemented by any class whose instances are intended to be 20 | * executed by a thread. 21 | * 22 | * @author mf 2007.12.10 23 | */ 24 | class COH_EXPORT Runnable 25 | : public interface_spec 26 | { 27 | // ----- Runnable interface --------------------------------------------- 28 | 29 | public: 30 | /** 31 | * Invoke the Runnable. 32 | */ 33 | virtual void run() = 0; 34 | }; 35 | 36 | COH_CLOSE_NAMESPACE2 37 | 38 | #endif // COH_RUNNABLE_HPP 39 | -------------------------------------------------------------------------------- /include/public/coherence/lang/SecurityException.hpp: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2000, 2020, Oracle and/or its affiliates. 3 | * 4 | * Licensed under the Universal Permissive License v 1.0 as shown at 5 | * http://oss.oracle.com/licenses/upl. 6 | */ 7 | #ifndef COH_SECURITY_EXCEPTION_HPP 8 | #define COH_SECURITY_EXCEPTION_HPP 9 | 10 | #include "coherence/lang/compatibility.hpp" 11 | 12 | #include "coherence/lang/RuntimeException.hpp" 13 | #include "coherence/lang/String.hpp" 14 | 15 | COH_OPEN_NAMESPACE2(coherence,lang) 16 | 17 | 18 | /** 19 | * Thrown to indicate a security violation. 20 | */ 21 | class COH_EXPORT SecurityException 22 | : public throwable_spec > 24 | { 25 | friend class factory; 26 | 27 | // ----- constructors --------------------------------------------------- 28 | 29 | protected: 30 | /** 31 | * Create a SecurityException. 32 | * 33 | * @param vsMsg the detail message 34 | * @param vCause the underlying cause of the exception 35 | */ 36 | SecurityException(String::View vsMsg = String::null_string, 37 | Exception::View vCause = NULL); 38 | }; 39 | 40 | COH_CLOSE_NAMESPACE2 41 | 42 | #endif // COH_SECURITY_EXCEPTION_HPP 43 | -------------------------------------------------------------------------------- /include/public/coherence/lang/annotation/AbstractAnnotation.hpp: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2000, 2020, Oracle and/or its affiliates. 3 | * 4 | * Licensed under the Universal Permissive License v 1.0 as shown at 5 | * http://oss.oracle.com/licenses/upl. 6 | */ 7 | #ifndef COH_ABSTRACT_ANNOTATION_HPP 8 | #define COH_ABSTRACT_ANNOTATION_HPP 9 | 10 | #include "coherence/lang/compatibility.hpp" 11 | 12 | #include "coherence/lang/Annotation.hpp" 13 | #include "coherence/lang/Class.hpp" 14 | 15 | 16 | COH_OPEN_NAMESPACE3(coherence,lang,annotation) 17 | 18 | /** 19 | * AbstractAnnotation provides a common base class for Annotations. 20 | * 21 | * @author mf 2011.03.03 22 | * 23 | * @since Coherence 3.7.1 24 | */ 25 | class COH_EXPORT AbstractAnnotation 26 | : public abstract_spec, 28 | implements > 29 | { 30 | // ----- Annotation interface ------------------------------------------- 31 | 32 | public: 33 | /** 34 | * {@inheritDoc} 35 | */ 36 | virtual Class::View annotationType() const; 37 | }; 38 | 39 | COH_CLOSE_NAMESPACE3 40 | 41 | #endif // COH_ABSTRACT_ANNOTATION_HPP 42 | -------------------------------------------------------------------------------- /include/public/coherence/lang/namespace.hpp: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2000, 2020, Oracle and/or its affiliates. 3 | * 4 | * Licensed under the Universal Permissive License v 1.0 as shown at 5 | * http://oss.oracle.com/licenses/upl. 6 | */ 7 | /** 8 | * @namespace coherence::lang 9 | * Provides classes that are fundamental to building applications based on the 10 | * Coherence for C++ managed object model. 11 | */ 12 | -------------------------------------------------------------------------------- /include/public/coherence/namespace.hpp: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2000, 2020, Oracle and/or its affiliates. 3 | * 4 | * Licensed under the Universal Permissive License v 1.0 as shown at 5 | * http://oss.oracle.com/licenses/upl. 6 | */ 7 | /** 8 | * @namespace coherence 9 | * Root namespace of the Coherence C++ API. 10 | */ 11 | -------------------------------------------------------------------------------- /include/public/coherence/native/namespace.hpp: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2000, 2020, Oracle and/or its affiliates. 3 | * 4 | * Licensed under the Universal Permissive License v 1.0 as shown at 5 | * http://oss.oracle.com/licenses/upl. 6 | */ 7 | /** 8 | * @cond EXCLUDE 9 | * 10 | * @namespace coherence::native 11 | * Native abstraction layer. 12 | * @endcond 13 | */ 14 | -------------------------------------------------------------------------------- /include/public/coherence/net/AddressProviderFactory.hpp: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2000, 2020, Oracle and/or its affiliates. 3 | * 4 | * Licensed under the Universal Permissive License v 1.0 as shown at 5 | * http://oss.oracle.com/licenses/upl. 6 | */ 7 | #ifndef COH_ADDRESS_PROVIDER_FACTORY_HPP 8 | #define COH_ADDRESS_PROVIDER_FACTORY_HPP 9 | 10 | #include "coherence/lang.ns" 11 | 12 | #include "coherence/net/AddressProvider.hpp" 13 | 14 | COH_OPEN_NAMESPACE2(coherence,net) 15 | 16 | /** 17 | * A factory for AddressProvider objects. 18 | * 19 | * @author wl 2012.04.04 20 | * @since Coherence 12.1.2 21 | */ 22 | class COH_EXPORT AddressProviderFactory 23 | : public interface_spec 24 | { 25 | public: 26 | /** 27 | * Create a new AddressProvider. 28 | * 29 | * @param vLoader the optional ClassLoader with which to configure the 30 | * new AddressProvider. 31 | * @return an instance of the corresponding AddressProvider 32 | * implementation. 33 | * 34 | */ 35 | virtual AddressProvider::Handle createAddressProvider(ClassLoader::View vLoader = NULL) = 0; 36 | }; 37 | 38 | COH_CLOSE_NAMESPACE2 39 | 40 | #endif // COH_ADDRESS_PROVIDER_FACTORY_HPP 41 | -------------------------------------------------------------------------------- /include/public/coherence/net/SocketAddress.hpp: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2000, 2020, Oracle and/or its affiliates. 3 | * 4 | * Licensed under the Universal Permissive License v 1.0 as shown at 5 | * http://oss.oracle.com/licenses/upl. 6 | */ 7 | #ifndef COH_SOCKET_ADDRESS_HPP 8 | #define COH_SOCKET_ADDRESS_HPP 9 | 10 | #include "coherence/lang.ns" 11 | 12 | 13 | 14 | COH_OPEN_NAMESPACE2(coherence,net) 15 | 16 | 17 | /** 18 | * SocketAddress interface. 19 | * 20 | * @author mf 2008.03.21 21 | */ 22 | class COH_EXPORT SocketAddress 23 | : public interface_spec 24 | { 25 | // ----- SocketAddress interface ---------------------------------------- 26 | 27 | public: 28 | /** 29 | * Identify if the SocketAddress has been resolved. 30 | */ 31 | virtual bool isUnresolved() const = 0; 32 | 33 | /** 34 | * Resolve the SocketAddress. 35 | * 36 | * If the address was already in a resolved state the returned address 37 | * may be the original address. 38 | * 39 | * @return a resolved SocketAddress 40 | * 41 | * @throws IOException upon resolution failure. 42 | */ 43 | virtual SocketAddress::View resolve() const = 0; 44 | }; 45 | 46 | COH_CLOSE_NAMESPACE2 47 | 48 | #endif // COH_SOCKET_ADDRESS_HPP 49 | -------------------------------------------------------------------------------- /include/public/coherence/net/cache/AbstractCacheLoader.hpp: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2000, 2020, Oracle and/or its affiliates. 3 | * 4 | * Licensed under the Universal Permissive License v 1.0 as shown at 5 | * http://oss.oracle.com/licenses/upl. 6 | */ 7 | #ifndef COH_ABSTRACT_CACHE_LOADER_HPP 8 | #define COH_ABSTRACT_CACHE_LOADER_HPP 9 | 10 | #include "coherence/lang.ns" 11 | 12 | #include "coherence/net/cache/CacheLoader.hpp" 13 | #include "coherence/util/Collection.hpp" 14 | #include "coherence/util/Map.hpp" 15 | 16 | COH_OPEN_NAMESPACE3(coherence,net,cache) 17 | 18 | using coherence::util::Collection; 19 | using coherence::util::Map; 20 | 21 | 22 | /** 23 | * An abstract base class for CacheLoader implementations. 24 | * 25 | * @author jh 2008.03.12 26 | */ 27 | class COH_EXPORT AbstractCacheLoader 28 | : public abstract_spec, 30 | implements > 31 | { 32 | // ----- CacheLoader interface ------------------------------------------ 33 | 34 | public: 35 | /** 36 | * {@inheritDoc} 37 | */ 38 | virtual Map::View loadAll(Collection::View vColKeys); 39 | }; 40 | 41 | COH_CLOSE_NAMESPACE3 42 | 43 | #endif // COH_ABSTRACT_CACHE_LOADER_HPP 44 | -------------------------------------------------------------------------------- /include/public/coherence/net/cache/namespace.hpp: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2000, 2020, Oracle and/or its affiliates. 3 | * 4 | * Licensed under the Universal Permissive License v 1.0 as shown at 5 | * http://oss.oracle.com/licenses/upl. 6 | */ 7 | /** 8 | * @namespace coherence::net::cache 9 | * Contains classes and interface that provide various caching functionality. 10 | */ 11 | -------------------------------------------------------------------------------- /include/public/coherence/net/messaging/namespace.hpp: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2000, 2020, Oracle and/or its affiliates. 3 | * 4 | * Licensed under the Universal Permissive License v 1.0 as shown at 5 | * http://oss.oracle.com/licenses/upl. 6 | */ 7 | /** 8 | * @namespace coherence::net::messaging 9 | * Contains basic client-side messaging cluster interfaces and factories. 10 | */ 11 | -------------------------------------------------------------------------------- /include/public/coherence/net/namespace.hpp: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2000, 2020, Oracle and/or its affiliates. 3 | * 4 | * Licensed under the Universal Permissive License v 1.0 as shown at 5 | * http://oss.oracle.com/licenses/upl. 6 | */ 7 | /** 8 | * @namespace coherence::net 9 | * Contains basic client-side cluster interfaces and factories. 10 | */ 11 | -------------------------------------------------------------------------------- /include/public/coherence/net/partition/namespace.hpp: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2000, 2020, Oracle and/or its affiliates. 3 | * 4 | * Licensed under the Universal Permissive License v 1.0 as shown at 5 | * http://oss.oracle.com/licenses/upl. 6 | */ 7 | /** 8 | * @namespace coherence::net::partition 9 | * Contains basic client-side cluster partition classes. 10 | */ 11 | -------------------------------------------------------------------------------- /include/public/coherence/run/namespace.hpp: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2000, 2020, Oracle and/or its affiliates. 3 | * 4 | * Licensed under the Universal Permissive License v 1.0 as shown at 5 | * http://oss.oracle.com/licenses/upl. 6 | */ 7 | /** 8 | * @namespace coherence::run 9 | * Root namespace for all runtime support classes. 10 | */ 11 | -------------------------------------------------------------------------------- /include/public/coherence/run/xml/namespace.hpp: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2000, 2020, Oracle and/or its affiliates. 3 | * 4 | * Licensed under the Universal Permissive License v 1.0 as shown at 5 | * http://oss.oracle.com/licenses/upl. 6 | */ 7 | /** 8 | * @namespace coherence::run::xml 9 | * Contains classes providing basic XML related functionality. 10 | */ 11 | -------------------------------------------------------------------------------- /include/public/coherence/security/Principal.hpp: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2000, 2020, Oracle and/or its affiliates. 3 | * 4 | * Licensed under the Universal Permissive License v 1.0 as shown at 5 | * http://oss.oracle.com/licenses/upl. 6 | */ 7 | #ifndef COH_PRINCIPAL_HPP 8 | #define COH_PRINCIPAL_HPP 9 | 10 | #include "coherence/lang.ns" 11 | 12 | COH_OPEN_NAMESPACE2(coherence,security) 13 | 14 | /** 15 | * A Principal represents a portion of an overall identity, such as a person, 16 | * or group. 17 | * 18 | * @see Subject 19 | * 20 | * @author mf 2008.08.22 21 | */ 22 | class Principal 23 | : public interface_spec 24 | { 25 | // ----- Principal interface -------------------------------------------- 26 | 27 | public: 28 | /** 29 | * Return the name of this principal. 30 | * 31 | * @return the name of this principal 32 | */ 33 | virtual String::View getName() const = 0; 34 | }; 35 | 36 | COH_CLOSE_NAMESPACE2 37 | 38 | #endif // COH_PRINCIPAL_HPP 39 | -------------------------------------------------------------------------------- /include/public/coherence/security/auth/Subject.hpp: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2000, 2020, Oracle and/or its affiliates. 3 | * 4 | * Licensed under the Universal Permissive License v 1.0 as shown at 5 | * http://oss.oracle.com/licenses/upl. 6 | */ 7 | #ifndef COH_SUBJECT_HPP 8 | #define COH_SUBJECT_HPP 9 | 10 | #include "coherence/lang.ns" 11 | 12 | #include "coherence/util/Set.hpp" 13 | #include "coherence/security/RunAsBlock.hpp" 14 | #include "coherence/security/Principal.hpp" 15 | 16 | COH_OPEN_NAMESPACE3(coherence,security,auth) 17 | 18 | using coherence::util::Set; 19 | 20 | /** 21 | * A Subject represents a grouping of related information for a single entity, 22 | * such as a person. 23 | * 24 | * @see coherence::security::Principal 25 | * 26 | * @author jh 2007.12.20 27 | */ 28 | class COH_EXPORT Subject 29 | : public interface_spec 30 | { 31 | // ----- Subject interface ---------------------------------------------- 32 | 33 | public: 34 | /** 35 | * Return the set of Principals associated with the Subject. 36 | * 37 | * @return the set of Principals associated with the Subject 38 | */ 39 | virtual Set::View getPrincipals() const = 0; 40 | }; 41 | 42 | COH_CLOSE_NAMESPACE3 43 | 44 | #endif // COH_SUBJECT_HPP 45 | -------------------------------------------------------------------------------- /include/public/coherence/security/auth/namespace.hpp: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2000, 2020, Oracle and/or its affiliates. 3 | * 4 | * Licensed under the Universal Permissive License v 1.0 as shown at 5 | * http://oss.oracle.com/licenses/upl. 6 | */ 7 | /** 8 | * @namespace coherence::security::auth 9 | * Contains classes related to identity information such as users or groups. 10 | */ 11 | -------------------------------------------------------------------------------- /include/public/coherence/security/namespace.hpp: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2000, 2020, Oracle and/or its affiliates. 3 | * 4 | * Licensed under the Universal Permissive License v 1.0 as shown at 5 | * http://oss.oracle.com/licenses/upl. 6 | */ 7 | /** 8 | * @namespace coherence::security 9 | * Contains classes and interfaces related to security. 10 | */ 11 | -------------------------------------------------------------------------------- /include/public/coherence/stl/namespace.hpp: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2000, 2020, Oracle and/or its affiliates. 3 | * 4 | * Licensed under the Universal Permissive License v 1.0 as shown at 5 | * http://oss.oracle.com/licenses/upl. 6 | */ 7 | /** 8 | * @namespace coherence::stl 9 | * Contains various C++ Standard Library adapter classes. 10 | */ 11 | -------------------------------------------------------------------------------- /include/public/coherence/util/ArrayList.hpp: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2000, 2020, Oracle and/or its affiliates. 3 | * 4 | * Licensed under the Universal Permissive License v 1.0 as shown at 5 | * http://oss.oracle.com/licenses/upl. 6 | */ 7 | #ifndef COH_ARRAY_LIST_HPP 8 | #define COH_ARRAY_LIST_HPP 9 | 10 | #include "coherence/lang.ns" 11 | 12 | #include "coherence/util/CircularArrayList.hpp" 13 | 14 | COH_OPEN_NAMESPACE2(coherence,util) 15 | 16 | /** 17 | * An array based implementation of coherence::util::List. 18 | * 19 | * @see CircularArrayList 20 | * 21 | * @author djl 2009.01.23 22 | */ 23 | typedef CircularArrayList ArrayList; 24 | 25 | COH_CLOSE_NAMESPACE2 26 | 27 | #endif // COH_ARRAY_LIST_HPP 28 | -------------------------------------------------------------------------------- /include/public/coherence/util/EventListener.hpp: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2000, 2020, Oracle and/or its affiliates. 3 | * 4 | * Licensed under the Universal Permissive License v 1.0 as shown at 5 | * http://oss.oracle.com/licenses/upl. 6 | */ 7 | #ifndef COH_EVENT_LISTENER_HPP 8 | #define COH_EVENT_LISTENER_HPP 9 | 10 | #include "coherence/lang.ns" 11 | 12 | COH_OPEN_NAMESPACE2(coherence,util) 13 | 14 | 15 | /** 16 | * A tag interface that all event listener interfaces must extend. 17 | * 18 | * @author jh 2007.12.12 19 | */ 20 | class COH_EXPORT EventListener 21 | : public interface_spec 22 | { 23 | }; 24 | 25 | COH_CLOSE_NAMESPACE2 26 | 27 | #endif // COH_EVENT_LISTENER_HPP 28 | -------------------------------------------------------------------------------- /include/public/coherence/util/Filter.hpp: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2000, 2020, Oracle and/or its affiliates. 3 | * 4 | * Licensed under the Universal Permissive License v 1.0 as shown at 5 | * http://oss.oracle.com/licenses/upl. 6 | */ 7 | #ifndef COH_FILTER_HPP 8 | #define COH_FILTER_HPP 9 | 10 | #include "coherence/lang.ns" 11 | 12 | COH_OPEN_NAMESPACE2(coherence,util) 13 | 14 | 15 | /** 16 | * Provide for "pluggable" conditional behavior. 17 | * 18 | * @author jh 2008.02.26 19 | */ 20 | class COH_EXPORT Filter 21 | : public interface_spec 22 | { 23 | // ----- Filter interface ----------------------------------------------- 24 | 25 | public: 26 | /** 27 | * Apply the test to the object. 28 | * 29 | * @param v the object to test 30 | * 31 | * @return true if the test passes, false otherwise 32 | */ 33 | virtual bool evaluate(Object::View v) const = 0; 34 | }; 35 | 36 | COH_CLOSE_NAMESPACE2 37 | 38 | #endif // COH_FILTER_HPP 39 | -------------------------------------------------------------------------------- /include/public/coherence/util/HashMap.hpp: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2000, 2020, Oracle and/or its affiliates. 3 | * 4 | * Licensed under the Universal Permissive License v 1.0 as shown at 5 | * http://oss.oracle.com/licenses/upl. 6 | */ 7 | #ifndef COH_HASH_MAP_HPP 8 | #define COH_HASH_MAP_HPP 9 | 10 | #include "coherence/lang.ns" 11 | 12 | #include "coherence/util/Hashtable.hpp" 13 | 14 | COH_OPEN_NAMESPACE2(coherence,util) 15 | 16 | /** 17 | * A hash based implementation of coherence::util::Map. 18 | * 19 | * The returned implementation is not guaranteed to be thread-safe. 20 | * 21 | * @see SafeHashMap 22 | * @see Hashtable 23 | * 24 | * @author mf 2008.02.25 25 | */ 26 | typedef Hashtable HashMap; 27 | 28 | COH_CLOSE_NAMESPACE2 29 | 30 | #endif // COH_HASH_MAP_HPP 31 | -------------------------------------------------------------------------------- /include/public/coherence/util/Muterator.hpp: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2000, 2020, Oracle and/or its affiliates. 3 | * 4 | * Licensed under the Universal Permissive License v 1.0 as shown at 5 | * http://oss.oracle.com/licenses/upl. 6 | */ 7 | #ifndef COH_MUTERATOR_HPP 8 | #define COH_MUTERATOR_HPP 9 | 10 | #include "coherence/lang.ns" 11 | 12 | #include "coherence/util/Iterator.hpp" 13 | 14 | COH_OPEN_NAMESPACE2(coherence,util) 15 | 16 | 17 | /** 18 | * Muterator is mutating iterator, that is it is capable of changing the 19 | * collection it iterates. 20 | * 21 | * @author mf 2008.05.05 22 | */ 23 | class COH_EXPORT Muterator 24 | : public interface_spec > 26 | { 27 | // ----- Muterator interface -------------------------------------------- 28 | 29 | public: 30 | /** 31 | * Remove from the collection associated with this iterator, the last 32 | * element returned from the iterator. 33 | * 34 | * @throws UnsupportedOperationException if removal is not supported 35 | */ 36 | virtual void remove() = 0; 37 | }; 38 | 39 | COH_CLOSE_NAMESPACE2 40 | 41 | #endif // COH_MUTERATOR_HPP 42 | -------------------------------------------------------------------------------- /include/public/coherence/util/Supplier.hpp: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2000, 2020, Oracle and/or its affiliates. 3 | * 4 | * Licensed under the Universal Permissive License v 1.0 as shown at 5 | * http://oss.oracle.com/licenses/upl. 6 | */ 7 | #ifndef COH_SUPPLIER_HPP 8 | #define COH_SUPPLIER_HPP 9 | 10 | #include "coherence/lang.ns" 11 | 12 | COH_OPEN_NAMESPACE2(coherence,util) 13 | 14 | /** 15 | * A Supplier provides the ability to provide a value in a deferred 16 | * fashion. 17 | * 18 | * @author rl 2019.04.29 19 | * @since 12.2.1.4 20 | */ 21 | class COH_EXPORT Supplier 22 | : public interface_spec 23 | { 24 | // ----- Supplier interface --------------------------------------------- 25 | 26 | public: 27 | /** 28 | * Return the value. 29 | * 30 | * @return the value 31 | */ 32 | virtual Object::Holder get() const = 0; 33 | 34 | /** 35 | * Return the value. 36 | * 37 | * @return the value 38 | */ 39 | virtual Object::Holder get() = 0; 40 | }; 41 | 42 | COH_CLOSE_NAMESPACE2 43 | 44 | #endif // COH_SUPPLIER_HPP 45 | -------------------------------------------------------------------------------- /include/public/coherence/util/SynchronousListener.hpp: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2000, 2020, Oracle and/or its affiliates. 3 | * 4 | * Licensed under the Universal Permissive License v 1.0 as shown at 5 | * http://oss.oracle.com/licenses/upl. 6 | */ 7 | #ifndef COH_SYNCHRONOUS_LISTENER_HPP 8 | #define COH_SYNCHRONOUS_LISTENER_HPP 9 | 10 | #include "coherence/lang.ns" 11 | 12 | COH_OPEN_NAMESPACE2(coherence,util) 13 | 14 | /** 15 | * A tag interface indicating that a listener implementation has to receive 16 | * the event notifications synchronously on the corresponding service's thread. 17 | * 18 | * This interface should be considered as a very advanced feature, as 19 | * a listener implementation that is marked as a SynchronousListener 20 | * must exercise extreme caution during event processing since any delay 21 | * with return or unhandled exception will cause a delay or complete 22 | * shutdown of the corresponding service. 23 | */ 24 | class COH_EXPORT SynchronousListener 25 | : public interface_spec 26 | { 27 | }; 28 | 29 | COH_CLOSE_NAMESPACE2 30 | 31 | #endif // COH_SYNCHRONOUS_LISTENER_HPP 32 | -------------------------------------------------------------------------------- /include/public/coherence/util/aggregator/namespace.hpp: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2000, 2020, Oracle and/or its affiliates. 3 | * 4 | * Licensed under the Universal Permissive License v 1.0 as shown at 5 | * http://oss.oracle.com/licenses/upl. 6 | */ 7 | /** 8 | * @namespace coherence::util::aggregator 9 | * Contains concrete InvocableMap::EntryAggregator implementations and related 10 | * interfaces. 11 | */ 12 | -------------------------------------------------------------------------------- /include/public/coherence/util/comparator/EntryAwareComparator.hpp: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2000, 2020, Oracle and/or its affiliates. 3 | * 4 | * Licensed under the Universal Permissive License v 1.0 as shown at 5 | * http://oss.oracle.com/licenses/upl. 6 | */ 7 | #ifndef COH_ENTRY_AWARE_COMPARATOR_HPP 8 | #define COH_ENTRY_AWARE_COMPARATOR_HPP 9 | 10 | #include "coherence/lang.ns" 11 | 12 | #include "coherence/util/Comparator.hpp" 13 | 14 | COH_OPEN_NAMESPACE3(coherence,util,comparator) 15 | 16 | 17 | /** 18 | * EntryAwareComparator is an extension to the Comparator interface that 19 | * allows the EntryComparator to know whether the underlying comparator 20 | * expects to compare the corresponding Entries' keys or values. 21 | * 22 | * @author djl 2008.05.05 23 | */ 24 | class COH_EXPORT EntryAwareComparator 25 | : public interface_spec > 27 | { 28 | // ----- EntryAwareComparator interface --------------------------------- 29 | 30 | public: 31 | /** 32 | * Specifies whether this comparator expects to compare keys or values. 33 | * 34 | * @return true if Entry keys are expected; false otherwise 35 | */ 36 | virtual bool isKeyComparator() const = 0; 37 | }; 38 | 39 | COH_CLOSE_NAMESPACE3 40 | 41 | #endif // COH_ENTRY_AWARE_COMPARATOR_HPP 42 | -------------------------------------------------------------------------------- /include/public/coherence/util/comparator/namespace.hpp: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2000, 2020, Oracle and/or its affiliates. 3 | * 4 | * Licensed under the Universal Permissive License v 1.0 as shown at 5 | * http://oss.oracle.com/licenses/upl. 6 | */ 7 | /** 8 | * @namespace coherence::util::comparator 9 | * Contains concrete Comparator implementations and related interfaces. 10 | */ 11 | -------------------------------------------------------------------------------- /include/public/coherence/util/extractor/namespace.hpp: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2000, 2020, Oracle and/or its affiliates. 3 | * 4 | * Licensed under the Universal Permissive License v 1.0 as shown at 5 | * http://oss.oracle.com/licenses/upl. 6 | */ 7 | /** 8 | * @namespace coherence::util::extractor 9 | * Contains ValueExtractor and ValueUpdater related classes. 10 | */ 11 | -------------------------------------------------------------------------------- /include/public/coherence/util/filter/EntryFilter.hpp: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2000, 2020, Oracle and/or its affiliates. 3 | * 4 | * Licensed under the Universal Permissive License v 1.0 as shown at 5 | * http://oss.oracle.com/licenses/upl. 6 | */ 7 | #ifndef COH_ENTRY_FILTER_HPP 8 | #define COH_ENTRY_FILTER_HPP 9 | 10 | #include "coherence/lang.ns" 11 | 12 | #include "coherence/util/Filter.hpp" 13 | #include "coherence/util/Map.hpp" 14 | 15 | COH_OPEN_NAMESPACE3(coherence,util,filter) 16 | 17 | 18 | /** 19 | * EntryFilter provides an extension to Filter for those cases in which both 20 | * a key and a value may be necessary to evaluate the conditional inclusion 21 | * of a particular object. 22 | * 23 | * @author jh 2008.02.28 24 | */ 25 | class COH_EXPORT EntryFilter 26 | : public interface_spec > 28 | { 29 | // ----- EntryFilter interface ------------------------------------------ 30 | 31 | public: 32 | /** 33 | * Apply the test to a Map::Entry. 34 | * 35 | * @param vEntry the Map::Entry to evaluate; never NULL 36 | * 37 | * @return true if the test passes, false otherwise 38 | */ 39 | virtual bool evaluateEntry(Map::Entry::View vEntry) const = 0; 40 | }; 41 | 42 | COH_CLOSE_NAMESPACE3 43 | 44 | #endif // COH_ENTRY_FILTER_HPP 45 | -------------------------------------------------------------------------------- /include/public/coherence/util/filter/namespace.hpp: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2000, 2020, Oracle and/or its affiliates. 3 | * 4 | * Licensed under the Universal Permissive License v 1.0 as shown at 5 | * http://oss.oracle.com/licenses/upl. 6 | */ 7 | /** 8 | * @namespace coherence::util::filter 9 | * Contains concrete Filter implementations and related interfaces. 10 | */ 11 | -------------------------------------------------------------------------------- /include/public/coherence/util/namespace.hpp: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2000, 2020, Oracle and/or its affiliates. 3 | * 4 | * Licensed under the Universal Permissive License v 1.0 as shown at 5 | * http://oss.oracle.com/licenses/upl. 6 | */ 7 | /** 8 | * @namespace coherence::util 9 | * Contains various generic utilities. 10 | */ 11 | -------------------------------------------------------------------------------- /include/public/coherence/util/processor/namespace.hpp: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2000, 2020, Oracle and/or its affiliates. 3 | * 4 | * Licensed under the Universal Permissive License v 1.0 as shown at 5 | * http://oss.oracle.com/licenses/upl. 6 | */ 7 | /** 8 | * @namespace coherence::util::processor 9 | * Contains concrete InvocableMap::EntryProcessor implementations. 10 | */ 11 | -------------------------------------------------------------------------------- /include/public/coherence/util/transformer/namespace.hpp: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2000, 2020, Oracle and/or its affiliates. 3 | * 4 | * Licensed under the Universal Permissive License v 1.0 as shown at 5 | * http://oss.oracle.com/licenses/upl. 6 | */ 7 | /** 8 | * @namespace coherence::util::transformer 9 | * Contains concrete EventTransformer implementations and related interfaces. 10 | */ 11 | -------------------------------------------------------------------------------- /prj/apidoc/api.html: -------------------------------------------------------------------------------- 1 | 7 | 8 | C++ Client API Reference for Oracle Coherence: 9 | 10 | 18 | 23 | 24 | 25 | -------------------------------------------------------------------------------- /prj/apidoc/exclude.txt: -------------------------------------------------------------------------------- 1 | // Copyright (c) 2000, 2020, Oracle and/or its affiliates. 2 | // 3 | // Licensed under the Universal Permissive License v 1.0 as shown at 4 | // http://oss.oracle.com/licenses/upl. 5 | 6 | // Files that are not javadoc'ed 7 | // Entries are files that are excluded from generation. 8 | // Add new files anywhere in the list. 9 | 10 | coherence/lang/abstract_spec.hpp 11 | coherence/lang/ChainedHandleElement.hpp 12 | coherence/lang/class_spec.hpp 13 | coherence/lang/cloneable_spec.hpp 14 | coherence/lang/compatibility.hpp 15 | coherence/lang/interface_spec.hpp 16 | coherence/lang/lang_spec.hpp 17 | coherence/lang/LifeCycle.hpp 18 | coherence/lang/ObjectArray.hpp 19 | coherence/lang/throwable_spec.hpp 20 | coherence/native/NativeAtomic32.hpp 21 | coherence/native/NativeAtomic64.hpp 22 | coherence/native/namespace.hpp 23 | coherence/stl/adapter_map.hpp 24 | coherence/util/ArrayList.hpp 25 | coherence/util/HashMap.hpp 26 | -------------------------------------------------------------------------------- /prj/apidoc/footer.html: -------------------------------------------------------------------------------- 1 |
2 | Copyright © 2000, $year, Oracle and/or its affiliates. 3 | Licensed under the Universal Permissive License v 1.0 as shown at 4 | https://oss.oracle.com/licenses/upl. 5 |
6 | 7 | 8 | -------------------------------------------------------------------------------- /prj/apidoc/header.html: -------------------------------------------------------------------------------- 1 | 7 | 8 | 9 | $title 10 | 11 | 12 | 13 | $projectname
14c ($projectnumber)

F79659-01 14 | -------------------------------------------------------------------------------- /prj/build.properties: -------------------------------------------------------------------------------- 1 | # 2 | # Copyright (c) 2000, 2025, Oracle and/or its affiliates. 3 | # 4 | # Licensed under the Universal Permissive License v 1.0 as shown at 5 | # https://oss.oracle.com/licenses/upl. 6 | # 7 | # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - # 8 | # # 9 | # These properties override the default properties in build-import.xml. # 10 | # # 11 | # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - # 12 | 13 | build.description= 14 | build.type=debug 15 | build.version=15.1.1.0.0 16 | build.groupId_maven=com.oracle.coherence.ce 17 | build.version_maven=24.09.3 18 | -------------------------------------------------------------------------------- /prj/coherence/product.xml: -------------------------------------------------------------------------------- 1 | 2 | 8 | 9 | 10 | 11 | -------------------------------------------------------------------------------- /prj/ivy-settings.xml: -------------------------------------------------------------------------------- 1 | 2 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | -------------------------------------------------------------------------------- /prj/ivy-snapshot.xml: -------------------------------------------------------------------------------- 1 | 2 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | -------------------------------------------------------------------------------- /prj/ivy.xml: -------------------------------------------------------------------------------- 1 | 2 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | -------------------------------------------------------------------------------- /prj/tests/functional/defaultconfig/extend-cache-config-short-timeout.xml: -------------------------------------------------------------------------------- 1 | 2 | 8 | 9 | 10 | 11 | 12 | 13 | dist-* 14 | extend-dist 15 | 16 | 17 | 18 | 19 | 20 | extend-dist 21 | ExtendTcpCacheService 22 | 23 | 24 | 25 | ap1 26 | 27 | 28 | 29 | 5s 30 | 31 | 32 | 33 | 34 | 35 | -------------------------------------------------------------------------------- /prj/tests/unit/config/system-property-cache-config.xml: -------------------------------------------------------------------------------- 1 | 2 | 8 | 9 | 10 | 11 | 12 | 13 | INVALID 14 | local-example 15 | 16 | 17 | 18 | 19 | 20 | local-example 21 | 22 | 23 | 24 | -------------------------------------------------------------------------------- /prj/tests/unit/config/system-property-override.xml: -------------------------------------------------------------------------------- 1 | 2 | 8 | 9 | 10 | 11 | INVALID 12 | 13 | 14 | -------------------------------------------------------------------------------- /src/coherence/component/net/extend/protocol/InitiatorProtocol.cpp: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2000, 2020, Oracle and/or its affiliates. 3 | * 4 | * Licensed under the Universal Permissive License v 1.0 as shown at 5 | * http://oss.oracle.com/licenses/upl. 6 | */ 7 | #include "private/coherence/component/net/extend/protocol/InitiatorProtocol.hpp" 8 | 9 | #include "private/coherence/component/net/extend/protocol/InitiatorMessageFactory.hpp" 10 | 11 | COH_OPEN_NAMESPACE5(coherence,component,net,extend,protocol) 12 | 13 | 14 | // ----- constants ---------------------------------------------------------- 15 | 16 | InitiatorProtocol::Handle InitiatorProtocol::getInstance() 17 | { 18 | static FinalHandle hProtocol 19 | (System::common(), create()); 20 | return hProtocol; 21 | } 22 | COH_STATIC_INIT(InitiatorProtocol::getInstance()); 23 | 24 | 25 | // ----- constructors ------------------------------------------------------- 26 | 27 | InitiatorProtocol::InitiatorProtocol() 28 | { 29 | } 30 | 31 | 32 | // ----- internal methods --------------------------------------------------- 33 | 34 | AbstractPofMessageFactory::Handle InitiatorProtocol::instantiateMessageFactory( 35 | int32_t /*nVersion*/) const 36 | { 37 | return InitiatorMessageFactory::create(); 38 | } 39 | 40 | COH_CLOSE_NAMESPACE5 41 | -------------------------------------------------------------------------------- /src/coherence/component/net/extend/protocol/NotifyShutdown.cpp: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2000, 2020, Oracle and/or its affiliates. 3 | * 4 | * Licensed under the Universal Permissive License v 1.0 as shown at 5 | * http://oss.oracle.com/licenses/upl. 6 | */ 7 | #include "private/coherence/component/net/extend/protocol/NotifyShutdown.hpp" 8 | 9 | #include "private/coherence/component/util/Peer.hpp" 10 | #include "private/coherence/component/util/Service.hpp" 11 | 12 | COH_OPEN_NAMESPACE5(coherence,component,net,extend,protocol) 13 | 14 | using coherence::component::util::Peer; 15 | using coherence::component::util::Service; 16 | 17 | 18 | // ----- constructors ------------------------------------------------------- 19 | 20 | NotifyShutdown::NotifyShutdown() 21 | { 22 | } 23 | 24 | 25 | // ----- Message interface -------------------------------------------------- 26 | 27 | int32_t NotifyShutdown::getTypeId() const 28 | { 29 | return type_id; 30 | } 31 | 32 | void NotifyShutdown::run() 33 | { 34 | Peer::Handle hModule = cast(getChannel()->getReceiver()); 35 | 36 | hModule->setServiceState(Service::service_stopping); 37 | hModule->stop(); 38 | } 39 | 40 | 41 | COH_CLOSE_NAMESPACE5 42 | -------------------------------------------------------------------------------- /src/coherence/component/net/extend/protocol/NotifyStartup.cpp: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2000, 2020, Oracle and/or its affiliates. 3 | * 4 | * Licensed under the Universal Permissive License v 1.0 as shown at 5 | * http://oss.oracle.com/licenses/upl. 6 | */ 7 | #include "private/coherence/component/net/extend/protocol/NotifyStartup.hpp" 8 | 9 | #include "private/coherence/component/util/Peer.hpp" 10 | #include "private/coherence/component/util/Service.hpp" 11 | 12 | COH_OPEN_NAMESPACE5(coherence,component,net,extend,protocol) 13 | 14 | using coherence::component::util::Peer; 15 | using coherence::component::util::Service; 16 | 17 | 18 | // ----- constructors ------------------------------------------------------- 19 | 20 | NotifyStartup::NotifyStartup() 21 | { 22 | } 23 | 24 | 25 | // ----- Message interface -------------------------------------------------- 26 | 27 | int32_t NotifyStartup::getTypeId() const 28 | { 29 | return type_id; 30 | } 31 | 32 | void NotifyStartup::run() 33 | { 34 | Peer::Handle hModule = cast(getChannel()->getReceiver()); 35 | 36 | hModule->setServiceState(Service::service_started); 37 | } 38 | 39 | 40 | COH_CLOSE_NAMESPACE5 41 | -------------------------------------------------------------------------------- /src/coherence/component/net/extend/protocol/PeerResponse.cpp: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2000, 2020, Oracle and/or its affiliates. 3 | * 4 | * Licensed under the Universal Permissive License v 1.0 as shown at 5 | * http://oss.oracle.com/licenses/upl. 6 | */ 7 | #include "private/coherence/component/net/extend/protocol/PeerResponse.hpp" 8 | 9 | COH_OPEN_NAMESPACE5(coherence,component,net,extend,protocol) 10 | 11 | 12 | // ----- constructors ------------------------------------------------------- 13 | 14 | PeerResponse::PeerResponse() 15 | { 16 | } 17 | 18 | 19 | // ----- Message interface -------------------------------------------------- 20 | 21 | int32_t PeerResponse::getTypeId() const 22 | { 23 | return type_id; 24 | } 25 | 26 | void PeerResponse::run() 27 | { 28 | // no-op 29 | } 30 | 31 | COH_CLOSE_NAMESPACE5 32 | -------------------------------------------------------------------------------- /src/coherence/component/net/extend/protocol/PingResponse.cpp: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2000, 2020, Oracle and/or its affiliates. 3 | * 4 | * Licensed under the Universal Permissive License v 1.0 as shown at 5 | * http://oss.oracle.com/licenses/upl. 6 | */ 7 | #include "private/coherence/component/net/extend/protocol/PingResponse.hpp" 8 | 9 | #include "private/coherence/component/net/extend/protocol/PingRequest.hpp" 10 | #include "private/coherence/component/net/extend/PofConnection.hpp" 11 | 12 | COH_OPEN_NAMESPACE5(coherence,component,net,extend,protocol) 13 | 14 | using coherence::component::net::extend::PofConnection; 15 | 16 | 17 | // ----- constructors ------------------------------------------------------- 18 | 19 | PingResponse::PingResponse() 20 | { 21 | } 22 | 23 | 24 | // ----- Message interface -------------------------------------------------- 25 | 26 | int32_t PingResponse::getTypeId() const 27 | { 28 | return type_id; 29 | } 30 | 31 | void PingResponse::run() 32 | { 33 | PofChannel::Channel::Handle hChannel0 = cast(getChannel()); 34 | COH_ENSURE_EQUALITY(hChannel0->getId(), 0); 35 | 36 | PofConnection::Handle hConnection = 37 | cast(hChannel0->getConnection()); 38 | 39 | hConnection->setPingLastMillis(0L); 40 | } 41 | 42 | COH_CLOSE_NAMESPACE5 43 | -------------------------------------------------------------------------------- /src/coherence/component/net/extend/protocol/cache/ContainsAllRequest.cpp: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2000, 2020, Oracle and/or its affiliates. 3 | * 4 | * Licensed under the Universal Permissive License v 1.0 as shown at 5 | * http://oss.oracle.com/licenses/upl. 6 | */ 7 | #include "private/coherence/component/net/extend/protocol/cache/ContainsAllRequest.hpp" 8 | 9 | COH_OPEN_NAMESPACE6(coherence,component,net,extend,protocol,cache) 10 | 11 | 12 | // ----- constructors ------------------------------------------------------- 13 | 14 | ContainsAllRequest::ContainsAllRequest() 15 | { 16 | } 17 | 18 | 19 | // ----- Message interface -------------------------------------------------- 20 | 21 | int32_t ContainsAllRequest::getTypeId() const 22 | { 23 | return type_id; 24 | } 25 | 26 | 27 | // ----- internal methods --------------------------------------------------- 28 | 29 | void ContainsAllRequest::onRun(AbstractPofResponse::Handle /*hResponse*/) 30 | { 31 | // no-op: this Request is only executed within the cluster 32 | } 33 | 34 | COH_CLOSE_NAMESPACE6 35 | -------------------------------------------------------------------------------- /src/coherence/component/net/extend/protocol/cache/ContainsKeyRequest.cpp: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2000, 2020, Oracle and/or its affiliates. 3 | * 4 | * Licensed under the Universal Permissive License v 1.0 as shown at 5 | * http://oss.oracle.com/licenses/upl. 6 | */ 7 | #include "private/coherence/component/net/extend/protocol/cache/ContainsKeyRequest.hpp" 8 | 9 | COH_OPEN_NAMESPACE6(coherence,component,net,extend,protocol,cache) 10 | 11 | 12 | // ----- constructors ------------------------------------------------------- 13 | 14 | ContainsKeyRequest::ContainsKeyRequest() 15 | { 16 | } 17 | 18 | 19 | // ----- Message interface -------------------------------------------------- 20 | 21 | int32_t ContainsKeyRequest::getTypeId() const 22 | { 23 | return type_id; 24 | } 25 | 26 | 27 | // ----- internal methods --------------------------------------------------- 28 | 29 | void ContainsKeyRequest::onRun(AbstractPofResponse::Handle /*hResponse*/) 30 | { 31 | // no-op: this Request is only executed within the cluster 32 | } 33 | 34 | COH_CLOSE_NAMESPACE6 35 | -------------------------------------------------------------------------------- /src/coherence/component/net/extend/protocol/cache/GetAllRequest.cpp: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2000, 2020, Oracle and/or its affiliates. 3 | * 4 | * Licensed under the Universal Permissive License v 1.0 as shown at 5 | * http://oss.oracle.com/licenses/upl. 6 | */ 7 | #include "private/coherence/component/net/extend/protocol/cache/GetAllRequest.hpp" 8 | 9 | COH_OPEN_NAMESPACE6(coherence,component,net,extend,protocol,cache) 10 | 11 | 12 | // ----- constructors ------------------------------------------------------- 13 | 14 | GetAllRequest::GetAllRequest() 15 | { 16 | } 17 | 18 | 19 | // ----- Message interface -------------------------------------------------- 20 | 21 | int32_t GetAllRequest::getTypeId() const 22 | { 23 | return type_id; 24 | } 25 | 26 | 27 | // ----- internal methods --------------------------------------------------- 28 | 29 | void GetAllRequest::onRun(AbstractPofResponse::Handle /*hResponse*/) 30 | { 31 | // no-op: this Request is only executed within the cluster 32 | } 33 | 34 | COH_CLOSE_NAMESPACE6 35 | -------------------------------------------------------------------------------- /src/coherence/component/net/extend/protocol/cache/GetRequest.cpp: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2000, 2020, Oracle and/or its affiliates. 3 | * 4 | * Licensed under the Universal Permissive License v 1.0 as shown at 5 | * http://oss.oracle.com/licenses/upl. 6 | */ 7 | #include "private/coherence/component/net/extend/protocol/cache/GetRequest.hpp" 8 | 9 | COH_OPEN_NAMESPACE6(coherence,component,net,extend,protocol,cache) 10 | 11 | 12 | // ----- constructors ------------------------------------------------------- 13 | 14 | GetRequest::GetRequest() 15 | { 16 | } 17 | 18 | 19 | // ----- Message interface -------------------------------------------------- 20 | 21 | int32_t GetRequest::getTypeId() const 22 | { 23 | return type_id; 24 | } 25 | 26 | 27 | // ----- internal methods --------------------------------------------------- 28 | 29 | void GetRequest::onRun(AbstractPofResponse::Handle /*hResponse*/) 30 | { 31 | // no-op: this Request is only executed within the cluster 32 | } 33 | 34 | COH_CLOSE_NAMESPACE6 35 | -------------------------------------------------------------------------------- /src/coherence/component/net/extend/protocol/cache/NamedCacheRequest.cpp: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2000, 2020, Oracle and/or its affiliates. 3 | * 4 | * Licensed under the Universal Permissive License v 1.0 as shown at 5 | * http://oss.oracle.com/licenses/upl. 6 | */ 7 | #include "private/coherence/component/net/extend/protocol/cache/NamedCacheRequest.hpp" 8 | 9 | COH_OPEN_NAMESPACE6(coherence,component,net,extend,protocol,cache) 10 | 11 | 12 | // ----- constructors ------------------------------------------------------- 13 | 14 | NamedCacheRequest::NamedCacheRequest() 15 | { 16 | } 17 | 18 | COH_CLOSE_NAMESPACE6 19 | -------------------------------------------------------------------------------- /src/coherence/component/net/extend/protocol/cache/NamedCacheResponse.cpp: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2000, 2020, Oracle and/or its affiliates. 3 | * 4 | * Licensed under the Universal Permissive License v 1.0 as shown at 5 | * http://oss.oracle.com/licenses/upl. 6 | */ 7 | #include "private/coherence/component/net/extend/protocol/cache/NamedCacheResponse.hpp" 8 | 9 | COH_OPEN_NAMESPACE6(coherence,component,net,extend,protocol,cache) 10 | 11 | 12 | // ----- constructors ------------------------------------------------------- 13 | 14 | NamedCacheResponse::NamedCacheResponse() 15 | { 16 | } 17 | 18 | 19 | // ----- Message interface -------------------------------------------------- 20 | 21 | int32_t NamedCacheResponse::getTypeId() const 22 | { 23 | return type_id; 24 | } 25 | 26 | void NamedCacheResponse::run() 27 | { 28 | // no-op 29 | } 30 | 31 | COH_CLOSE_NAMESPACE6 32 | -------------------------------------------------------------------------------- /src/coherence/component/net/extend/protocol/cache/RemoveAllRequest.cpp: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2000, 2020, Oracle and/or its affiliates. 3 | * 4 | * Licensed under the Universal Permissive License v 1.0 as shown at 5 | * http://oss.oracle.com/licenses/upl. 6 | */ 7 | #include "private/coherence/component/net/extend/protocol/cache/RemoveAllRequest.hpp" 8 | 9 | COH_OPEN_NAMESPACE6(coherence,component,net,extend,protocol,cache) 10 | 11 | 12 | // ----- constructors ------------------------------------------------------- 13 | 14 | RemoveAllRequest::RemoveAllRequest() 15 | { 16 | } 17 | 18 | 19 | // ----- Message interface -------------------------------------------------- 20 | 21 | int32_t RemoveAllRequest::getTypeId() const 22 | { 23 | return type_id; 24 | } 25 | 26 | 27 | // ----- internal methods --------------------------------------------------- 28 | 29 | void RemoveAllRequest::onRun(AbstractPofResponse::Handle /*hResponse*/) 30 | { 31 | // no-op: this Request is only executed within the cluster 32 | } 33 | 34 | COH_CLOSE_NAMESPACE6 35 | -------------------------------------------------------------------------------- /src/coherence/component/net/extend/protocol/cache/SizeRequest.cpp: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2000, 2020, Oracle and/or its affiliates. 3 | * 4 | * Licensed under the Universal Permissive License v 1.0 as shown at 5 | * http://oss.oracle.com/licenses/upl. 6 | */ 7 | #include "private/coherence/component/net/extend/protocol/cache/SizeRequest.hpp" 8 | 9 | COH_OPEN_NAMESPACE6(coherence,component,net,extend,protocol,cache) 10 | 11 | 12 | // ----- constructors ------------------------------------------------------- 13 | 14 | SizeRequest::SizeRequest() 15 | { 16 | } 17 | 18 | 19 | // ----- Message interface -------------------------------------------------- 20 | 21 | int32_t SizeRequest::getTypeId() const 22 | { 23 | return type_id; 24 | } 25 | 26 | 27 | // ----- internal methods --------------------------------------------------- 28 | 29 | void SizeRequest::onRun(AbstractPofResponse::Handle /*hResponse*/) 30 | { 31 | // no-op: this Request is only executed within the cluster 32 | } 33 | 34 | COH_CLOSE_NAMESPACE6 35 | -------------------------------------------------------------------------------- /src/coherence/component/net/extend/protocol/cache/UnlockRequest.cpp: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2000, 2020, Oracle and/or its affiliates. 3 | * 4 | * Licensed under the Universal Permissive License v 1.0 as shown at 5 | * http://oss.oracle.com/licenses/upl. 6 | */ 7 | #include "private/coherence/component/net/extend/protocol/cache/UnlockRequest.hpp" 8 | 9 | COH_OPEN_NAMESPACE6(coherence,component,net,extend,protocol,cache) 10 | 11 | 12 | // ----- constructors ------------------------------------------------------- 13 | 14 | UnlockRequest::UnlockRequest() 15 | { 16 | } 17 | 18 | 19 | // ----- Message interface -------------------------------------------------- 20 | 21 | int32_t UnlockRequest::getTypeId() const 22 | { 23 | return type_id; 24 | } 25 | 26 | 27 | // ----- internal methods --------------------------------------------------- 28 | 29 | void UnlockRequest::onRun(AbstractPofResponse::Handle /*hResponse*/) 30 | { 31 | // no-op: this Request is only executed within the cluster 32 | } 33 | 34 | COH_CLOSE_NAMESPACE6 35 | -------------------------------------------------------------------------------- /src/coherence/component/net/extend/protocol/cache/service/CacheServiceResponse.cpp: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2000, 2020, Oracle and/or its affiliates. 3 | * 4 | * Licensed under the Universal Permissive License v 1.0 as shown at 5 | * http://oss.oracle.com/licenses/upl. 6 | */ 7 | #include "private/coherence/component/net/extend/protocol/cache/service/CacheServiceResponse.hpp" 8 | 9 | COH_OPEN_NAMESPACE7(coherence,component,net,extend,protocol,cache,service) 10 | 11 | 12 | // ----- constructors ------------------------------------------------------- 13 | 14 | CacheServiceResponse::CacheServiceResponse() 15 | { 16 | } 17 | 18 | 19 | // ----- Message interface -------------------------------------------------- 20 | 21 | int32_t CacheServiceResponse::getTypeId() const 22 | { 23 | return type_id; 24 | } 25 | 26 | void CacheServiceResponse::run() 27 | { 28 | // no-op 29 | } 30 | 31 | COH_CLOSE_NAMESPACE7 32 | -------------------------------------------------------------------------------- /src/coherence/component/net/extend/protocol/cache/service/DestroyCacheRequest.cpp: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2000, 2020, Oracle and/or its affiliates. 3 | * 4 | * Licensed under the Universal Permissive License v 1.0 as shown at 5 | * http://oss.oracle.com/licenses/upl. 6 | */ 7 | #include "private/coherence/component/net/extend/protocol/cache/service/DestroyCacheRequest.hpp" 8 | 9 | COH_OPEN_NAMESPACE7(coherence,component,net,extend,protocol,cache,service) 10 | 11 | 12 | // ----- constructors ------------------------------------------------------- 13 | 14 | DestroyCacheRequest::DestroyCacheRequest() 15 | { 16 | } 17 | 18 | 19 | // ----- Message interface -------------------------------------------------- 20 | 21 | int32_t DestroyCacheRequest::getTypeId() const 22 | { 23 | return type_id; 24 | } 25 | 26 | 27 | // ----- internal methods --------------------------------------------------- 28 | 29 | void DestroyCacheRequest::onRun(AbstractPofResponse::Handle /*hResponse*/) 30 | { 31 | // no-op: this Request is only executed within the cluster 32 | } 33 | 34 | COH_CLOSE_NAMESPACE7 35 | -------------------------------------------------------------------------------- /src/coherence/component/net/extend/protocol/cache/service/EnsureCacheRequest.cpp: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2000, 2020, Oracle and/or its affiliates. 3 | * 4 | * Licensed under the Universal Permissive License v 1.0 as shown at 5 | * http://oss.oracle.com/licenses/upl. 6 | */ 7 | #include "private/coherence/component/net/extend/protocol/cache/service/EnsureCacheRequest.hpp" 8 | 9 | COH_OPEN_NAMESPACE7(coherence,component,net,extend,protocol,cache,service) 10 | 11 | 12 | // ----- constructors ------------------------------------------------------- 13 | 14 | EnsureCacheRequest::EnsureCacheRequest() 15 | { 16 | } 17 | 18 | 19 | // ----- Message interface -------------------------------------------------- 20 | 21 | int32_t EnsureCacheRequest::getTypeId() const 22 | { 23 | return type_id; 24 | } 25 | 26 | 27 | // ----- internal methods --------------------------------------------------- 28 | 29 | void EnsureCacheRequest::onRun(AbstractPofResponse::Handle /*hResponse*/) 30 | { 31 | // no-op: this Request is only executed within the cluster 32 | } 33 | 34 | COH_CLOSE_NAMESPACE7 35 | -------------------------------------------------------------------------------- /src/coherence/component/net/extend/protocol/invocation/InvocationServiceRequest.cpp: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2000, 2020, Oracle and/or its affiliates. 3 | * 4 | * Licensed under the Universal Permissive License v 1.0 as shown at 5 | * http://oss.oracle.com/licenses/upl. 6 | */ 7 | #include "private/coherence/component/net/extend/protocol/invocation/InvocationServiceRequest.hpp" 8 | 9 | COH_OPEN_NAMESPACE6(coherence,component,net,extend,protocol,invocation) 10 | 11 | 12 | // ----- constructors ------------------------------------------------------- 13 | 14 | InvocationServiceRequest::InvocationServiceRequest() 15 | { 16 | } 17 | 18 | COH_CLOSE_NAMESPACE6 19 | -------------------------------------------------------------------------------- /src/coherence/component/net/extend/protocol/invocation/InvocationServiceResponse.cpp: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2000, 2020, Oracle and/or its affiliates. 3 | * 4 | * Licensed under the Universal Permissive License v 1.0 as shown at 5 | * http://oss.oracle.com/licenses/upl. 6 | */ 7 | #include "private/coherence/component/net/extend/protocol/invocation/InvocationServiceResponse.hpp" 8 | 9 | COH_OPEN_NAMESPACE6(coherence,component,net,extend,protocol,invocation) 10 | 11 | 12 | // ----- constructors ------------------------------------------------------- 13 | 14 | InvocationServiceResponse::InvocationServiceResponse() 15 | { 16 | } 17 | 18 | 19 | // ----- Message interface -------------------------------------------------- 20 | 21 | int32_t InvocationServiceResponse::getTypeId() const 22 | { 23 | return type_id; 24 | } 25 | 26 | void InvocationServiceResponse::run() 27 | { 28 | // no-op 29 | } 30 | 31 | COH_CLOSE_NAMESPACE6 32 | -------------------------------------------------------------------------------- /src/coherence/component/net/extend/protocol/nameservice/NameServiceRequest.cpp: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2000, 2020, Oracle and/or its affiliates. 3 | * 4 | * Licensed under the Universal Permissive License v 1.0 as shown at 5 | * http://oss.oracle.com/licenses/upl. 6 | */ 7 | #include "private/coherence/component/net/extend/protocol/nameservice/NameServiceRequest.hpp" 8 | 9 | COH_OPEN_NAMESPACE6(coherence,component,net,extend,protocol,nameservice) 10 | 11 | // ----- constructors ------------------------------------------------------- 12 | 13 | NameServiceRequest::NameServiceRequest() 14 | { 15 | } 16 | 17 | COH_CLOSE_NAMESPACE6 18 | -------------------------------------------------------------------------------- /src/coherence/component/net/extend/protocol/nameservice/NameServiceResponse.cpp: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2000, 2020, Oracle and/or its affiliates. 3 | * 4 | * Licensed under the Universal Permissive License v 1.0 as shown at 5 | * http://oss.oracle.com/licenses/upl. 6 | */ 7 | #include "private/coherence/component/net/extend/protocol/nameservice/NameServiceResponse.hpp" 8 | 9 | COH_OPEN_NAMESPACE6(coherence,component,net,extend,protocol,nameservice) 10 | 11 | // ----- constructors ------------------------------------------------------- 12 | 13 | NameServiceResponse::NameServiceResponse() 14 | { 15 | } 16 | 17 | // ----- Message interface -------------------------------------------------- 18 | 19 | int32_t NameServiceResponse::getTypeId() const 20 | { 21 | return type_id; 22 | } 23 | 24 | void NameServiceResponse::run() 25 | { 26 | // no-op 27 | } 28 | 29 | COH_CLOSE_NAMESPACE6 30 | -------------------------------------------------------------------------------- /src/coherence/component/run/EventDeathException.cpp: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2000, 2020, Oracle and/or its affiliates. 3 | * 4 | * Licensed under the Universal Permissive License v 1.0 as shown at 5 | * http://oss.oracle.com/licenses/upl. 6 | */ 7 | #include "private/coherence/component/run/EventDeathException.hpp" 8 | 9 | COH_OPEN_NAMESPACE3(coherence,component,run) 10 | 11 | 12 | // ----- constructors ------------------------------------------------------- 13 | 14 | EventDeathException::EventDeathException(String::View vsMsg, 15 | Exception::View vCause) 16 | : super(vsMsg, vCause) 17 | { 18 | } 19 | 20 | COH_CLOSE_NAMESPACE3 21 | -------------------------------------------------------------------------------- /src/coherence/component/util/AbstractSerializationConverter.cpp: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2000, 2020, Oracle and/or its affiliates. 3 | * 4 | * Licensed under the Universal Permissive License v 1.0 as shown at 5 | * http://oss.oracle.com/licenses/upl. 6 | */ 7 | #include "private/coherence/component/util/AbstractSerializationConverter.hpp" 8 | 9 | COH_OPEN_NAMESPACE3(coherence,component,util) 10 | 11 | // ----- constructors ------------------------------------------------------- 12 | 13 | AbstractSerializationConverter::AbstractSerializationConverter() 14 | : f_vSerializer(self()) 15 | { 16 | } 17 | 18 | // ----- accessors ---------------------------------------------------------- 19 | 20 | Serializer::View AbstractSerializationConverter::getSerializer() const 21 | { 22 | return f_vSerializer; 23 | } 24 | 25 | void AbstractSerializationConverter::setSerializer(Serializer::View vSerializer) 26 | { 27 | initialize(f_vSerializer, vSerializer); 28 | } 29 | 30 | COH_CLOSE_NAMESPACE3 31 | -------------------------------------------------------------------------------- /src/coherence/dev/compiler/CompilerException.cpp: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2000, 2020, Oracle and/or its affiliates. 3 | * 4 | * Licensed under the Universal Permissive License v 1.0 as shown at 5 | * http://oss.oracle.com/licenses/upl. 6 | */ 7 | #include "private/coherence/dev/compiler/CompilerException.hpp" 8 | 9 | COH_OPEN_NAMESPACE3(coherence,dev,compiler) 10 | 11 | 12 | // ----- constructors ------------------------------------------------------- 13 | 14 | CompilerException::CompilerException(String::View vsMsg, Exception::View vCause) 15 | : super(vsMsg, vCause) 16 | { 17 | } 18 | 19 | COH_CLOSE_NAMESPACE3 20 | -------------------------------------------------------------------------------- /src/coherence/dev/compiler/ErrorList.cpp: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2000, 2020, Oracle and/or its affiliates. 3 | * 4 | * Licensed under the Universal Permissive License v 1.0 as shown at 5 | * http://oss.oracle.com/licenses/upl. 6 | */ 7 | #include "private/coherence/dev/compiler/ErrorList.hpp" 8 | 9 | #include "coherence/util/Iterator.hpp" 10 | 11 | COH_OPEN_NAMESPACE3(coherence,dev,compiler) 12 | 13 | using coherence::util::Iterator; 14 | 15 | 16 | // ----- constructors ------------------------------------------------------- 17 | 18 | ErrorList::ErrorList() 19 | { 20 | } 21 | 22 | 23 | // ----- Object interface --------------------------------------------------- 24 | 25 | TypedHandle ErrorList::toString() const 26 | { 27 | if (isEmpty()) 28 | { 29 | return String::create("ErrorList is empty."); 30 | } 31 | else 32 | { 33 | String::View vs = COH_TO_STRING("ErrorList contains " << size() << " items:"); 34 | 35 | size32_t c = 0; 36 | for (Iterator::Handle i = iterator(); i->hasNext(); ++c) 37 | { 38 | vs = COH_TO_STRING(vs << "\n[" << c << "]=" << i->next()); 39 | } 40 | 41 | return vs; 42 | } 43 | } 44 | 45 | COH_CLOSE_NAMESPACE3 46 | -------------------------------------------------------------------------------- /src/coherence/dev/compiler/SyntaxException.cpp: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2000, 2020, Oracle and/or its affiliates. 3 | * 4 | * Licensed under the Universal Permissive License v 1.0 as shown at 5 | * http://oss.oracle.com/licenses/upl. 6 | */ 7 | #include "private/coherence/dev/compiler/SyntaxException.hpp" 8 | 9 | COH_OPEN_NAMESPACE3(coherence,dev,compiler) 10 | 11 | 12 | // ----- constructors ------------------------------------------------------- 13 | 14 | SyntaxException::SyntaxException(String::View vsMsg, Exception::View vCause) 15 | : super(vsMsg, vCause) 16 | { 17 | } 18 | 19 | COH_CLOSE_NAMESPACE3 20 | -------------------------------------------------------------------------------- /src/coherence/io/EOFException.cpp: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2000, 2020, Oracle and/or its affiliates. 3 | * 4 | * Licensed under the Universal Permissive License v 1.0 as shown at 5 | * http://oss.oracle.com/licenses/upl. 6 | */ 7 | #include "coherence/io/EOFException.hpp" 8 | 9 | COH_OPEN_NAMESPACE2(coherence,io) 10 | 11 | 12 | // ----- constructors ------------------------------------------------------- 13 | 14 | EOFException::EOFException(String::View vsMsg, Exception::View vCause) 15 | : super(vsMsg, vCause) 16 | { 17 | } 18 | 19 | COH_CLOSE_NAMESPACE2 20 | -------------------------------------------------------------------------------- /src/coherence/io/IOException.cpp: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2000, 2020, Oracle and/or its affiliates. 3 | * 4 | * Licensed under the Universal Permissive License v 1.0 as shown at 5 | * http://oss.oracle.com/licenses/upl. 6 | */ 7 | #include "coherence/io/IOException.hpp" 8 | 9 | COH_OPEN_NAMESPACE2(coherence,io) 10 | 11 | 12 | IOException::IOException(String::View vsMsg, Exception::View vCause) 13 | : super(vsMsg, vCause) 14 | { 15 | } 16 | 17 | COH_CLOSE_NAMESPACE2 18 | -------------------------------------------------------------------------------- /src/coherence/io/InterruptedIOException.cpp: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2000, 2020, Oracle and/or its affiliates. 3 | * 4 | * Licensed under the Universal Permissive License v 1.0 as shown at 5 | * http://oss.oracle.com/licenses/upl. 6 | */ 7 | #include "coherence/io/InterruptedIOException.hpp" 8 | 9 | COH_OPEN_NAMESPACE2(coherence,io) 10 | 11 | // ----- constructors ------------------------------------------------------- 12 | 13 | InterruptedIOException::InterruptedIOException(String::View vsMsg, 14 | size32_t cBytesTransfered, Exception::View vCause) 15 | : super(vsMsg, vCause), m_cBytesTransfered(cBytesTransfered) 16 | { 17 | } 18 | 19 | // ----- InterruptedIOException --------------------------------------------- 20 | 21 | size32_t InterruptedIOException::getBytesTransfered() const 22 | { 23 | return m_cBytesTransfered; 24 | } 25 | 26 | COH_CLOSE_NAMESPACE2 27 | -------------------------------------------------------------------------------- /src/coherence/io/OutputStream.cpp: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2000, 2020, Oracle and/or its affiliates. 3 | * 4 | * Licensed under the Universal Permissive License v 1.0 as shown at 5 | * http://oss.oracle.com/licenses/upl. 6 | */ 7 | #include "private/coherence/io/OutputStream.hpp" 8 | 9 | COH_OPEN_NAMESPACE2(coherence,io) 10 | 11 | void OutputStream::close() 12 | { 13 | } 14 | 15 | void OutputStream::flush() 16 | { 17 | } 18 | 19 | void OutputStream::write(Array::View vab, size32_t i, size32_t cb) 20 | { 21 | if (cb == npos) 22 | { 23 | cb = vab->length - i; 24 | } 25 | 26 | for (size32_t cbWritten = 0; cbWritten < cb; ++cbWritten) 27 | { 28 | write(vab[i + cbWritten]); 29 | } 30 | } 31 | COH_CLOSE_NAMESPACE2 32 | -------------------------------------------------------------------------------- /src/coherence/io/Serializer.cpp: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2000, 2020, Oracle and/or its affiliates. 3 | * 4 | * Licensed under the Universal Permissive License v 1.0 as shown at 5 | * http://oss.oracle.com/licenses/upl. 6 | */ 7 | #include "coherence/io/Serializer.hpp" 8 | 9 | COH_OPEN_NAMESPACE2(coherence,io) 10 | 11 | COH_REGISTER_CLASS(TypedBarrenClass::create()); 12 | 13 | COH_CLOSE_NAMESPACE2 14 | -------------------------------------------------------------------------------- /src/coherence/io/UTFDataFormatException.cpp: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2000, 2020, Oracle and/or its affiliates. 3 | * 4 | * Licensed under the Universal Permissive License v 1.0 as shown at 5 | * http://oss.oracle.com/licenses/upl. 6 | */ 7 | #include "coherence/io/UTFDataFormatException.hpp" 8 | 9 | COH_OPEN_NAMESPACE2(coherence,io) 10 | 11 | 12 | // ----- constructors ------------------------------------------------------- 13 | 14 | UTFDataFormatException::UTFDataFormatException(String::View vsMsg, 15 | Exception::View vCause) 16 | : super(vsMsg, vCause) 17 | { 18 | } 19 | 20 | COH_CLOSE_NAMESPACE2 21 | -------------------------------------------------------------------------------- /src/coherence/io/WrapperStreamFactory.cpp: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2000, 2020, Oracle and/or its affiliates. 3 | * 4 | * Licensed under the Universal Permissive License v 1.0 as shown at 5 | * http://oss.oracle.com/licenses/upl. 6 | */ 7 | #include "coherence/io/WrapperStreamFactory.hpp" 8 | 9 | COH_OPEN_NAMESPACE2(coherence,io) 10 | 11 | COH_REGISTER_CLASS(TypedBarrenClass::create()); 12 | 13 | COH_CLOSE_NAMESPACE2 14 | -------------------------------------------------------------------------------- /src/coherence/io/pof/PortableObject.cpp: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2000, 2020, Oracle and/or its affiliates. 3 | * 4 | * Licensed under the Universal Permissive License v 1.0 as shown at 5 | * http://oss.oracle.com/licenses/upl. 6 | */ 7 | #include "coherence/io/pof/PortableObject.hpp" 8 | 9 | COH_OPEN_NAMESPACE3(coherence,io,pof) 10 | 11 | // ----- ClassLoader registration ------------------------------------------- 12 | 13 | COH_REGISTER_CLASS(TypedBarrenClass::create()); 14 | 15 | COH_CLOSE_NAMESPACE3 16 | -------------------------------------------------------------------------------- /src/coherence/io/pof/SystemPofContextSerializerFactory.cpp: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2000, 2020, Oracle and/or its affiliates. 3 | * 4 | * Licensed under the Universal Permissive License v 1.0 as shown at 5 | * http://oss.oracle.com/licenses/upl. 6 | */ 7 | #include "private/coherence/io/pof/SystemPofContextSerializerFactory.hpp" 8 | 9 | #include "coherence/io/Serializer.hpp" 10 | #include "coherence/io/pof/SystemPofContext.hpp" 11 | 12 | COH_OPEN_NAMESPACE3(coherence,io,pof) 13 | 14 | 15 | // ----- constructors ------------------------------------------------------- 16 | 17 | SystemPofContextSerializerFactory::SystemPofContextSerializerFactory() 18 | { 19 | } 20 | 21 | // ----- SerializerFactory interface ---------------------------------------- 22 | 23 | Serializer::View SystemPofContextSerializerFactory::createSerializer(ClassLoader::View /* vLoader */) const 24 | { 25 | return SystemPofContext::getInstance(); 26 | } 27 | 28 | COH_CLOSE_NAMESPACE3 29 | 30 | -------------------------------------------------------------------------------- /src/coherence/io/pof/annotation/Portable.cpp: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2000, 2020, Oracle and/or its affiliates. 3 | * 4 | * Licensed under the Universal Permissive License v 1.0 as shown at 5 | * http://oss.oracle.com/licenses/upl. 6 | */ 7 | #include "coherence/io/pof/annotation/Portable.hpp" 8 | 9 | COH_OPEN_NAMESPACE4(coherence,io,pof,annotation) 10 | 11 | COH_REGISTER_TYPED_CLASS(Portable); 12 | 13 | // ----- Annotation members ------------------------------------------------- 14 | 15 | Class::View Portable::annotationType() const 16 | { 17 | return SystemClassLoader::getInstance()->loadByType(typeid(Portable)); 18 | } 19 | 20 | // ----- static members ----------------------------------------------------- 21 | 22 | Class::View Portable::getStaticClass() 23 | { 24 | static FinalView vClzPortable(System::common(), 25 | SystemClassLoader::getInstance()->loadByType(typeid(Portable))); 26 | return vClzPortable; 27 | } 28 | COH_STATIC_INIT(Portable::getStaticClass()); 29 | 30 | COH_CLOSE_NAMESPACE4 31 | -------------------------------------------------------------------------------- /src/coherence/io/pof/reflect/AbstractPofPath.cpp: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2000, 2020, Oracle and/or its affiliates. 3 | * 4 | * Licensed under the Universal Permissive License v 1.0 as shown at 5 | * http://oss.oracle.com/licenses/upl. 6 | */ 7 | #include "coherence/io/pof/reflect/AbstractPofPath.hpp" 8 | 9 | #include "coherence/io/pof/reflect/PofValue.hpp" 10 | 11 | COH_OPEN_NAMESPACE4(coherence,io,pof,reflect) 12 | 13 | using coherence::io::pof::reflect::PofValue; 14 | 15 | 16 | // ----- PofNavigator interface --------------------------------------------- 17 | 18 | PofValue::Handle AbstractPofPath::navigate(PofValue::Handle /*hValueOrigin*/) const 19 | { 20 | COH_THROW (UnsupportedOperationException::create( 21 | "local POF navigation unsupported")); 22 | } 23 | 24 | COH_CLOSE_NAMESPACE4 25 | -------------------------------------------------------------------------------- /src/coherence/lang/ArithmeticException.cpp: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2000, 2020, Oracle and/or its affiliates. 3 | * 4 | * Licensed under the Universal Permissive License v 1.0 as shown at 5 | * http://oss.oracle.com/licenses/upl. 6 | */ 7 | #include "coherence/lang/ArithmeticException.hpp" 8 | 9 | COH_OPEN_NAMESPACE2(coherence,lang) 10 | 11 | 12 | // ----- constructors ------------------------------------------------------- 13 | 14 | ArithmeticException::ArithmeticException(String::View vsMsg, Exception::View vCause) 15 | : super(vsMsg, vCause) 16 | { 17 | } 18 | 19 | COH_CLOSE_NAMESPACE2 20 | -------------------------------------------------------------------------------- /src/coherence/lang/ClassCastException.cpp: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2000, 2020, Oracle and/or its affiliates. 3 | * 4 | * Licensed under the Universal Permissive License v 1.0 as shown at 5 | * http://oss.oracle.com/licenses/upl. 6 | */ 7 | #include "coherence/lang/ClassCastException.hpp" 8 | 9 | #include "coherence/lang/Class.hpp" 10 | 11 | #include 12 | 13 | COH_OPEN_NAMESPACE2(coherence,lang) 14 | 15 | // ----- constructors ------------------------------------------------------- 16 | 17 | ClassCastException::ClassCastException(String::View vsMessage, Exception::View vCause) 18 | : super(vsMessage, vCause) 19 | { 20 | } 21 | 22 | // ----- free functions ----------------------------------------------------- 23 | 24 | /** 25 | * Throw a new ClassCastException instance. 26 | */ 27 | COH_EXPORT void coh_throw_class_cast(const std::type_info& infoD, 28 | const std::type_info& infoT) 29 | { 30 | COH_THROW_STREAM (ClassCastException, "attempt to cast from a \"" 31 | << Class::getTypeName(infoT) 32 | << "\" to a \"" 33 | << Class::getTypeName(infoD) << '"'); 34 | } 35 | 36 | 37 | COH_CLOSE_NAMESPACE2 38 | -------------------------------------------------------------------------------- /src/coherence/lang/ClassNotFoundException.cpp: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2000, 2020, Oracle and/or its affiliates. 3 | * 4 | * Licensed under the Universal Permissive License v 1.0 as shown at 5 | * http://oss.oracle.com/licenses/upl. 6 | */ 7 | #include "coherence/lang/ClassNotFoundException.hpp" 8 | 9 | #include 10 | 11 | COH_OPEN_NAMESPACE2(coherence,lang) 12 | 13 | // ----- constructors ------------------------------------------------------- 14 | 15 | ClassNotFoundException::ClassNotFoundException(String::View vsName, Exception::View vCause) 16 | : super(COH_TO_STRING(vsName << ": class not found"), vCause) 17 | { 18 | } 19 | 20 | COH_CLOSE_NAMESPACE2 21 | -------------------------------------------------------------------------------- /src/coherence/lang/CloneNotSupportedException.cpp: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2000, 2020, Oracle and/or its affiliates. 3 | * 4 | * Licensed under the Universal Permissive License v 1.0 as shown at 5 | * http://oss.oracle.com/licenses/upl. 6 | */ 7 | #include "coherence/lang/CloneNotSupportedException.hpp" 8 | 9 | #include "coherence/lang/Class.hpp" 10 | 11 | COH_OPEN_NAMESPACE2(coherence,lang) 12 | 13 | 14 | // ----- constructors ------------------------------------------------------- 15 | 16 | CloneNotSupportedException::CloneNotSupportedException(String::View vsMsg, Exception::View vCause) 17 | : super(vsMsg, vCause) 18 | { 19 | } 20 | 21 | // ----- free functions ----------------------------------------------------- 22 | 23 | /** 24 | * Throw a new CloneNotSupportedException instance. 25 | */ 26 | COH_EXPORT void coh_throw_clone_not_supported(const std::type_info& info) 27 | { 28 | COH_THROW (CloneNotSupportedException::create(Class::getTypeName(info))); 29 | } 30 | 31 | COH_CLOSE_NAMESPACE2 32 | -------------------------------------------------------------------------------- /src/coherence/lang/ConstCastException.cpp: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2000, 2020, Oracle and/or its affiliates. 3 | * 4 | * Licensed under the Universal Permissive License v 1.0 as shown at 5 | * http://oss.oracle.com/licenses/upl. 6 | */ 7 | #include "coherence/lang/ConstCastException.hpp" 8 | 9 | #include "coherence/lang/Class.hpp" 10 | 11 | #include 12 | 13 | COH_OPEN_NAMESPACE2(coherence,lang) 14 | 15 | // ----- constructors ------------------------------------------------------- 16 | 17 | ConstCastException::ConstCastException(String::View vsMessage, Exception::View vCause) 18 | : super(vsMessage, vCause) 19 | { 20 | } 21 | 22 | // ----- free functions ----------------------------------------------------- 23 | 24 | /** 25 | * Throw a new ConstCastException instance. 26 | */ 27 | COH_EXPORT void coh_throw_const_cast(const std::type_info& infoD, 28 | const std::type_info& infoT) 29 | { 30 | COH_THROW_STREAM (ConstCastException, "attempt to cast from a \"const " 31 | << Class::getTypeName(infoT) 32 | << "\" to a \"" 33 | << Class::getTypeName(infoD) << '"'); 34 | } 35 | 36 | COH_CLOSE_NAMESPACE2 37 | -------------------------------------------------------------------------------- /src/coherence/lang/HeapAnalyzer.cpp: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2000, 2020, Oracle and/or its affiliates. 3 | * 4 | * Licensed under the Universal Permissive License v 1.0 as shown at 5 | * http://oss.oracle.com/licenses/upl. 6 | */ 7 | #include "coherence/lang/HeapAnalyzer.hpp" 8 | 9 | #include "coherence/lang/IllegalStateException.hpp" 10 | #include "coherence/lang/System.hpp" 11 | 12 | COH_OPEN_NAMESPACE2(coherence,lang) 13 | 14 | 15 | HeapAnalyzer::Snapshot::View HeapAnalyzer::ensureHeap( 16 | HeapAnalyzer::Snapshot::View vSnap, int64_t cDelta) 17 | { 18 | HeapAnalyzer::View vAnalyzer = System::getHeapAnalyzer(); 19 | if (vSnap != NULL) 20 | { 21 | Snapshot::View vDelta = vAnalyzer->delta(vSnap); 22 | int64_t cActual = vDelta->getObjectCount(); 23 | 24 | if (cActual != cDelta) 25 | { 26 | COH_THROW_STREAM (IllegalStateException, "mismatched object count: " 27 | << cActual << " != " << cDelta << '\n' << vDelta); 28 | } 29 | } 30 | 31 | return vAnalyzer->capture(); 32 | } 33 | 34 | COH_CLOSE_NAMESPACE2 35 | -------------------------------------------------------------------------------- /src/coherence/lang/IllegalArgumentException.cpp: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2000, 2020, Oracle and/or its affiliates. 3 | * 4 | * Licensed under the Universal Permissive License v 1.0 as shown at 5 | * http://oss.oracle.com/licenses/upl. 6 | */ 7 | #include "coherence/lang/IllegalArgumentException.hpp" 8 | 9 | COH_OPEN_NAMESPACE2(coherence,lang) 10 | 11 | 12 | // ----- constructors ------------------------------------------------------- 13 | 14 | IllegalArgumentException::IllegalArgumentException(String::View vsMsg, 15 | Exception::View vCause) 16 | : super(vsMsg, vCause) 17 | { 18 | } 19 | 20 | // ----- free functions ----------------------------------------------------- 21 | 22 | /** 23 | * Throw a new IllegalArgumentException instance. 24 | */ 25 | COH_EXPORT void coh_throw_illegal_argument(const char* achMsg) 26 | { 27 | COH_THROW (IllegalArgumentException::create(achMsg)); 28 | } 29 | 30 | COH_CLOSE_NAMESPACE2 31 | -------------------------------------------------------------------------------- /src/coherence/lang/IllegalStateException.cpp: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2000, 2020, Oracle and/or its affiliates. 3 | * 4 | * Licensed under the Universal Permissive License v 1.0 as shown at 5 | * http://oss.oracle.com/licenses/upl. 6 | */ 7 | #include "coherence/lang/IllegalStateException.hpp" 8 | 9 | COH_OPEN_NAMESPACE2(coherence,lang) 10 | 11 | 12 | // ----- constructors ------------------------------------------------------- 13 | 14 | IllegalStateException::IllegalStateException(String::View vsMsg, 15 | Exception::View vCause) 16 | : super(vsMsg, vCause) 17 | { 18 | } 19 | 20 | // ----- free functions ----------------------------------------------------- 21 | 22 | /** 23 | * Throw a new IllegalStateException instance. 24 | */ 25 | COH_EXPORT void coh_throw_illegal_state(const char* achMsg) 26 | { 27 | COH_THROW (IllegalStateException::create(achMsg)); 28 | } 29 | 30 | COH_CLOSE_NAMESPACE2 31 | -------------------------------------------------------------------------------- /src/coherence/lang/IndexOutOfBoundsException.cpp: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2000, 2020, Oracle and/or its affiliates. 3 | * 4 | * Licensed under the Universal Permissive License v 1.0 as shown at 5 | * http://oss.oracle.com/licenses/upl. 6 | */ 7 | #include "coherence/lang/IndexOutOfBoundsException.hpp" 8 | 9 | COH_OPEN_NAMESPACE2(coherence,lang) 10 | 11 | 12 | // ----- constructors ------------------------------------------------------- 13 | 14 | IndexOutOfBoundsException::IndexOutOfBoundsException(String::View vsMsg, 15 | Exception::View vCause) 16 | : super(vsMsg, vCause) 17 | { 18 | } 19 | 20 | 21 | // ----- free functions ----------------------------------------------------- 22 | 23 | /** 24 | * Throw a new IndexOutOfBoundsException instance. 25 | */ 26 | COH_EXPORT void coh_throw_ioob(size32_t i) 27 | { 28 | COH_THROW_STREAM (IndexOutOfBoundsException, i); 29 | } 30 | 31 | COH_CLOSE_NAMESPACE2 32 | -------------------------------------------------------------------------------- /src/coherence/lang/InterruptedException.cpp: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2000, 2020, Oracle and/or its affiliates. 3 | * 4 | * Licensed under the Universal Permissive License v 1.0 as shown at 5 | * http://oss.oracle.com/licenses/upl. 6 | */ 7 | #include "coherence/lang/InterruptedException.hpp" 8 | 9 | COH_OPEN_NAMESPACE2(coherence,lang) 10 | 11 | 12 | // ----- constructors ------------------------------------------------------- 13 | 14 | InterruptedException::InterruptedException(String::View vsMsg, Exception::View vCause) 15 | : super(vsMsg, vCause) 16 | { 17 | } 18 | 19 | COH_CLOSE_NAMESPACE2 20 | -------------------------------------------------------------------------------- /src/coherence/lang/LifeCycle.cpp: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2000, 2020, Oracle and/or its affiliates. 3 | * 4 | * Licensed under the Universal Permissive License v 1.0 as shown at 5 | * http://oss.oracle.com/licenses/upl. 6 | */ 7 | #include "coherence/lang/LifeCycle.hpp" 8 | 9 | #include 10 | 11 | COH_OPEN_NAMESPACE2(coherence,lang) 12 | 13 | // ensure that the bitfield fits within an int32_t 14 | COH_STATIC_ASSERT(sizeof(LifeCycle::State) <= sizeof(int32_t)); 15 | COH_STATIC_ASSERT(sizeof(LifeCycle::Refs) <= sizeof(int32_t)); 16 | 17 | COH_CLOSE_NAMESPACE2 18 | -------------------------------------------------------------------------------- /src/coherence/lang/MutableReference.cpp: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2000, 2020, Oracle and/or its affiliates. 3 | * 4 | * Licensed under the Universal Permissive License v 1.0 as shown at 5 | * http://oss.oracle.com/licenses/upl. 6 | */ 7 | #include "private/coherence/lang/MutableReference.hpp" 8 | 9 | COH_OPEN_NAMESPACE2(coherence,lang) 10 | 11 | // ----- constructors ------------------------------------------------------- 12 | 13 | MutableReference::MutableReference(Object::Holder ohReferant) 14 | : m_ohReferant(super::self(), ohReferant) 15 | { 16 | } 17 | 18 | 19 | // ----- Reference interface ------------------------------------------------ 20 | 21 | void MutableReference::set(Object::Holder ohReferant) 22 | { 23 | m_ohReferant = ohReferant; 24 | } 25 | 26 | Object::Holder MutableReference::get() const 27 | { 28 | return m_ohReferant; 29 | } 30 | 31 | Object::Holder MutableReference::get() 32 | { 33 | return m_ohReferant; 34 | } 35 | 36 | COH_CLOSE_NAMESPACE2 37 | -------------------------------------------------------------------------------- /src/coherence/lang/NoSuchElementException.cpp: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2000, 2020, Oracle and/or its affiliates. 3 | * 4 | * Licensed under the Universal Permissive License v 1.0 as shown at 5 | * http://oss.oracle.com/licenses/upl. 6 | */ 7 | #include "coherence/lang/NoSuchElementException.hpp" 8 | 9 | COH_OPEN_NAMESPACE2(coherence,lang) 10 | 11 | 12 | // ----- constructors ------------------------------------------------------- 13 | 14 | NoSuchElementException::NoSuchElementException(String::View vsMsg, 15 | Exception::View vCause) 16 | : super(vsMsg, vCause) 17 | { 18 | } 19 | 20 | COH_CLOSE_NAMESPACE2 21 | -------------------------------------------------------------------------------- /src/coherence/lang/NoSuchMethodException.cpp: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2000, 2020, Oracle and/or its affiliates. 3 | * 4 | * Licensed under the Universal Permissive License v 1.0 as shown at 5 | * http://oss.oracle.com/licenses/upl. 6 | */ 7 | #include "coherence/lang/NoSuchMethodException.hpp" 8 | 9 | #include "coherence/lang/String.hpp" 10 | 11 | #include 12 | 13 | COH_OPEN_NAMESPACE2(coherence,lang) 14 | 15 | // ----- constructors ------------------------------------------------------- 16 | 17 | NoSuchMethodException::NoSuchMethodException(String::View vsMsg, Exception::View vCause) 18 | : super(vsMsg, vCause) 19 | { 20 | } 21 | 22 | COH_CLOSE_NAMESPACE2 23 | -------------------------------------------------------------------------------- /src/coherence/lang/NullPointerException.cpp: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2000, 2020, Oracle and/or its affiliates. 3 | * 4 | * Licensed under the Universal Permissive License v 1.0 as shown at 5 | * http://oss.oracle.com/licenses/upl. 6 | */ 7 | #include "coherence/lang/NullPointerException.hpp" 8 | 9 | #include "coherence/lang/Class.hpp" 10 | #include "coherence/lang/String.hpp" 11 | 12 | COH_OPEN_NAMESPACE2(coherence,lang) 13 | 14 | 15 | // ----- constructors ------------------------------------------------------- 16 | 17 | NullPointerException::NullPointerException(String::View vsMsg, 18 | Exception::View vCause) 19 | : super(vsMsg, vCause) 20 | { 21 | } 22 | 23 | // ----- free functions ----------------------------------------------------- 24 | 25 | /** 26 | * Throw a new NullPointerException instance. 27 | */ 28 | COH_EXPORT void coh_throw_npe(const std::type_info& info) 29 | { 30 | COH_THROW_STREAM (NullPointerException, 31 | "derefrencing a " << Class::getTypeName(info)); 32 | } 33 | 34 | COH_CLOSE_NAMESPACE2 35 | -------------------------------------------------------------------------------- /src/coherence/lang/ObjectArray.cpp: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2000, 2020, Oracle and/or its affiliates. 3 | * 4 | * Licensed under the Universal Permissive License v 1.0 as shown at 5 | * http://oss.oracle.com/licenses/upl. 6 | */ 7 | #include "coherence/lang/ObjectArray.hpp" 8 | 9 | #include "coherence/lang/SystemClassLoader.hpp" 10 | #include "coherence/lang/TypedBarrenClass.hpp" 11 | 12 | COH_OPEN_NAMESPACE2(coherence,lang) 13 | 14 | COH_REGISTER_CLASS(TypedBarrenClass::create()); 15 | 16 | COH_CLOSE_NAMESPACE2 17 | -------------------------------------------------------------------------------- /src/coherence/lang/RuntimeException.cpp: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2000, 2020, Oracle and/or its affiliates. 3 | * 4 | * Licensed under the Universal Permissive License v 1.0 as shown at 5 | * http://oss.oracle.com/licenses/upl. 6 | */ 7 | #include "coherence/lang/RuntimeException.hpp" 8 | 9 | COH_OPEN_NAMESPACE2(coherence,lang) 10 | 11 | 12 | // ----- constructors ------------------------------------------------------- 13 | 14 | RuntimeException::RuntimeException(String::View vsMsg, 15 | Exception::View vCause) 16 | : super(vsMsg, vCause) 17 | { 18 | } 19 | 20 | COH_CLOSE_NAMESPACE2 21 | -------------------------------------------------------------------------------- /src/coherence/lang/SecurityException.cpp: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2000, 2020, Oracle and/or its affiliates. 3 | * 4 | * Licensed under the Universal Permissive License v 1.0 as shown at 5 | * http://oss.oracle.com/licenses/upl. 6 | */ 7 | #include "coherence/lang/SecurityException.hpp" 8 | 9 | COH_OPEN_NAMESPACE2(coherence,lang) 10 | 11 | 12 | // ----- constructors ------------------------------------------------------- 13 | 14 | SecurityException::SecurityException(String::View vsMsg, 15 | Exception::View vCause) 16 | : super(vsMsg, vCause) 17 | { 18 | } 19 | 20 | COH_CLOSE_NAMESPACE2 21 | -------------------------------------------------------------------------------- /src/coherence/lang/UnsupportedOperationException.cpp: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2000, 2020, Oracle and/or its affiliates. 3 | * 4 | * Licensed under the Universal Permissive License v 1.0 as shown at 5 | * http://oss.oracle.com/licenses/upl. 6 | */ 7 | #include "coherence/lang/UnsupportedOperationException.hpp" 8 | 9 | #include 10 | 11 | COH_OPEN_NAMESPACE2(coherence,lang) 12 | 13 | // ----- constructors ------------------------------------------------------- 14 | 15 | UnsupportedOperationException::UnsupportedOperationException( 16 | String::View vsMsg, Exception::View vCause) 17 | : super(vsMsg, vCause) 18 | { 19 | } 20 | 21 | // ----- free functions ----------------------------------------------------- 22 | 23 | /** 24 | * Throw a new UnsupportedOperation instance. 25 | */ 26 | COH_EXPORT void coh_throw_unsupported_operation(const char* achMsg) 27 | { 28 | COH_THROW (UnsupportedOperationException::create(achMsg)); 29 | } 30 | 31 | COH_CLOSE_NAMESPACE2 32 | -------------------------------------------------------------------------------- /src/coherence/lang/WeakReference.cpp: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2000, 2020, Oracle and/or its affiliates. 3 | * 4 | * Licensed under the Universal Permissive License v 1.0 as shown at 5 | * http://oss.oracle.com/licenses/upl. 6 | */ 7 | #include "coherence/lang/WeakReference.hpp" 8 | 9 | #include "coherence/lang/FinalHandle.hpp" 10 | #include "coherence/lang/MemberHandle.hpp" 11 | #include "coherence/lang/System.hpp" 12 | 13 | #include "private/coherence/lang/WeakReferenceImpl.hpp" 14 | 15 | COH_OPEN_NAMESPACE2(coherence,lang) 16 | 17 | 18 | // ----- file local helpers ------------------------------------------------- 19 | 20 | namespace 21 | { 22 | WeakReference::Handle getNULLWeakReference() 23 | { 24 | static FinalHandle h(System::common(), 25 | WeakReferenceImpl::create((Object::Holder) NULL)); 26 | return h; 27 | } 28 | COH_STATIC_INIT(getNULLWeakReference()); 29 | } 30 | 31 | WeakReference::Holder WeakReference::valueOf(Object::Holder oh) 32 | { 33 | if (NULL == oh) 34 | { 35 | return getNULLWeakReference(); 36 | } 37 | else if (instanceof(oh)) 38 | { 39 | return cast(oh)->_attachWeak(); 40 | } 41 | return oh->_attachWeak(); 42 | } 43 | 44 | COH_CLOSE_NAMESPACE2 45 | -------------------------------------------------------------------------------- /src/coherence/lang/annotation/AbstractAnnotation.cpp: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2000, 2020, Oracle and/or its affiliates. 3 | * 4 | * Licensed under the Universal Permissive License v 1.0 as shown at 5 | * http://oss.oracle.com/licenses/upl. 6 | */ 7 | #include "coherence/lang/annotation/AbstractAnnotation.hpp" 8 | 9 | #include "coherence/lang.ns" 10 | 11 | COH_OPEN_NAMESPACE3(coherence,lang,annotation) 12 | 13 | COH_REGISTER_CLASS(TypedBarrenClass::create()); 14 | 15 | Class::View AbstractAnnotation::annotationType() const 16 | { 17 | return SystemClassLoader::getInstance()->loadByType(typeid(*this)); 18 | } 19 | 20 | COH_CLOSE_NAMESPACE3 21 | -------------------------------------------------------------------------------- /src/coherence/lang/annotation/Inherited.cpp: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2000, 2020, Oracle and/or its affiliates. 3 | * 4 | * Licensed under the Universal Permissive License v 1.0 as shown at 5 | * http://oss.oracle.com/licenses/upl. 6 | */ 7 | #include "coherence/lang/annotation/Inherited.hpp" 8 | 9 | #include "coherence/lang.ns" 10 | 11 | COH_OPEN_NAMESPACE3(coherence,lang,annotation) 12 | 13 | COH_REGISTER_CLASS(TypedBarrenClass::create()); 14 | 15 | Inherited::View Inherited::getInstance() 16 | { 17 | static FinalView s_vInherited(System::common(), Inherited::create()); 18 | return s_vInherited; 19 | } 20 | COH_STATIC_INIT(Inherited::getInstance()); 21 | 22 | COH_CLOSE_NAMESPACE3 23 | -------------------------------------------------------------------------------- /src/coherence/net/AddressProvider.cpp: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2000, 2025, Oracle and/or its affiliates. 3 | * 4 | * Licensed under the Universal Permissive License v 1.0 as shown at 5 | * https://oss.oracle.com/licenses/upl. 6 | */ 7 | #include "coherence/net/AddressProvider.hpp" 8 | 9 | COH_OPEN_NAMESPACE2(coherence,net) 10 | 11 | // ----- ClassLoader registration ------------------------------------------- 12 | 13 | COH_REGISTER_CLASS(TypedBarrenClass::create()); 14 | 15 | COH_CLOSE_NAMESPACE2 16 | -------------------------------------------------------------------------------- /src/coherence/net/InetAddressHelper.cpp: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2000, 2020, Oracle and/or its affiliates. 3 | * 4 | * Licensed under the Universal Permissive License v 1.0 as shown at 5 | * http://oss.oracle.com/licenses/upl. 6 | */ 7 | #include "private/coherence/net/InetAddressHelper.hpp" 8 | 9 | COH_OPEN_NAMESPACE2(coherence,net) 10 | 11 | 12 | InetAddress::View InetAddressHelper::getLocalHost() 13 | { 14 | // REVIEW NSA - review the decision not to port this method. 15 | return InetAddress::getLocalHost(); 16 | } 17 | 18 | String::View InetAddressHelper::toString(InetAddress::View vAddr) 19 | { 20 | return COH_TO_STRING(vAddr); 21 | } 22 | 23 | COH_CLOSE_NAMESPACE2 24 | -------------------------------------------------------------------------------- /src/coherence/net/RequestTimeoutException.cpp: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2000, 2020, Oracle and/or its affiliates. 3 | * 4 | * Licensed under the Universal Permissive License v 1.0 as shown at 5 | * http://oss.oracle.com/licenses/upl. 6 | */ 7 | #include "coherence/net/RequestTimeoutException.hpp" 8 | 9 | COH_OPEN_NAMESPACE2(coherence,net) 10 | 11 | COH_REGISTER_PORTABLE_CLASS(2, RequestTimeoutException); 12 | 13 | // ----- constructors -------------------------------------------------- 14 | 15 | RequestTimeoutException::RequestTimeoutException(String::View vsMsg, 16 | Exception::View vCause) 17 | : super(vsMsg, vCause) 18 | { 19 | } 20 | 21 | COH_CLOSE_NAMESPACE2 22 | -------------------------------------------------------------------------------- /src/coherence/net/SocketTimeoutException.cpp: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2000, 2020, Oracle and/or its affiliates. 3 | * 4 | * Licensed under the Universal Permissive License v 1.0 as shown at 5 | * http://oss.oracle.com/licenses/upl. 6 | */ 7 | #include "private/coherence/net/SocketTimeoutException.hpp" 8 | 9 | COH_OPEN_NAMESPACE2(coherence,net) 10 | 11 | // ----- constructors ------------------------------------------------------- 12 | 13 | SocketTimeoutException::SocketTimeoutException(String::View vsMsg, 14 | size32_t cBytesTransfered, Exception::View vCause) 15 | : super(vsMsg, cBytesTransfered, vCause) 16 | { 17 | } 18 | 19 | COH_CLOSE_NAMESPACE2 20 | -------------------------------------------------------------------------------- /src/coherence/net/URISyntaxException.cpp: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2000, 2020, Oracle and/or its affiliates. 3 | * 4 | * Licensed under the Universal Permissive License v 1.0 as shown at 5 | * http://oss.oracle.com/licenses/upl. 6 | */ 7 | #include "private/coherence/net/URISyntaxException.hpp" 8 | 9 | COH_OPEN_NAMESPACE2(coherence,net) 10 | 11 | // ----- constructors ------------------------------------------------------- 12 | 13 | URISyntaxException::URISyntaxException(String::View vsMsg, Exception::View vCause) 14 | : super(vsMsg, vCause) 15 | { 16 | } 17 | 18 | COH_CLOSE_NAMESPACE2 19 | -------------------------------------------------------------------------------- /src/coherence/net/UnknownHostException.cpp: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2000, 2020, Oracle and/or its affiliates. 3 | * 4 | * Licensed under the Universal Permissive License v 1.0 as shown at 5 | * http://oss.oracle.com/licenses/upl. 6 | */ 7 | #include "coherence/net/UnknownHostException.hpp" 8 | 9 | COH_OPEN_NAMESPACE2(coherence,net) 10 | 11 | 12 | // ----- constructors ------------------------------------------------------- 13 | 14 | UnknownHostException::UnknownHostException(String::View vsMsg, 15 | Exception::View vCause) 16 | : super(vsMsg, vCause) 17 | { 18 | } 19 | 20 | COH_CLOSE_NAMESPACE2 21 | -------------------------------------------------------------------------------- /src/coherence/net/cache/AbstractCacheLoader.cpp: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2000, 2020, Oracle and/or its affiliates. 3 | * 4 | * Licensed under the Universal Permissive License v 1.0 as shown at 5 | * http://oss.oracle.com/licenses/upl. 6 | */ 7 | #include "coherence/net/cache/AbstractCacheLoader.hpp" 8 | 9 | #include "coherence/util/HashMap.hpp" 10 | #include "coherence/util/Iterator.hpp" 11 | 12 | COH_OPEN_NAMESPACE3(coherence,net,cache) 13 | 14 | using coherence::util::HashMap; 15 | using coherence::util::Iterator; 16 | 17 | 18 | // ----- CacheLoader interface ---------------------------------------------- 19 | 20 | Map::View AbstractCacheLoader::loadAll(Collection::View vColKeys) 21 | { 22 | Map::Handle hMap = HashMap::create(); 23 | for (Iterator::Handle hIter = vColKeys->iterator(); hIter->hasNext(); ) 24 | { 25 | Object::View vKey = hIter->next(); 26 | Object::Holder ohValue = load(vKey); 27 | if (NULL != ohValue) 28 | { 29 | hMap->put(vKey, ohValue); 30 | } 31 | } 32 | return hMap; 33 | } 34 | 35 | COH_CLOSE_NAMESPACE3 36 | -------------------------------------------------------------------------------- /src/coherence/net/cache/NullKeyAssociation.cpp: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2000, 2020, Oracle and/or its affiliates. 3 | * 4 | * Licensed under the Universal Permissive License v 1.0 as shown at 5 | * http://oss.oracle.com/licenses/upl. 6 | */ 7 | #include "private/coherence/net/cache/NullKeyAssociation.hpp" 8 | 9 | COH_OPEN_NAMESPACE3(coherence,net,cache) 10 | 11 | 12 | // ----- KeyAssociation interface ------------------------------------------- 13 | 14 | Object::View NullKeyAssociation::getAssociatedKey() const 15 | { 16 | return NULL; 17 | } 18 | 19 | COH_CLOSE_NAMESPACE3 20 | -------------------------------------------------------------------------------- /src/coherence/net/messaging/Codec.cpp: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2000, 2020, Oracle and/or its affiliates. 3 | * 4 | * Licensed under the Universal Permissive License v 1.0 as shown at 5 | * http://oss.oracle.com/licenses/upl. 6 | */ 7 | #include "private/coherence/net/messaging/Codec.hpp" 8 | 9 | COH_OPEN_NAMESPACE3(coherence,net,messaging) 10 | 11 | COH_REGISTER_CLASS(TypedBarrenClass::create()); 12 | 13 | COH_CLOSE_NAMESPACE3 14 | -------------------------------------------------------------------------------- /src/coherence/net/messaging/ConnectionException.cpp: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2000, 2020, Oracle and/or its affiliates. 3 | * 4 | * Licensed under the Universal Permissive License v 1.0 as shown at 5 | * http://oss.oracle.com/licenses/upl. 6 | */ 7 | #include "coherence/net/messaging/ConnectionException.hpp" 8 | 9 | #include "coherence/io/pof/SystemPofContext.hpp" 10 | 11 | COH_OPEN_NAMESPACE3(coherence,net,messaging) 12 | 13 | COH_REGISTER_PORTABLE_CLASS(3, ConnectionException); 14 | 15 | // ----- constructors ------------------------------------------------------- 16 | 17 | ConnectionException::ConnectionException(String::View vsMsg, Exception::View vCause, 18 | Object::View vConnection) 19 | : super((vConnection == NULL 20 | ? vsMsg 21 | : vsMsg == NULL 22 | ? (String::View) COH_TO_STRING(vConnection) 23 | : (String::View) COH_TO_STRING(vConnection << ": " << vsMsg)) 24 | , vCause) 25 | { 26 | } 27 | 28 | COH_CLOSE_NAMESPACE3 29 | -------------------------------------------------------------------------------- /src/coherence/run/xml/XmlScript.cpp: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2000, 2020, Oracle and/or its affiliates. 3 | * 4 | * Licensed under the Universal Permissive License v 1.0 as shown at 5 | * http://oss.oracle.com/licenses/upl. 6 | */ 7 | #include "private/coherence/run/xml/XmlScript.hpp" 8 | 9 | COH_OPEN_NAMESPACE3(coherence,run,xml) 10 | 11 | 12 | // ----- constructors ------------------------------------------------------- 13 | 14 | XmlScript::XmlScript() 15 | { 16 | } 17 | 18 | XmlScript::XmlScript(String::View vsScript) 19 | : super(vsScript) 20 | { 21 | } 22 | 23 | COH_CLOSE_NAMESPACE3 24 | -------------------------------------------------------------------------------- /src/coherence/security/DefaultIdentityTransformer.cpp: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2000, 2020, Oracle and/or its affiliates. 3 | * 4 | * Licensed under the Universal Permissive License v 1.0 as shown at 5 | * http://oss.oracle.com/licenses/upl. 6 | */ 7 | #include "coherence/security/DefaultIdentityTransformer.hpp" 8 | 9 | 10 | COH_OPEN_NAMESPACE2(coherence,security) 11 | 12 | 13 | // ----- IdentityTransformer interface -------------------------------------- 14 | 15 | Object::View DefaultIdentityTransformer::transformIdentity( 16 | Subject::View vSubject, Service::View /*vService*/) const 17 | { 18 | return vSubject; 19 | } 20 | 21 | 22 | // ---- constants ----------------------------------------------------------- 23 | 24 | DefaultIdentityTransformer::Handle DefaultIdentityTransformer::getInstance() 25 | { 26 | static FinalHandle hDIT(System::common(), 27 | DefaultIdentityTransformer::create()); 28 | return hDIT; 29 | } 30 | COH_STATIC_INIT(DefaultIdentityTransformer::getInstance()); 31 | 32 | COH_CLOSE_NAMESPACE2 33 | -------------------------------------------------------------------------------- /src/coherence/security/IdentityAsserter.cpp: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2000, 2020, Oracle and/or its affiliates. 3 | * 4 | * Licensed under the Universal Permissive License v 1.0 as shown at 5 | * http://oss.oracle.com/licenses/upl. 6 | */ 7 | #include "coherence/security/IdentityAsserter.hpp" 8 | 9 | COH_OPEN_NAMESPACE2(coherence,security) 10 | 11 | COH_REGISTER_CLASS(TypedBarrenClass::create()); 12 | 13 | COH_CLOSE_NAMESPACE2 14 | -------------------------------------------------------------------------------- /src/coherence/security/IdentityTransformer.cpp: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2000, 2020, Oracle and/or its affiliates. 3 | * 4 | * Licensed under the Universal Permissive License v 1.0 as shown at 5 | * http://oss.oracle.com/licenses/upl. 6 | */ 7 | #include "coherence/security/IdentityTransformer.hpp" 8 | 9 | COH_OPEN_NAMESPACE2(coherence,security) 10 | 11 | COH_REGISTER_CLASS(TypedBarrenClass::create()); 12 | 13 | COH_CLOSE_NAMESPACE2 14 | -------------------------------------------------------------------------------- /src/coherence/util/AbstractMapListener.cpp: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2000, 2020, Oracle and/or its affiliates. 3 | * 4 | * Licensed under the Universal Permissive License v 1.0 as shown at 5 | * http://oss.oracle.com/licenses/upl. 6 | */ 7 | #include "coherence/util/AbstractMapListener.hpp" 8 | 9 | COH_OPEN_NAMESPACE2(coherence,util) 10 | 11 | 12 | // ----- MapListener interface ---------------------------------------------- 13 | 14 | void AbstractMapListener::entryInserted(MapEvent::View /*vEvent*/) 15 | { 16 | } 17 | 18 | void AbstractMapListener::entryUpdated(MapEvent::View /*vEvent*/) 19 | { 20 | } 21 | 22 | void AbstractMapListener::entryDeleted(MapEvent::View /*vEvent*/) 23 | { 24 | } 25 | 26 | COH_CLOSE_NAMESPACE2 27 | -------------------------------------------------------------------------------- /src/coherence/util/AbstractSet.cpp: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2000, 2020, Oracle and/or its affiliates. 3 | * 4 | * Licensed under the Universal Permissive License v 1.0 as shown at 5 | * http://oss.oracle.com/licenses/upl. 6 | */ 7 | #include "coherence/util/AbstractSet.hpp" 8 | 9 | COH_OPEN_NAMESPACE2(coherence,util) 10 | 11 | 12 | // ----- Object interface --------------------------------------------------- 13 | 14 | bool AbstractSet::equals(Object::View v) const 15 | { 16 | Set::View vThat = cast(v, false); 17 | 18 | if(vThat == this) 19 | { 20 | return true; 21 | } 22 | 23 | if (NULL == vThat ) 24 | { 25 | return false; 26 | } 27 | 28 | if(vThat->size() != size()) 29 | { 30 | return false; 31 | } 32 | 33 | return containsAll(vThat); 34 | } 35 | 36 | size32_t AbstractSet::hashCode() const 37 | { 38 | size32_t nHash = 0; 39 | for (Iterator::Handle i = iterator(); i->hasNext(); ) 40 | { 41 | Object::View v = i->next(); 42 | if (NULL != v) 43 | { 44 | nHash += v->hashCode(); 45 | } 46 | } 47 | return nHash; 48 | } 49 | 50 | COH_CLOSE_NAMESPACE2 51 | -------------------------------------------------------------------------------- /src/coherence/util/Collection.cpp: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2000, 2020, Oracle and/or its affiliates. 3 | * 4 | * Licensed under the Universal Permissive License v 1.0 as shown at 5 | * http://oss.oracle.com/licenses/upl. 6 | */ 7 | #include "coherence/util/Collection.hpp" 8 | 9 | COH_OPEN_NAMESPACE2(coherence,util) 10 | 11 | // ----- ClassLoader registration ------------------------------------------- 12 | 13 | COH_REGISTER_CLASS(TypedBarrenClass::create()); 14 | 15 | COH_CLOSE_NAMESPACE2 16 | -------------------------------------------------------------------------------- /src/coherence/util/ConcurrentModificationException.cpp: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2000, 2020, Oracle and/or its affiliates. 3 | * 4 | * Licensed under the Universal Permissive License v 1.0 as shown at 5 | * http://oss.oracle.com/licenses/upl. 6 | */ 7 | #include "coherence/util/ConcurrentModificationException.hpp" 8 | 9 | COH_OPEN_NAMESPACE2(coherence,util) 10 | 11 | // ----- constructors ------------------------------------------------------- 12 | 13 | ConcurrentModificationException::ConcurrentModificationException( 14 | String::View vsMsg, Exception::View vCause) 15 | : super(vsMsg, vCause) 16 | { 17 | } 18 | 19 | COH_CLOSE_NAMESPACE2 20 | -------------------------------------------------------------------------------- /src/coherence/util/Converter.cpp: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2000, 2020, Oracle and/or its affiliates. 3 | * 4 | * Licensed under the Universal Permissive License v 1.0 as shown at 5 | * http://oss.oracle.com/licenses/upl. 6 | */ 7 | #include "coherence/util/Converter.hpp" 8 | 9 | COH_OPEN_NAMESPACE2(coherence,util) 10 | 11 | 12 | // ----- Converter interface : static methods ------------------------------- 13 | 14 | Object::Holder Converter::convert(Converter::View vConvert, Object::Holder oh) 15 | { 16 | return NULL == vConvert ? oh : vConvert->convert(oh); 17 | } 18 | 19 | Object::Handle Converter::convertHandle(Converter::View vConvert, Object::Handle h) 20 | { 21 | return NULL == vConvert ? h : cast(vConvert->convert(h)); 22 | } 23 | 24 | COH_CLOSE_NAMESPACE2 25 | -------------------------------------------------------------------------------- /src/coherence/util/Describable.cpp: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2000, 2020, Oracle and/or its affiliates. 3 | * 4 | * Licensed under the Universal Permissive License v 1.0 as shown at 5 | * http://oss.oracle.com/licenses/upl. 6 | */ 7 | #include "coherence/util/Describable.hpp" 8 | 9 | COH_OPEN_NAMESPACE2(coherence,util) 10 | 11 | // ----- Describable interface ---------------------------------------------- 12 | 13 | String::View Describable::getDescription() const 14 | { 15 | return ""; 16 | } 17 | 18 | 19 | // ----- Object interface --------------------------------------------------- 20 | 21 | TypedHandle Describable::toString() const 22 | { 23 | return COH_TO_STRING(Class::getSimpleClassName(this) << '(' << getDescription() << ')'); 24 | } 25 | 26 | COH_CLOSE_NAMESPACE2 27 | -------------------------------------------------------------------------------- /src/coherence/util/Event.cpp: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2000, 2020, Oracle and/or its affiliates. 3 | * 4 | * Licensed under the Universal Permissive License v 1.0 as shown at 5 | * http://oss.oracle.com/licenses/upl. 6 | */ 7 | #include "coherence/util/Event.hpp" 8 | 9 | COH_OPEN_NAMESPACE2(coherence,util) 10 | 11 | 12 | // ----- constructors ------------------------------------------------------- 13 | 14 | Event::Event(Object::View vSource) 15 | : f_vSource(self(), vSource) 16 | { 17 | } 18 | 19 | 20 | // ----- Object interface --------------------------------------------------- 21 | 22 | TypedHandle Event::toString() const 23 | { 24 | return COH_TO_STRING("Event{" << getSource() << '}'); 25 | } 26 | 27 | 28 | // ----- accessors ---------------------------------------------------------- 29 | 30 | Object::View Event::getSource() const 31 | { 32 | return f_vSource; 33 | } 34 | 35 | COH_CLOSE_NAMESPACE2 36 | -------------------------------------------------------------------------------- /src/coherence/util/EventObject.cpp: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2000, 2020, Oracle and/or its affiliates. 3 | * 4 | * Licensed under the Universal Permissive License v 1.0 as shown at 5 | * http://oss.oracle.com/licenses/upl. 6 | */ 7 | #include "coherence/util/EventObject.hpp" 8 | 9 | COH_OPEN_NAMESPACE2(coherence,util) 10 | 11 | 12 | // ----- constructors ------------------------------------------------------- 13 | 14 | EventObject::EventObject(Object::Handle hSource) 15 | : f_hoSource(self(), hSource, /*fMutable*/ true) 16 | { 17 | } 18 | 19 | 20 | // ----- EventObject interface ---------------------------------------------- 21 | 22 | Object::Handle EventObject::getSource() const 23 | { 24 | return f_hoSource; 25 | } 26 | 27 | 28 | // ----- Describable interface ---------------------------------------------- 29 | 30 | String::View EventObject::getDescription() const 31 | { 32 | return COH_TO_STRING(super::getDescription() << "[source=" << f_hoSource << "]"); 33 | } 34 | 35 | COH_CLOSE_NAMESPACE2 36 | 37 | -------------------------------------------------------------------------------- /src/coherence/util/List.cpp: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2000, 2020, Oracle and/or its affiliates. 3 | * 4 | * Licensed under the Universal Permissive License v 1.0 as shown at 5 | * http://oss.oracle.com/licenses/upl. 6 | */ 7 | #include "coherence/util/List.hpp" 8 | 9 | COH_OPEN_NAMESPACE2(coherence,util) 10 | 11 | // ----- ClassLoader registration ------------------------------------------- 12 | 13 | COH_REGISTER_CLASS(TypedBarrenClass::create()); 14 | 15 | COH_CLOSE_NAMESPACE2 16 | -------------------------------------------------------------------------------- /src/coherence/util/Map.cpp: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2000, 2020, Oracle and/or its affiliates. 3 | * 4 | * Licensed under the Universal Permissive License v 1.0 as shown at 5 | * http://oss.oracle.com/licenses/upl. 6 | */ 7 | #include "coherence/util/Map.hpp" 8 | 9 | COH_OPEN_NAMESPACE2(coherence,util) 10 | 11 | // ----- ClassLoader registration ------------------------------------------- 12 | 13 | COH_REGISTER_CLASS(TypedBarrenClass::create()); 14 | 15 | COH_CLOSE_NAMESPACE2 16 | -------------------------------------------------------------------------------- /src/coherence/util/MapIndex.cpp: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2000, 2020, Oracle and/or its affiliates. 3 | * 4 | * Licensed under the Universal Permissive License v 1.0 as shown at 5 | * http://oss.oracle.com/licenses/upl. 6 | */ 7 | #include "coherence/util/MapIndex.hpp" 8 | 9 | COH_OPEN_NAMESPACE2(coherence,util) 10 | 11 | 12 | // ---- constants ------------------------------------------------------- 13 | 14 | Object::View MapIndex::getNoValue() 15 | { 16 | static FinalView vNOVALUE(System::common(), Object::create()); 17 | return vNOVALUE; 18 | } 19 | COH_STATIC_INIT(MapIndex::getNoValue()); 20 | 21 | COH_CLOSE_NAMESPACE2 22 | -------------------------------------------------------------------------------- /src/coherence/util/MapTriggerListener.cpp: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2000, 2020, Oracle and/or its affiliates. 3 | * 4 | * Licensed under the Universal Permissive License v 1.0 as shown at 5 | * http://oss.oracle.com/licenses/upl. 6 | */ 7 | #include "coherence/util/MapTriggerListener.hpp" 8 | 9 | COH_OPEN_NAMESPACE2(coherence,util) 10 | 11 | 12 | // ----- constructors ------------------------------------------------------- 13 | 14 | MapTriggerListener::MapTriggerListener(MapTrigger::Handle hTrigger) 15 | : f_hTrigger(self(), hTrigger) 16 | { 17 | COH_ENSURE_PARAM(hTrigger); 18 | } 19 | 20 | 21 | // ----- MultiplexingMapListener interface ---------------------------------- 22 | 23 | void MapTriggerListener::onMapEvent(MapEvent::View /* vEvent */) 24 | { 25 | COH_THROW (IllegalStateException::create( 26 | "MapTriggerListener may not be used as a generic MapListener")); 27 | } 28 | 29 | 30 | // ----- accessors ---------------------------------------------------------- 31 | 32 | MapTrigger::View MapTriggerListener::getTrigger() const 33 | { 34 | return f_hTrigger; 35 | } 36 | 37 | MapTrigger::Handle MapTriggerListener::getTrigger() 38 | { 39 | return f_hTrigger; 40 | } 41 | 42 | COH_CLOSE_NAMESPACE2 43 | -------------------------------------------------------------------------------- /src/coherence/util/MultiplexingMapListener.cpp: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2000, 2020, Oracle and/or its affiliates. 3 | * 4 | * Licensed under the Universal Permissive License v 1.0 as shown at 5 | * http://oss.oracle.com/licenses/upl. 6 | */ 7 | #include "coherence/util/MultiplexingMapListener.hpp" 8 | 9 | COH_OPEN_NAMESPACE2(coherence,util) 10 | 11 | 12 | // ----- MapListener interface ---------------------------------------------- 13 | 14 | void MultiplexingMapListener::entryInserted(MapEvent::View vEvent) 15 | { 16 | onMapEvent(vEvent); 17 | } 18 | 19 | void MultiplexingMapListener::entryUpdated(MapEvent::View vEvent) 20 | { 21 | onMapEvent(vEvent); 22 | } 23 | 24 | void MultiplexingMapListener::entryDeleted(MapEvent::View vEvent) 25 | { 26 | onMapEvent(vEvent); 27 | } 28 | 29 | COH_CLOSE_NAMESPACE2 30 | -------------------------------------------------------------------------------- /src/coherence/util/NullFilter.cpp: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2000, 2020, Oracle and/or its affiliates. 3 | * 4 | * Licensed under the Universal Permissive License v 1.0 as shown at 5 | * http://oss.oracle.com/licenses/upl. 6 | */ 7 | #include "coherence/util/NullFilter.hpp" 8 | 9 | #include "coherence/io/pof/SystemPofContext.hpp" 10 | 11 | COH_OPEN_NAMESPACE2(coherence,util) 12 | 13 | COH_REGISTER_PORTABLE_CLASS(10, NullFilter); 14 | 15 | 16 | // ----- constructors ------------------------------------------------------- 17 | 18 | NullFilter::NullFilter() 19 | { 20 | } 21 | 22 | NullFilter::NullFilter(const NullFilter& that) 23 | : super(that) 24 | { 25 | } 26 | 27 | 28 | // ----- Filter interface --------------------------------------------------- 29 | 30 | bool NullFilter::evaluate(Object::View v) const 31 | { 32 | return (v != NULL); 33 | } 34 | 35 | 36 | // ----- PortableObject interface ------------------------------------------- 37 | 38 | void NullFilter::readExternal(PofReader::Handle /*hIn*/ ) 39 | { 40 | } 41 | 42 | void NullFilter:: writeExternal(PofWriter::Handle /*hOut*/) const 43 | { 44 | } 45 | 46 | COH_CLOSE_NAMESPACE2 47 | -------------------------------------------------------------------------------- /src/coherence/util/PagedMuterator.cpp: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2000, 2020, Oracle and/or its affiliates. 3 | * 4 | * Licensed under the Universal Permissive License v 1.0 as shown at 5 | * http://oss.oracle.com/licenses/upl. 6 | */ 7 | #include "private/coherence/util/PagedMuterator.hpp" 8 | 9 | COH_OPEN_NAMESPACE2(coherence,util) 10 | 11 | // ----- constructor -------------------------------------------------------- 12 | 13 | PagedMuterator::PagedMuterator(Advancer::Handle hAdvancer) 14 | : super(hAdvancer) 15 | { 16 | } 17 | 18 | 19 | // ----- Muterator interface ------------------------------------------------ 20 | 21 | void PagedMuterator::remove() 22 | { 23 | Object::Holder ohCurr = m_ohCurr; 24 | if (NULL == ohCurr) 25 | { 26 | COH_THROW (IllegalStateException::create()); 27 | } 28 | 29 | struct InternalFinally 30 | { 31 | InternalFinally(PagedMuterator::Handle _hPagedMuterator) 32 | : hPagedMuterator(_hPagedMuterator) 33 | { 34 | } 35 | 36 | ~InternalFinally() 37 | { 38 | hPagedMuterator->m_ohCurr = NULL; 39 | } 40 | 41 | PagedMuterator::Handle hPagedMuterator; 42 | } finally(this); 43 | 44 | f_hAdvancer->remove(ohCurr); 45 | } 46 | 47 | COH_CLOSE_NAMESPACE2 48 | -------------------------------------------------------------------------------- /src/coherence/util/ReadOnlyArrayList.cpp: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2000, 2020, Oracle and/or its affiliates. 3 | * 4 | * Licensed under the Universal Permissive License v 1.0 as shown at 5 | * http://oss.oracle.com/licenses/upl. 6 | */ 7 | #include "coherence/util/ReadOnlyArrayList.hpp" 8 | 9 | 10 | COH_OPEN_NAMESPACE2(coherence,util) 11 | 12 | namespace 13 | { 14 | ObjectArray::View wrapArray(ObjectArray::View vao, size32_t of = 0, 15 | size32_t c = List::npos) 16 | { 17 | ObjectArray::Handle hao = ObjectArray::create(1); 18 | hao[0] = of == 0 && (c == List::npos || c == vao->length) 19 | ? vao 20 | : vao->subArray(of, of + c); 21 | return hao; 22 | } 23 | } 24 | 25 | ReadOnlyArrayList::ReadOnlyArrayList(ObjectArray::View vao, size32_t of, 26 | size32_t c) 27 | : super(wrapArray(vao, of, c)) 28 | { 29 | } 30 | 31 | 32 | COH_CLOSE_NAMESPACE2 33 | -------------------------------------------------------------------------------- /src/coherence/util/SafeHashSet.cpp: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2000, 2020, Oracle and/or its affiliates. 3 | * 4 | * Licensed under the Universal Permissive License v 1.0 as shown at 5 | * http://oss.oracle.com/licenses/upl. 6 | */ 7 | #include "coherence/util/SafeHashSet.hpp" 8 | 9 | #include "coherence/util/SafeHashMap.hpp" 10 | 11 | COH_OPEN_NAMESPACE2(coherence,util) 12 | 13 | COH_REGISTER_TYPED_CLASS(SafeHashSet); 14 | 15 | // ----- constructors ------------------------------------------------------- 16 | 17 | SafeHashSet::SafeHashSet() 18 | : super(cast(SafeHashMap::create())) 19 | { 20 | } 21 | 22 | SafeHashSet::SafeHashSet(size32_t cInitialBuckets, float32_t flLoadFactor, 23 | float32_t flGrowthRate) 24 | : super(cast(SafeHashMap::create(cInitialBuckets, flLoadFactor, flGrowthRate))) 25 | { 26 | } 27 | 28 | SafeHashSet::SafeHashSet(const SafeHashSet& that) 29 | : super(that) 30 | { 31 | } 32 | 33 | COH_CLOSE_NAMESPACE2 34 | -------------------------------------------------------------------------------- /src/coherence/util/Set.cpp: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2000, 2020, Oracle and/or its affiliates. 3 | * 4 | * Licensed under the Universal Permissive License v 1.0 as shown at 5 | * http://oss.oracle.com/licenses/upl. 6 | */ 7 | #include "coherence/util/Set.hpp" 8 | 9 | COH_OPEN_NAMESPACE2(coherence,util) 10 | 11 | // ----- ClassLoader registration ------------------------------------------- 12 | 13 | COH_REGISTER_CLASS(TypedBarrenClass::create()); 14 | 15 | COH_CLOSE_NAMESPACE2 16 | -------------------------------------------------------------------------------- /src/coherence/util/aggregator/AbstractFloat64Aggregator.cpp: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2000, 2020, Oracle and/or its affiliates. 3 | * 4 | * Licensed under the Universal Permissive License v 1.0 as shown at 5 | * http://oss.oracle.com/licenses/upl. 6 | */ 7 | #include "coherence/util/aggregator/AbstractFloat64Aggregator.hpp" 8 | 9 | COH_OPEN_NAMESPACE3(coherence,util,aggregator) 10 | 11 | 12 | // ----- constructors ------------------------------------------------------- 13 | 14 | AbstractFloat64Aggregator::AbstractFloat64Aggregator() 15 | : super() 16 | { 17 | } 18 | 19 | AbstractFloat64Aggregator::AbstractFloat64Aggregator( 20 | ValueExtractor::View vExtractor) 21 | : super(vExtractor) 22 | { 23 | } 24 | 25 | AbstractFloat64Aggregator::AbstractFloat64Aggregator( 26 | String::View vsMethod) 27 | : super(vsMethod) 28 | { 29 | } 30 | 31 | // ----- AbstractAggregator Interface -------------------------------------- 32 | 33 | void AbstractFloat64Aggregator::init(bool /* fFinal */) 34 | { 35 | m_count = 0; 36 | } 37 | 38 | Object::Holder AbstractFloat64Aggregator::finalizeResult( 39 | bool /* fFinal */) 40 | { 41 | return m_count == 0 ? (Float64::Handle) NULL : 42 | Float64::valueOf(m_dflResult); 43 | } 44 | 45 | COH_CLOSE_NAMESPACE3 46 | -------------------------------------------------------------------------------- /src/coherence/util/aggregator/AbstractInteger64Aggregator.cpp: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2000, 2020, Oracle and/or its affiliates. 3 | * 4 | * Licensed under the Universal Permissive License v 1.0 as shown at 5 | * http://oss.oracle.com/licenses/upl. 6 | */ 7 | #include "coherence/util/aggregator/AbstractInteger64Aggregator.hpp" 8 | 9 | COH_OPEN_NAMESPACE3(coherence,util,aggregator) 10 | 11 | 12 | // ----- constructors ------------------------------------------------------- 13 | 14 | AbstractInteger64Aggregator::AbstractInteger64Aggregator() 15 | : super() 16 | { 17 | } 18 | 19 | AbstractInteger64Aggregator::AbstractInteger64Aggregator( 20 | ValueExtractor::View vExtractor) 21 | : super(vExtractor) 22 | { 23 | } 24 | 25 | AbstractInteger64Aggregator::AbstractInteger64Aggregator( 26 | String::View vsMethod) 27 | : super(vsMethod) 28 | { 29 | } 30 | 31 | // ----- AbstractAggregator Interface -------------------------------------- 32 | 33 | void AbstractInteger64Aggregator::init(bool /* fFinal */) 34 | { 35 | m_count = 0; 36 | } 37 | 38 | Object::Holder AbstractInteger64Aggregator::finalizeResult( 39 | bool /* fFinal */) 40 | { 41 | return m_count == 0 ? (Integer64::Handle) NULL : 42 | Integer64::valueOf(m_lResult); 43 | } 44 | 45 | COH_CLOSE_NAMESPACE3 46 | -------------------------------------------------------------------------------- /src/coherence/util/aggregator/Float64Sum.cpp: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2000, 2020, Oracle and/or its affiliates. 3 | * 4 | * Licensed under the Universal Permissive License v 1.0 as shown at 5 | * http://oss.oracle.com/licenses/upl. 6 | */ 7 | #include "coherence/util/aggregator/Float64Sum.hpp" 8 | 9 | #include "coherence/io/pof/SystemPofContext.hpp" 10 | 11 | COH_OPEN_NAMESPACE3(coherence,util,aggregator) 12 | 13 | COH_REGISTER_PORTABLE_CLASS(33, Float64Sum); 14 | 15 | 16 | // ----- constructors ------------------------------------------------------- 17 | 18 | Float64Sum::Float64Sum() 19 | : super() 20 | { 21 | } 22 | 23 | Float64Sum::Float64Sum(ValueExtractor::View vExtractor) 24 | : super(vExtractor) 25 | { 26 | } 27 | 28 | Float64Sum::Float64Sum(String::View vsMethod) 29 | : super(vsMethod) 30 | { 31 | } 32 | 33 | // ----- AbstractAggregator Interface -------------------------------------- 34 | 35 | void Float64Sum::init(bool fFinal) 36 | { 37 | AbstractFloat64Aggregator::init(fFinal); 38 | m_dflResult = 0.0; 39 | } 40 | 41 | void Float64Sum::process(Object::View v, bool /* fFinal */) 42 | { 43 | if (v != NULL) 44 | { 45 | m_dflResult += cast(v)->getFloat64Value(); 46 | m_count++; 47 | } 48 | } 49 | 50 | COH_CLOSE_NAMESPACE3 51 | -------------------------------------------------------------------------------- /src/coherence/util/aggregator/Integer64Sum.cpp: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2000, 2020, Oracle and/or its affiliates. 3 | * 4 | * Licensed under the Universal Permissive License v 1.0 as shown at 5 | * http://oss.oracle.com/licenses/upl. 6 | */ 7 | #include "coherence/util/aggregator/Integer64Sum.hpp" 8 | 9 | #include "coherence/io/pof/SystemPofContext.hpp" 10 | 11 | COH_OPEN_NAMESPACE3(coherence,util,aggregator) 12 | 13 | COH_REGISTER_PORTABLE_CLASS(38, Integer64Sum); 14 | 15 | 16 | // ----- constructors ------------------------------------------------------- 17 | 18 | Integer64Sum::Integer64Sum() 19 | : super() 20 | { 21 | } 22 | 23 | Integer64Sum::Integer64Sum(ValueExtractor::View vExtractor) 24 | : super(vExtractor) 25 | { 26 | } 27 | 28 | Integer64Sum::Integer64Sum(String::View vsMethod) 29 | : super(vsMethod) 30 | { 31 | } 32 | 33 | // ----- AbstractAggregator Interface -------------------------------------- 34 | 35 | void Integer64Sum::init(bool fFinal) 36 | { 37 | AbstractInteger64Aggregator::init(fFinal); 38 | m_lResult = 0; 39 | } 40 | 41 | void Integer64Sum::process(Object::View v, bool /* fFinal */) 42 | { 43 | if (v != NULL) 44 | { 45 | m_lResult += cast(v)->getInt64Value(); 46 | m_count++; 47 | } 48 | } 49 | 50 | COH_CLOSE_NAMESPACE3 51 | -------------------------------------------------------------------------------- /src/coherence/util/extractor/EntryExtractor.cpp: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2000, 2020, Oracle and/or its affiliates. 3 | * 4 | * Licensed under the Universal Permissive License v 1.0 as shown at 5 | * http://oss.oracle.com/licenses/upl. 6 | */ 7 | #include "coherence/util/extractor/EntryExtractor.hpp" 8 | 9 | COH_OPEN_NAMESPACE3(coherence,util,extractor) 10 | 11 | 12 | // ----- constructors ------------------------------------------------------- 13 | 14 | EntryExtractor::EntryExtractor() 15 | { 16 | m_nTarget = value; 17 | } 18 | 19 | EntryExtractor::EntryExtractor(int32_t nTarget) 20 | { 21 | m_nTarget = nTarget; 22 | } 23 | 24 | 25 | // ----- PortableObject interface ------------------------------------------- 26 | 27 | void EntryExtractor::readExternal(PofReader::Handle hIn) 28 | { 29 | m_nTarget = hIn->readInt32(0); 30 | } 31 | 32 | void EntryExtractor::writeExternal(PofWriter::Handle hOut) const 33 | { 34 | hOut->writeInt32(0, m_nTarget); 35 | } 36 | 37 | COH_CLOSE_NAMESPACE3 38 | -------------------------------------------------------------------------------- /src/coherence/util/filter/AndFilter.cpp: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2000, 2020, Oracle and/or its affiliates. 3 | * 4 | * Licensed under the Universal Permissive License v 1.0 as shown at 5 | * http://oss.oracle.com/licenses/upl. 6 | */ 7 | #include "coherence/util/filter/AndFilter.hpp" 8 | 9 | #include "coherence/io/pof/SystemPofContext.hpp" 10 | 11 | COH_OPEN_NAMESPACE3(coherence,util,filter) 12 | 13 | COH_REGISTER_PORTABLE_CLASS(62, AndFilter); 14 | 15 | 16 | // ----- constructors ------------------------------------------------------- 17 | 18 | AndFilter::AndFilter() 19 | : super() 20 | { 21 | } 22 | 23 | AndFilter::AndFilter(Filter::View vFilterLeft, 24 | Filter::View vFilterRight) 25 | : super() 26 | { 27 | ObjectArray::Handle haFilter = ObjectArray::create(2); 28 | haFilter[0] = vFilterLeft; 29 | haFilter[1] = vFilterRight; 30 | m_vaFilter = haFilter; 31 | } 32 | 33 | COH_CLOSE_NAMESPACE3 34 | -------------------------------------------------------------------------------- /src/coherence/util/filter/IsNotNullFilter.cpp: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2000, 2020, Oracle and/or its affiliates. 3 | * 4 | * Licensed under the Universal Permissive License v 1.0 as shown at 5 | * http://oss.oracle.com/licenses/upl. 6 | */ 7 | #include "coherence/util/filter/IsNotNullFilter.hpp" 8 | 9 | #include "coherence/io/pof/SystemPofContext.hpp" 10 | 11 | COH_OPEN_NAMESPACE3(coherence,util,filter) 12 | 13 | COH_REGISTER_PORTABLE_CLASS(73, IsNotNullFilter); 14 | 15 | 16 | // ----- constructors ------------------------------------------------------- 17 | 18 | IsNotNullFilter::IsNotNullFilter() 19 | : super() 20 | { 21 | } 22 | 23 | IsNotNullFilter::IsNotNullFilter(ValueExtractor::View vValueExtractor) 24 | : super(vValueExtractor, (Object::View) NULL) 25 | { 26 | } 27 | 28 | COH_CLOSE_NAMESPACE3 29 | -------------------------------------------------------------------------------- /src/coherence/util/filter/IsNullFilter.cpp: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2000, 2020, Oracle and/or its affiliates. 3 | * 4 | * Licensed under the Universal Permissive License v 1.0 as shown at 5 | * http://oss.oracle.com/licenses/upl. 6 | */ 7 | #include "coherence/util/filter/IsNullFilter.hpp" 8 | 9 | #include "coherence/io/pof/SystemPofContext.hpp" 10 | 11 | COH_OPEN_NAMESPACE3(coherence,util,filter) 12 | 13 | COH_REGISTER_PORTABLE_CLASS(74, IsNullFilter); 14 | 15 | 16 | // ----- constructors ------------------------------------------------------- 17 | 18 | IsNullFilter::IsNullFilter() 19 | : super() 20 | { 21 | } 22 | 23 | IsNullFilter::IsNullFilter(ValueExtractor::View vValueExtractor) 24 | : super(vValueExtractor, (Object::View) NULL) 25 | { 26 | } 27 | 28 | COH_CLOSE_NAMESPACE3 29 | -------------------------------------------------------------------------------- /src/coherence/util/filter/OrFilter.cpp: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2000, 2020, Oracle and/or its affiliates. 3 | * 4 | * Licensed under the Universal Permissive License v 1.0 as shown at 5 | * http://oss.oracle.com/licenses/upl. 6 | */ 7 | #include "coherence/util/filter/OrFilter.hpp" 8 | 9 | #include "coherence/io/pof/SystemPofContext.hpp" 10 | 11 | COH_OPEN_NAMESPACE3(coherence,util,filter) 12 | 13 | COH_REGISTER_PORTABLE_CLASS(83, OrFilter); 14 | 15 | 16 | // ----- constructors ------------------------------------------------------- 17 | 18 | OrFilter::OrFilter() 19 | : super() 20 | { 21 | } 22 | 23 | OrFilter::OrFilter(Filter::View vFilterLeft, Filter::View vFilterRight) 24 | : super() 25 | { 26 | ObjectArray::Handle haFilter = ObjectArray::create(2); 27 | haFilter[0] = vFilterLeft; 28 | haFilter[1] = vFilterRight; 29 | m_vaFilter = haFilter; 30 | } 31 | 32 | COH_CLOSE_NAMESPACE3 33 | -------------------------------------------------------------------------------- /src/coherence/util/logging/LogOutput.cpp: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2000, 2020, Oracle and/or its affiliates. 3 | * 4 | * Licensed under the Universal Permissive License v 1.0 as shown at 5 | * http://oss.oracle.com/licenses/upl. 6 | */ 7 | #include "private/coherence/util/logging/LogOutput.hpp" 8 | 9 | COH_OPEN_NAMESPACE3(coherence,util,logging) 10 | 11 | 12 | // ----- LogOutput interface ------------------------------------------------ 13 | 14 | void LogOutput::log(int32_t nLevel, Exception::View vEx, 15 | String::View vsMessage) 16 | { 17 | write(translateLevel(nLevel), vEx, vsMessage); 18 | } 19 | 20 | void LogOutput::log(int32_t nLevel, String::View vsMessage) 21 | { 22 | write(translateLevel(nLevel), vsMessage); 23 | } 24 | 25 | void LogOutput::log(int32_t nLevel, Exception::View vEx) 26 | { 27 | write(translateLevel(nLevel), vEx); 28 | } 29 | 30 | void LogOutput::close() 31 | { 32 | } 33 | 34 | COH_CLOSE_NAMESPACE3 35 | -------------------------------------------------------------------------------- /src/coherence/util/processor/AbstractClusterProcessor.cpp: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2000, 2020, Oracle and/or its affiliates. 3 | * 4 | * Licensed under the Universal Permissive License v 1.0 as shown at 5 | * http://oss.oracle.com/licenses/upl. 6 | */ 7 | #include "coherence/util/processor/AbstractClusterProcessor.hpp" 8 | 9 | COH_OPEN_NAMESPACE3(coherence,util,processor) 10 | 11 | // ----- PortableObject interface ------------------------------------------- 12 | 13 | void AbstractClusterProcessor::readExternal(PofReader::Handle /* hIn */) 14 | { 15 | } 16 | 17 | void AbstractClusterProcessor::writeExternal(PofWriter::Handle /* hOut */) const 18 | { 19 | } 20 | 21 | COH_CLOSE_NAMESPACE3 22 | -------------------------------------------------------------------------------- /src/coherence/util/processor/AbstractProcessor.cpp: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2000, 2020, Oracle and/or its affiliates. 3 | * 4 | * Licensed under the Universal Permissive License v 1.0 as shown at 5 | * http://oss.oracle.com/licenses/upl. 6 | */ 7 | #include "coherence/util/processor/AbstractProcessor.hpp" 8 | 9 | #include "coherence/util/HashMap.hpp" 10 | 11 | COH_OPEN_NAMESPACE3(coherence,util,processor) 12 | 13 | using coherence::util::HashMap; 14 | 15 | 16 | // ----- InvocableMap::EntryProcessor interface ----------------------------- 17 | 18 | Object::Holder AbstractProcessor::process( 19 | InvocableMap::Entry::Handle /* hEntry */) const 20 | { 21 | COH_THROW (UnsupportedOperationException::create( 22 | "This entry processor cannot be invoked on the client.")); 23 | } 24 | 25 | Map::View AbstractProcessor::processAll(Set::View vSetEntries) const 26 | { 27 | Map::Handle hMapResults = HashMap::create(); 28 | for (Iterator::Handle iter = vSetEntries->iterator(); iter->hasNext(); ) 29 | { 30 | InvocableMap::Entry::Handle hEntry = 31 | cast(iter->next()); 32 | hMapResults->put(hEntry->getKey(), process(hEntry)); 33 | } 34 | return hMapResults; 35 | } 36 | 37 | COH_CLOSE_NAMESPACE3 38 | -------------------------------------------------------------------------------- /tests/common/include/coherence/tests/ProcessorPrintUUIDTimestamp.hpp: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2000, 2020, Oracle and/or its affiliates. 3 | * 4 | * Licensed under the Universal Permissive License v 1.0 as shown at 5 | * http://oss.oracle.com/licenses/upl. 6 | */ 7 | #ifndef COH_PROCESSOR_PRINT_UUID_TIMESTAMP_HPP 8 | #define COH_PROCESSOR_PRINT_UUID_TIMESTAMP_HPP 9 | 10 | #include "coherence/lang.ns" 11 | 12 | #include "coherence/util/processor/AbstractClusterProcessor.hpp" 13 | 14 | COH_OPEN_NAMESPACE2(coherence,tests) 15 | 16 | using coherence::util::processor::AbstractClusterProcessor; 17 | 18 | /** 19 | * Example AbstractClusterProcessor implementation that returns value's UUID timestamp. 20 | * 21 | * @author welin 2013.07.10 22 | */ 23 | class ProcessorPrintUUIDTimestamp : public class_spec > 25 | { 26 | friend class factory; 27 | 28 | // ----- constructors ----------------------------------------------- 29 | 30 | protected: 31 | /** 32 | * Default constructor. 33 | */ 34 | ProcessorPrintUUIDTimestamp(); 35 | }; 36 | 37 | COH_CLOSE_NAMESPACE2 38 | 39 | #endif //COH_PROCESSOR_PRINT_UUID_TIMESTAMP_HPP 40 | -------------------------------------------------------------------------------- /tests/common/include/common/TestEvenFilter.hpp: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2000, 2020, Oracle and/or its affiliates. 3 | * 4 | * Licensed under the Universal Permissive License v 1.0 as shown at 5 | * http://oss.oracle.com/licenses/upl. 6 | */ 7 | #ifndef COH_TEST_EVEN_FILTER_HPP 8 | #define COH_TEST_EVEN_FILTER_HPP 9 | 10 | #include "coherence/lang.ns" 11 | #include "coherence/util/Filter.hpp" 12 | 13 | using coherence::util::Filter; 14 | 15 | class TestEvenFilter 16 | : public class_spec, 18 | implements > 19 | { 20 | friend class factory; 21 | 22 | public: 23 | virtual bool evaluate(Object::View v) const 24 | { 25 | Integer32::View vValue = cast(v); 26 | return vValue->getInt32Value() % 2 == 0; 27 | } 28 | }; 29 | 30 | #endif // #define COH_TEST_EVEN_FILTER_HPP 31 | -------------------------------------------------------------------------------- /tests/common/src/cpp/coherence/tests/IncrementorInvocable.cpp: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2000, 2020, Oracle and/or its affiliates. 3 | * 4 | * Licensed under the Universal Permissive License v 1.0 as shown at 5 | * http://oss.oracle.com/licenses/upl. 6 | */ 7 | #include "coherence/tests/IncrementorInvocable.hpp" 8 | 9 | #include "coherence/io/pof/SystemPofContext.hpp" 10 | 11 | COH_OPEN_NAMESPACE2(coherence,tests) 12 | 13 | COH_REGISTER_PORTABLE_CLASS(1500, IncrementorInvocable); 14 | 15 | 16 | // ----- constructors ------------------------------------------------------- 17 | 18 | IncrementorInvocable::IncrementorInvocable() 19 | : m_n(0) 20 | { 21 | } 22 | 23 | 24 | IncrementorInvocable::IncrementorInvocable(int32_t n) 25 | : m_n(n) 26 | { 27 | } 28 | 29 | // ----- PortableObject interface ------------------------------------------- 30 | 31 | void IncrementorInvocable::readExternal(PofReader::Handle hIn) 32 | { 33 | m_n = hIn->readInt32(0); 34 | } 35 | 36 | void IncrementorInvocable::writeExternal(PofWriter::Handle hOut) const 37 | { 38 | hOut->writeInt32(0, m_n); 39 | } 40 | 41 | COH_CLOSE_NAMESPACE2 42 | -------------------------------------------------------------------------------- /tests/common/src/cpp/coherence/tests/IntegerComparator.cpp: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2000, 2020, Oracle and/or its affiliates. 3 | * 4 | * Licensed under the Universal Permissive License v 1.0 as shown at 5 | * http://oss.oracle.com/licenses/upl. 6 | */ 7 | #include "coherence/tests/IntegerComparator.hpp" 8 | 9 | #include "coherence/io/pof/SystemPofContext.hpp" 10 | 11 | using namespace std; 12 | 13 | COH_OPEN_NAMESPACE2(coherence,tests) 14 | 15 | COH_REGISTER_PORTABLE_CLASS(1011, IntegerComparator); 16 | 17 | 18 | // ----- constructors ------------------------------------------------------- 19 | 20 | IntegerComparator::IntegerComparator() 21 | { 22 | } 23 | 24 | 25 | // ----- Comparator interface ---------------------------------------------- 26 | 27 | int32_t IntegerComparator::compare(Object::View v1, Object::View v2) const 28 | { 29 | return ((cast(v2))->getInt32Value() - ((cast(v1)))->getInt32Value()); 30 | } 31 | 32 | // ----- PortableObject interface ------------------------------------------- 33 | 34 | void IntegerComparator::readExternal(PofReader::Handle /*hIn*/) 35 | { 36 | } 37 | 38 | void IntegerComparator::writeExternal(PofWriter::Handle /*hOut*/) const 39 | { 40 | } 41 | 42 | COH_CLOSE_NAMESPACE2 43 | -------------------------------------------------------------------------------- /tests/common/src/cpp/coherence/tests/MBeanInvocable.cpp: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2000, 2020, Oracle and/or its affiliates. 3 | * 4 | * Licensed under the Universal Permissive License v 1.0 as shown at 5 | * http://oss.oracle.com/licenses/upl. 6 | */ 7 | #include "coherence/tests/MBeanInvocable.hpp" 8 | 9 | #include "coherence/io/pof/SystemPofContext.hpp" 10 | 11 | COH_OPEN_NAMESPACE2(coherence,tests) 12 | 13 | COH_REGISTER_PORTABLE_CLASS(1510, MBeanInvocable); 14 | 15 | // ----- constructors ------------------------------------------------------- 16 | 17 | MBeanInvocable::MBeanInvocable() 18 | { 19 | } 20 | 21 | // ----- PortableObject interface ------------------------------------------- 22 | 23 | void MBeanInvocable::readExternal(PofReader::Handle /* hIn */) 24 | { 25 | } 26 | 27 | void MBeanInvocable::writeExternal(PofWriter::Handle /* hOut */) const 28 | { 29 | } 30 | 31 | COH_CLOSE_NAMESPACE2 32 | -------------------------------------------------------------------------------- /tests/common/src/cpp/coherence/tests/POFObjectInvocable.cpp: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2000, 2020, Oracle and/or its affiliates. 3 | * 4 | * Licensed under the Universal Permissive License v 1.0 as shown at 5 | * http://oss.oracle.com/licenses/upl. 6 | */ 7 | #include "coherence/tests/POFObjectInvocable.hpp" 8 | 9 | #include "coherence/io/pof/SystemPofContext.hpp" 10 | 11 | COH_OPEN_NAMESPACE2(coherence,tests) 12 | 13 | COH_REGISTER_PORTABLE_CLASS(1503, POFObjectInvocable); 14 | 15 | 16 | // ----- constructors ------------------------------------------------------- 17 | 18 | POFObjectInvocable::POFObjectInvocable() 19 | : f_vPOFObject(self()) 20 | { 21 | } 22 | 23 | POFObjectInvocable::POFObjectInvocable(Object::View v) 24 | : f_vPOFObject(self(), v) 25 | { 26 | } 27 | 28 | // ----- PortableObject interface ------------------------------------------- 29 | 30 | void POFObjectInvocable::readExternal(PofReader::Handle hIn) 31 | { 32 | initialize(f_vPOFObject, hIn->readObject(0)); 33 | } 34 | 35 | void POFObjectInvocable::writeExternal(PofWriter::Handle hOut) const 36 | { 37 | hOut->writeObject(0, f_vPOFObject); 38 | } 39 | 40 | COH_CLOSE_NAMESPACE2 41 | -------------------------------------------------------------------------------- /tests/common/src/cpp/coherence/tests/ProcessorPrintUUIDTimestamp.cpp: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2000, 2020, Oracle and/or its affiliates. 3 | * 4 | * Licensed under the Universal Permissive License v 1.0 as shown at 5 | * http://oss.oracle.com/licenses/upl. 6 | */ 7 | #include "coherence/tests/ProcessorPrintUUIDTimestamp.hpp" 8 | 9 | #include "coherence/io/pof/SystemPofContext.hpp" 10 | 11 | COH_OPEN_NAMESPACE2(coherence,tests) 12 | 13 | COH_REGISTER_PORTABLE_CLASS(1512, ProcessorPrintUUIDTimestamp); 14 | 15 | 16 | // ----- constructors ------------------------------------------------------- 17 | 18 | ProcessorPrintUUIDTimestamp::ProcessorPrintUUIDTimestamp() 19 | { 20 | } 21 | 22 | COH_CLOSE_NAMESPACE2 23 | -------------------------------------------------------------------------------- /tests/common/src/cpp/coherence/tests/StringLengthComparator.cpp: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2000, 2020, Oracle and/or its affiliates. 3 | * 4 | * Licensed under the Universal Permissive License v 1.0 as shown at 5 | * http://oss.oracle.com/licenses/upl. 6 | */ 7 | #include "coherence/tests/StringLengthComparator.hpp" 8 | 9 | #include "coherence/io/pof/SystemPofContext.hpp" 10 | 11 | COH_OPEN_NAMESPACE2(coherence,tests) 12 | 13 | COH_REGISTER_PORTABLE_CLASS(1502, StringLengthComparator); 14 | 15 | 16 | // ----- constructors ------------------------------------------------------- 17 | 18 | StringLengthComparator::StringLengthComparator() 19 | { 20 | } 21 | 22 | 23 | // ----- Comparator interface ---------------------------------------------- 24 | 25 | int32_t StringLengthComparator::compare(Object::View v1, Object::View v2) const 26 | { 27 | return int32_t(cast(v1)->length()) - 28 | int32_t(cast(v2)->length()); 29 | } 30 | 31 | // ----- PortableObject interface ------------------------------------------- 32 | 33 | void StringLengthComparator::readExternal(PofReader::Handle /*hIn*/) 34 | { 35 | } 36 | 37 | void StringLengthComparator::writeExternal(PofWriter::Handle /*hOut*/) const 38 | { 39 | } 40 | 41 | COH_CLOSE_NAMESPACE2 42 | -------------------------------------------------------------------------------- /tests/common/src/java/coherence/tests/SlowAggregator.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2000, 2020, Oracle and/or its affiliates. 3 | * 4 | * Licensed under the Universal Permissive License v 1.0 as shown at 5 | * http://oss.oracle.com/licenses/upl. 6 | */ 7 | package coherence.tests; 8 | 9 | import com.tangosol.util.Base; 10 | 11 | import com.tangosol.util.aggregator.DoubleAverage; 12 | import com.tangosol.util.extractor.IdentityExtractor; 13 | 14 | /** 15 | * @author jk 2016.03.29 16 | */ 17 | public class SlowAggregator extends DoubleAverage 18 | { 19 | public SlowAggregator() 20 | { 21 | super(IdentityExtractor.INSTANCE); 22 | } 23 | 24 | @Override 25 | protected Object finalizeResult(boolean fFinal) 26 | { 27 | if (!fFinal) 28 | { 29 | Base.sleep(10000L); 30 | } 31 | return super.finalizeResult(fFinal); 32 | } 33 | } 34 | -------------------------------------------------------------------------------- /tests/performance/handles/assignment/AssignmentTest.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2000, 2020, Oracle and/or its affiliates. 3 | * 4 | * Licensed under the Universal Permissive License v 1.0 as shown at 5 | * http://oss.oracle.com/licenses/upl. 6 | */ 7 | 8 | public class AssignmentTest 9 | { 10 | /** 11 | * Test entry point 12 | */ 13 | public static void main(String[] asArg) 14 | { 15 | int cAssign = asArg.length > 0 16 | ? Integer.parseInt(asArg[0]) 17 | : 10000; 18 | 19 | Object o = new Object(); 20 | long ldtStart = System.currentTimeMillis(); 21 | 22 | for (int i = 0; i < cAssign; ++i) 23 | { 24 | Object o2 = o; 25 | } 26 | 27 | long ldtEnd = System.currentTimeMillis(); 28 | long cMillis = ldtEnd - ldtStart; 29 | 30 | System.out.println("performed " + cAssign 31 | + " assignments in " 32 | + cMillis + " ms; throughput = " 33 | + (cAssign / (cMillis / 1000.0)) + "/sec"); 34 | } 35 | } 36 | -------------------------------------------------------------------------------- /tests/unit/coherence/lang/AllocatorTest.hpp: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2000, 2020, Oracle and/or its affiliates. 3 | * 4 | * Licensed under the Universal Permissive License v 1.0 as shown at 5 | * http://oss.oracle.com/licenses/upl. 6 | */ 7 | #include "coherence/lang.ns" 8 | 9 | #include "private/coherence/lang/Allocator.hpp" 10 | 11 | #include "cxxtest/TestSuite.h" 12 | 13 | using namespace coherence::lang; 14 | 15 | using coherence::lang::Allocator; 16 | 17 | 18 | /** 19 | * Test suite for the Allocator class. 20 | * 21 | * Generates allocations when the heapLogging flag 22 | * has been set. 23 | */ 24 | class AllocatorTest : public CxxTest::TestSuite 25 | { 26 | public: 27 | 28 | /** 29 | * Test creation. 30 | */ 31 | void testAllocation() 32 | { 33 | bool fHeapLogging = 34 | Boolean::parse(System::getProperty("tangosol.coherence.heap.logging")); 35 | if (fHeapLogging) 36 | { 37 | for (int32_t i = 0; i < 50000; i++) 38 | { 39 | void* ab1 = Allocator::allocate(1); 40 | Allocator::release(ab1); 41 | } 42 | } 43 | } 44 | }; 45 | -------------------------------------------------------------------------------- /tests/unit/coherence/lang/BoxHandleTest.hpp: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2000, 2020, Oracle and/or its affiliates. 3 | * 4 | * Licensed under the Universal Permissive License v 1.0 as shown at 5 | * http://oss.oracle.com/licenses/upl. 6 | */ 7 | #include "cxxtest/TestSuite.h" 8 | #include "coherence/lang.ns" 9 | 10 | 11 | using namespace coherence::lang; 12 | 13 | /** 14 | * Test Suite for the BoxHandle object. 15 | */ 16 | class BoxHandleTest : public CxxTest::TestSuite 17 | { 18 | public: 19 | void testBoxUnbox() 20 | { 21 | BoxHandle hn = 123; 22 | TS_ASSERT(hn->getValue() == 123); 23 | TS_ASSERT(hn == 123); 24 | } 25 | 26 | void testNonStrictNullUnbox() 27 | { 28 | BoxHandle hn; 29 | TS_ASSERT(is_null(hn)); 30 | TS_ASSERT(((int32_t) hn) == 0); // not sure if 0 is guaranteed, hmmmmm 31 | } 32 | 33 | void testStrictNullUnbox() 34 | { 35 | BoxHandle hn; 36 | TS_ASSERT(is_null(hn)); 37 | int32_t nVal; 38 | TS_ASSERT_THROWS(nVal = (int32_t) hn, NullPointerException::View); 39 | (void) nVal; // avoid "unused-but-set-variable" gcc compilation warning 40 | } 41 | }; 42 | -------------------------------------------------------------------------------- /tests/unit/coherence/lang/TypedClassTest.hpp: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2000, 2020, Oracle and/or its affiliates. 3 | * 4 | * Licensed under the Universal Permissive License v 1.0 as shown at 5 | * http://oss.oracle.com/licenses/upl. 6 | */ 7 | #include "cxxtest/TestSuite.h" 8 | #include "coherence/lang.ns" 9 | 10 | #include "coherence/util/HashMap.hpp" 11 | #include "coherence/lang/TypedClass.hpp" 12 | 13 | using namespace coherence::lang; 14 | using namespace coherence::util; 15 | 16 | /** 17 | * Test Suite for the TypedClass object. 18 | */ 19 | class TypedClassSuite : public CxxTest::TestSuite 20 | { 21 | public: 22 | void testNewInstance() 23 | { 24 | Class::Handle hClass = TypedClass::create(); 25 | HashMap::Handle hMap = cast(hClass->newInstance()); 26 | TS_ASSERT(hMap != NULL); 27 | } 28 | }; 29 | -------------------------------------------------------------------------------- /tests/unit/coherence/lang/VolatileTest.hpp: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2000, 2020, Oracle and/or its affiliates. 3 | * 4 | * Licensed under the Universal Permissive License v 1.0 as shown at 5 | * http://oss.oracle.com/licenses/upl. 6 | */ 7 | 8 | #include "cxxtest/TestSuite.h" 9 | #include "coherence/lang.ns" 10 | 11 | using namespace coherence::lang; 12 | 13 | /** 14 | * Test Suite for the Volatile. 15 | */ 16 | class VolatileSuite : public CxxTest::TestSuite 17 | { 18 | public: 19 | void testAssign() 20 | { 21 | Volatile fVolatile(System::common()); 22 | fVolatile = true; 23 | TS_ASSERT(fVolatile == true); 24 | } 25 | 26 | void testCompare() 27 | { 28 | Volatile fVolatile(System::common()); 29 | fVolatile = true; 30 | TS_ASSERT(fVolatile == true); 31 | TS_ASSERT(fVolatile != false); 32 | TS_ASSERT(fVolatile == fVolatile) 33 | } 34 | 35 | void testDereference() 36 | { 37 | Volatile fVolatile(System::common()); 38 | fVolatile = true; 39 | bool f = fVolatile; 40 | TS_ASSERT(f == true); 41 | } 42 | }; 43 | -------------------------------------------------------------------------------- /tests/unit/coherence/native/MutexTest.hpp: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2000, 2020, Oracle and/or its affiliates. 3 | * 4 | * Licensed under the Universal Permissive License v 1.0 as shown at 5 | * http://oss.oracle.com/licenses/upl. 6 | */ 7 | #include "cxxtest/TestSuite.h" 8 | #include "coherence/lang.ns" 9 | 10 | #include "private/coherence/native/NativeMutex.hpp" 11 | 12 | using namespace coherence::lang; 13 | using namespace coherence::native; 14 | using namespace std; 15 | 16 | /** 17 | * Test Suite for the Boolean object. 18 | */ 19 | class NativeNativeMutexTest : public CxxTest::TestSuite 20 | { 21 | public: 22 | 23 | void testCreateDestroy() 24 | { 25 | NativeMutex* pNativeMutex = NativeMutex::create(); 26 | TS_ASSERT(pNativeMutex != NULL); 27 | delete pNativeMutex; 28 | } 29 | 30 | void testLock() 31 | { 32 | COH_AUTO_PTR apNativeMutex(NativeMutex::create()); 33 | apNativeMutex->lock(); 34 | apNativeMutex->unlock(); 35 | } 36 | 37 | void testTryLock() 38 | { 39 | COH_AUTO_PTR apNativeMutex(NativeMutex::create()); 40 | TS_ASSERT(apNativeMutex->tryLock()); 41 | apNativeMutex->unlock(); 42 | } 43 | }; 44 | -------------------------------------------------------------------------------- /tests/unit/coherence/stl/AdapterMapTest.hpp: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2000, 2020, Oracle and/or its affiliates. 3 | * 4 | * Licensed under the Universal Permissive License v 1.0 as shown at 5 | * http://oss.oracle.com/licenses/upl. 6 | */ 7 | 8 | #include "cxxtest/TestSuite.h" 9 | #include "coherence/lang.ns" 10 | 11 | #include "coherence/util/HashMap.hpp" 12 | 13 | #include "coherence/stl/adapter_map.hpp" 14 | 15 | using namespace coherence::lang; 16 | using namespace coherence::util; 17 | using namespace coherence::stl; 18 | 19 | /** 20 | * Test Suite for adapter_map. 21 | */ 22 | class AdapterMapTest : public CxxTest::TestSuite 23 | { 24 | public: 25 | void testPutGet() 26 | { 27 | adapter_map m(HashMap::create()); 28 | String::View vsKey = "hello"; 29 | Integer32::View vnVal = Integer32::valueOf(123); 30 | 31 | m[vsKey] = vnVal; 32 | TS_ASSERT(m[vsKey] == vnVal); 33 | } 34 | 35 | void testBoxing() 36 | { 37 | adapter_map > m(HashMap::create()); 38 | m["hello"] = 123; 39 | int32_t val = m["hello"]; 40 | TS_ASSERT(123 == val); 41 | } 42 | }; 43 | -------------------------------------------------------------------------------- /tests/unit/coherence/util/EventTest.hpp: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2000, 2020, Oracle and/or its affiliates. 3 | * 4 | * Licensed under the Universal Permissive License v 1.0 as shown at 5 | * http://oss.oracle.com/licenses/upl. 6 | */ 7 | #include "coherence/lang.ns" 8 | #include "coherence/util/Event.hpp" 9 | 10 | #include "cxxtest/TestSuite.h" 11 | 12 | using namespace coherence::lang; 13 | 14 | using coherence::util::Event; 15 | 16 | 17 | /** 18 | * Test suite for the Event class. 19 | */ 20 | class EventTest : public CxxTest::TestSuite 21 | { 22 | public: 23 | /** 24 | * Test Event creation. 25 | */ 26 | void testCreate() 27 | { 28 | String::View vsSource = "SOURCE"; 29 | Event::Handle hEvt = Event::create(vsSource); 30 | TS_ASSERT(hEvt->getSource() == vsSource); 31 | } 32 | }; 33 | -------------------------------------------------------------------------------- /tests/unit/coherence/util/TestOutput.hpp: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2000, 2020, Oracle and/or its affiliates. 3 | * 4 | * Licensed under the Universal Permissive License v 1.0 as shown at 5 | * http://oss.oracle.com/licenses/upl. 6 | */ 7 | #ifndef COH_TESTOUTPUT_HPP 8 | #define COH_TESTOUTPUT_HPP 9 | 10 | #include "coherence/lang.ns" 11 | 12 | #include "private/coherence/util/logging/Standard.hpp" 13 | 14 | #include 15 | 16 | using namespace coherence::lang; 17 | using namespace coherence::util::logging; 18 | using namespace std; 19 | 20 | class TestOutput 21 | : public class_spec > 23 | { 24 | friend class factory; 25 | 26 | protected: 27 | TestOutput(ostream& strm) 28 | { 29 | setOutput(strm); 30 | } 31 | public: 32 | 33 | inline void setOutput(ostream& strm) 34 | { 35 | m_Out = &strm; 36 | } 37 | }; 38 | 39 | 40 | #endif //COH_TESTOUTPUT_HPP 41 | 42 | 43 | -------------------------------------------------------------------------------- /tests/unit/coherence/util/extractor/ChainedExtractorTest.hpp: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2000, 2020, Oracle and/or its affiliates. 3 | * 4 | * Licensed under the Universal Permissive License v 1.0 as shown at 5 | * http://oss.oracle.com/licenses/upl. 6 | */ 7 | #include "cxxtest/TestSuite.h" 8 | #include "coherence/lang.ns" 9 | 10 | #include "coherence/util/extractor/ChainedExtractor.hpp" 11 | #include "common/TestPerson.hpp" 12 | 13 | using namespace coherence::lang; 14 | 15 | using coherence::util::extractor::ChainedExtractor; 16 | 17 | using namespace common::test; 18 | 19 | /** 20 | * Test Suite for ChainedExtractor. 21 | */ 22 | class ChainedExtractorSuite : public CxxTest::TestSuite 23 | { 24 | public: 25 | /** 26 | * Test ChainedExtractor 27 | */ 28 | void testChainedExtractor() 29 | { 30 | ChainedExtractor::View hExtract = 31 | ChainedExtractor::create(ChainedExtractor::createExtractors( 32 | "getSpouse.getAge")); 33 | TS_ASSERT(hExtract->extract( 34 | MarriedPerson::create("Mark", 36, MarriedPerson::create("Otti", 37))) 35 | ->equals(Integer32::create(37))); 36 | } 37 | }; 38 | -------------------------------------------------------------------------------- /tests/unit/coherence/util/extractor/IdentityExtractorTest.hpp: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2000, 2020, Oracle and/or its affiliates. 3 | * 4 | * Licensed under the Universal Permissive License v 1.0 as shown at 5 | * http://oss.oracle.com/licenses/upl. 6 | */ 7 | #include "cxxtest/TestSuite.h" 8 | #include "coherence/lang.ns" 9 | 10 | #include "coherence/util/extractor/IdentityExtractor.hpp" 11 | 12 | using namespace coherence::lang; 13 | 14 | using coherence::util::extractor::IdentityExtractor; 15 | 16 | 17 | /** 18 | * Test Suite for IdentityExtractor. 19 | */ 20 | class IdentityExtractorSuite : public CxxTest::TestSuite 21 | { 22 | public: 23 | /** 24 | * Test IdentityExtractor 25 | */ 26 | void testIdentityExtractor() 27 | { 28 | Float32::Handle hObj = Float32::create(0.0F); // the king of numbers 29 | IdentityExtractor::Handle hExtract = IdentityExtractor::create(); 30 | Object::View ans = hExtract->extract(hObj); 31 | TS_ASSERT(hObj == ans); 32 | } 33 | }; 34 | -------------------------------------------------------------------------------- /tests/unit/coherence/util/extractor/ReflectionExtractorTest.hpp: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2000, 2020, Oracle and/or its affiliates. 3 | * 4 | * Licensed under the Universal Permissive License v 1.0 as shown at 5 | * http://oss.oracle.com/licenses/upl. 6 | */ 7 | #include "cxxtest/TestSuite.h" 8 | 9 | #include "coherence/lang.ns" 10 | 11 | #include "coherence/util/extractor/ReflectionExtractor.hpp" 12 | #include "coherence/util/filter/EqualsFilter.hpp" 13 | 14 | #include "common/TestPerson.hpp" 15 | 16 | using namespace coherence::lang; 17 | 18 | using coherence::util::extractor::ReflectionExtractor; 19 | using coherence::util::filter::EqualsFilter; 20 | 21 | using namespace common::test; 22 | 23 | /** 24 | * Test Suite for ReflectionExtractor. 25 | */ 26 | class ReflectionExtractorSuite : public CxxTest::TestSuite 27 | { 28 | public: 29 | /** 30 | * Test ReflectionExtractor 31 | */ 32 | void testReflectionExtractor() 33 | { 34 | ReflectionExtractor::View hExtract = ReflectionExtractor::create( 35 | String::create("getAge")); 36 | TS_ASSERT(hExtract->extract(TestPerson::create("Mark", 36)) 37 | ->equals(Integer32::create(36))); 38 | } 39 | }; 40 | -------------------------------------------------------------------------------- /tests/unit/coherence/util/filter/IsNotNullFilterTest.hpp: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2000, 2020, Oracle and/or its affiliates. 3 | * 4 | * Licensed under the Universal Permissive License v 1.0 as shown at 5 | * http://oss.oracle.com/licenses/upl. 6 | */ 7 | #include "cxxtest/TestSuite.h" 8 | #include "coherence/lang.ns" 9 | 10 | #include "coherence/util/extractor/IdentityExtractor.hpp" 11 | #include "coherence/util/filter/IsNotNullFilter.hpp" 12 | 13 | using namespace coherence::lang; 14 | 15 | using coherence::util::extractor::IdentityExtractor; 16 | using coherence::util::filter::IsNotNullFilter; 17 | 18 | 19 | /** 20 | * Test Suite for the IsNotNullFilter. 21 | */ 22 | class IsNotNullFilterSuite : public CxxTest::TestSuite 23 | { 24 | public: 25 | /** 26 | * Test IsNotNullFilter 27 | */ 28 | void testIsNotNullFilter() 29 | { 30 | IdentityExtractor::View hExtract = IdentityExtractor::create(); 31 | IsNotNullFilter::Handle hF = IsNotNullFilter::create(hExtract); 32 | TS_ASSERT( hF->evaluate(Float32::create(0.0F))); 33 | TS_ASSERT( !hF->evaluate(NULL)); 34 | } 35 | }; 36 | -------------------------------------------------------------------------------- /tests/unit/coherence/util/filter/IsNullFilterTest.hpp: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2000, 2020, Oracle and/or its affiliates. 3 | * 4 | * Licensed under the Universal Permissive License v 1.0 as shown at 5 | * http://oss.oracle.com/licenses/upl. 6 | */ 7 | #include "cxxtest/TestSuite.h" 8 | #include "coherence/lang.ns" 9 | 10 | #include "coherence/util/extractor/IdentityExtractor.hpp" 11 | #include "coherence/util/filter/IsNullFilter.hpp" 12 | 13 | using namespace coherence::lang; 14 | 15 | using coherence::util::extractor::IdentityExtractor; 16 | using coherence::util::filter::IsNullFilter; 17 | 18 | 19 | /** 20 | * Test Suite for the IsNullFilter. 21 | */ 22 | class IsNullFilterSuite : public CxxTest::TestSuite 23 | { 24 | public: 25 | /** 26 | * Test IsNullFilter 27 | */ 28 | void testIsNullFilter() 29 | { 30 | IdentityExtractor::View hExtract = IdentityExtractor::create(); 31 | IsNullFilter::Handle hF = IsNullFilter::create(hExtract); 32 | TS_ASSERT( !hF->evaluate(Float32::create(0.0F))); 33 | TS_ASSERT( hF->evaluate(NULL)); 34 | } 35 | }; 36 | -------------------------------------------------------------------------------- /tests/unit/coherence/util/filter/NeverFilterTest.hpp: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2000, 2020, Oracle and/or its affiliates. 3 | * 4 | * Licensed under the Universal Permissive License v 1.0 as shown at 5 | * http://oss.oracle.com/licenses/upl. 6 | */ 7 | #include "cxxtest/TestSuite.h" 8 | #include "coherence/lang.ns" 9 | 10 | #include "coherence/util/filter/NeverFilter.hpp" 11 | 12 | using namespace coherence::lang; 13 | 14 | using coherence::util::filter::NeverFilter; 15 | 16 | 17 | /** 18 | * Test Suite for the NeverFilter. 19 | */ 20 | class NeverFilterSuite : public CxxTest::TestSuite 21 | { 22 | public: 23 | /** 24 | * Test NeverFilter 25 | */ 26 | void testNeverFilter() 27 | { 28 | Float32::View hZero = Float32::create(0.0F); 29 | NeverFilter::Handle hLF = NeverFilter::create(); 30 | TS_ASSERT(!hLF->evaluate(hZero)); 31 | } 32 | }; 33 | -------------------------------------------------------------------------------- /tests/unit/coherence/util/filter/NotFilterTest.hpp: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2000, 2020, Oracle and/or its affiliates. 3 | * 4 | * Licensed under the Universal Permissive License v 1.0 as shown at 5 | * http://oss.oracle.com/licenses/upl. 6 | */ 7 | #include "cxxtest/TestSuite.h" 8 | #include "coherence/lang.ns" 9 | 10 | #include "coherence/util/extractor/IdentityExtractor.hpp" 11 | #include "coherence/util/filter/NotFilter.hpp" 12 | 13 | using namespace coherence::lang; 14 | 15 | using coherence::util::extractor::IdentityExtractor; 16 | using coherence::util::filter::NotFilter; 17 | 18 | 19 | /** 20 | * Test Suite for the NotFilter. 21 | */ 22 | class NotFilterSuite : public CxxTest::TestSuite 23 | { 24 | public: 25 | /** 26 | * Test NotFilter 27 | */ 28 | void testNotFilter() 29 | { 30 | IdentityExtractor::View hExtract = IdentityExtractor::create(); 31 | NotFilter::Handle hFilter = NotFilter::create( 32 | EqualsFilter::create(hExtract, 33 | Float32::create(42.0F))); 34 | TS_ASSERT(!hFilter->evaluate(Float32::create(42.0F))); 35 | } 36 | }; 37 | -------------------------------------------------------------------------------- /tools/ant-tangosol/lib/ant-tangosol.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/oracle/coherence-cpp-extend-client/c85c5654e98c0cf00ad0ffd923180ff63c4e7d2a/tools/ant-tangosol/lib/ant-tangosol.jar -------------------------------------------------------------------------------- /tools/ant-tangosol/src/ant-tangosol.properties: -------------------------------------------------------------------------------- 1 | # 2 | # Copyright (c) 2000, 2020, Oracle and/or its affiliates. 3 | # 4 | # Licensed under the Universal Permissive License v 1.0 as shown at 5 | # http://oss.oracle.com/licenses/upl. 6 | # 7 | generate-namespace-includes=com.xtangosol.tools.ant.GenerateNamespaceIncludesAntTask 8 | filestofileset=com.xtangosol.tools.ant.FilesToFileSetAntTask 9 | vacuum=com.xtangosol.tools.ant.VacuumAndSaveAntTask 10 | -------------------------------------------------------------------------------- /tools/cluster-control/ensure.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | # 3 | # Copyright (c) 2000, 2020, Oracle and/or its affiliates. 4 | # 5 | # Licensed under the Universal Permissive License v 1.0 as shown at 6 | # http://oss.oracle.com/licenses/upl. 7 | # 8 | java -Dtangosol.coherence.extend.address=127.0.0.1 -Dtangosol.coherence.cacheconfig=/Users/njava -Dtangosol.coherence.extend.address=127.0.0.1 -Dtangosol.coherence.clusterport=18943 -Dtangosol.coherence.ttl=0 -Dtangosol.coherence.cacheconfig=../../../examples/config/extend-server-config.xml -cp lib/cluster-control.jar:../../../lib/common/coherence/coherence.jar com.tangosol.tests.net.cache.ClusterControl ensure 1 9 | -------------------------------------------------------------------------------- /tools/cluster-control/lib/cluster-control.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/oracle/coherence-cpp-extend-client/c85c5654e98c0cf00ad0ffd923180ff63c4e7d2a/tools/cluster-control/lib/cluster-control.jar -------------------------------------------------------------------------------- /tools/cluster-control/start.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | # 3 | # Copyright (c) 2000, 2020, Oracle and/or its affiliates. 4 | # 5 | # Licensed under the Universal Permissive License v 1.0 as shown at 6 | # http://oss.oracle.com/licenses/upl. 7 | # 8 | java -Dtangosol.coherence.extend.address=127.0.0.1 -Dtangosol.coherence.localhost=127.0.0.1 -Dtangosol.coherence.clusterport=18943 -Dtangosol.coherence.ttl=0 -Dtangosol.coherence.cacheconfig=../../../examples/config/extend-server-config.xml -cp ../../../lib/common/coherence/coherence.jar:lib/cluster-control.jar com.tangosol.net.DefaultCacheServer 9 | -------------------------------------------------------------------------------- /tools/cluster-control/stop.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | # 3 | # Copyright (c) 2000, 2020, Oracle and/or its affiliates. 4 | # 5 | # Licensed under the Universal Permissive License v 1.0 as shown at 6 | # http://oss.oracle.com/licenses/upl. 7 | # 8 | java -Dtangosol.coherence.extend.address=127.0.0.1 -Dtangosol.coherence.cacheconfig=/Users/njava -Dtangosol.coherence.extend.address=127.0.0.1 -Dtangosol.coherence.clusterport=18943 -Dtangosol.coherence.ttl=0 -Dtangosol.coherence.cacheconfig=../../../examples/config/extend-server-config.xml -cp lib/cluster-control.jar:../../../lib/common/coherence/coherence.jar com.tangosol.tests.net.cache.ClusterControl stop 9 | --------------------------------------------------------------------------------