This is an automated email from the ASF dual-hosted git repository.
mariofusco pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/incubator-kie-drools.git
The following commit(s) were added to refs/heads/main by this push:
new 4004fe9bf7 [KIE-1013] add convenient methods to retrieve objects of a
specific class from an entry-point (#5789)
4004fe9bf7 is described below
commit 4004fe9bf745c5eae18223cd1d3a42d8efd4566e
Author: Mario Fusco <[email protected]>
AuthorDate: Mon Mar 18 08:55:20 2024 +0100
[KIE-1013] add convenient methods to retrieve objects of a specific class
from an entry-point (#5789)
---
.../java/org/drools/ancompiler/BaseModelTest.java | 3 +-
.../java/org/drools/core/ClassObjectFilter.java | 32 ----------------------
.../org/drools/core/process/ProcessContext.java | 2 +-
.../model/codegen/execmodel/BaseModelTest.java | 5 ++--
.../org/drools/modelcompiler/PatternDSLTest.java | 7 ++---
.../reliability/test/ReliabilityTestBasics.java | 4 +--
.../protobuf/TruthMaintenanceTest.java | 14 +++++-----
.../IncrementalCompilationTest.java | 2 +-
.../beliefsystem/defeasible/DefeasibilityTest.java | 2 +-
.../mvel/integrationtests/ExpirationTest.java | 2 +-
.../drools/mvel/integrationtests/Misc2Test.java | 2 +-
.../session/StatefulSessionTest.java | 2 +-
.../compiler/integrationtests/nomvel/TestUtil.java | 3 +-
.../regression/FromGenericCollectionTest.java | 3 +-
.../factmodel/traits/TraitMapCoreTest.java | 2 +-
.../data/VerifierDataKnowledgeSession.java | 2 +-
.../xml/support/CommandSerializationTest.java | 2 +-
.../java/org/kie/api/runtime/rule/EntryPoint.java | 31 ++++++++++++++++++++-
18 files changed, 56 insertions(+), 64 deletions(-)
diff --git
a/drools-alphanetwork-compiler/src/test/java/org/drools/ancompiler/BaseModelTest.java
b/drools-alphanetwork-compiler/src/test/java/org/drools/ancompiler/BaseModelTest.java
index d2d88b3200..a12810095f 100644
---
a/drools-alphanetwork-compiler/src/test/java/org/drools/ancompiler/BaseModelTest.java
+++
b/drools-alphanetwork-compiler/src/test/java/org/drools/ancompiler/BaseModelTest.java
@@ -37,7 +37,6 @@ import org.kie.api.builder.KieFileSystem;
import org.kie.api.builder.Message;
import org.kie.api.builder.ReleaseId;
import org.kie.api.builder.model.KieModuleModel;
-import org.kie.api.runtime.ClassObjectFilter;
import org.kie.api.runtime.KieContainer;
import org.kie.api.runtime.KieSession;
import org.kie.internal.builder.conf.AlphaNetworkCompilerOption;
@@ -157,7 +156,7 @@ public abstract class BaseModelTest {
}
public static <T> List<T> getObjectsIntoList(KieSession ksession, Class<T>
clazz) {
- return (List<T>) ksession.getObjects(new
ClassObjectFilter(clazz)).stream().collect(Collectors.toList());
+ return
ksession.getInstancesOf(clazz).stream().collect(Collectors.toList());
}
protected void createAndDeployJar( KieServices ks, ReleaseId releaseId,
String... drls ) {
diff --git a/drools-core/src/main/java/org/drools/core/ClassObjectFilter.java
b/drools-core/src/main/java/org/drools/core/ClassObjectFilter.java
deleted file mode 100644
index ad7e228fbe..0000000000
--- a/drools-core/src/main/java/org/drools/core/ClassObjectFilter.java
+++ /dev/null
@@ -1,32 +0,0 @@
-/**
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package org.drools.core;
-
-
-/**
- * Filters Objects by Class, only accepting Classes of the specified type
- */
-public class ClassObjectFilter extends org.kie.api.runtime.ClassObjectFilter {
-
- public ClassObjectFilter(Class clazz) {
- super( clazz );
- }
-
-
-}
diff --git
a/drools-core/src/main/java/org/drools/core/process/ProcessContext.java
b/drools-core/src/main/java/org/drools/core/process/ProcessContext.java
index f31dd9538d..f866cd609d 100644
--- a/drools-core/src/main/java/org/drools/core/process/ProcessContext.java
+++ b/drools-core/src/main/java/org/drools/core/process/ProcessContext.java
@@ -20,7 +20,7 @@ package org.drools.core.process;
import java.util.Collection;
-import org.drools.core.ClassObjectFilter;
+import org.kie.api.runtime.ClassObjectFilter;
import org.kie.api.runtime.KieRuntime;
import org.kie.api.runtime.process.CaseAssignment;
import org.kie.api.runtime.process.CaseData;
diff --git
a/drools-model/drools-model-codegen/src/test/java/org/drools/model/codegen/execmodel/BaseModelTest.java
b/drools-model/drools-model-codegen/src/test/java/org/drools/model/codegen/execmodel/BaseModelTest.java
index 5c5e4bd5c5..5d99cc628f 100644
---
a/drools-model/drools-model-codegen/src/test/java/org/drools/model/codegen/execmodel/BaseModelTest.java
+++
b/drools-model/drools-model-codegen/src/test/java/org/drools/model/codegen/execmodel/BaseModelTest.java
@@ -37,16 +37,15 @@ import org.kie.api.builder.KieFileSystem;
import org.kie.api.builder.Message;
import org.kie.api.builder.ReleaseId;
import org.kie.api.builder.model.KieModuleModel;
-import org.kie.api.runtime.ClassObjectFilter;
import org.kie.api.runtime.KieContainer;
import org.kie.api.runtime.KieSession;
import org.kie.internal.builder.conf.AlphaNetworkCompilerOption;
import static java.util.Arrays.asList;
+import static org.assertj.core.api.Assertions.fail;
import static
org.drools.model.codegen.execmodel.BaseModelTest.RUN_TYPE.PATTERN_DSL;
import static
org.drools.model.codegen.execmodel.BaseModelTest.RUN_TYPE.PATTERN_WITH_ALPHA_NETWORK;
import static
org.drools.model.codegen.execmodel.BaseModelTest.RUN_TYPE.STANDARD_WITH_ALPHA_NETWORK;
-import static org.assertj.core.api.Assertions.fail;
@RunWith(Parameterized.class)
public abstract class BaseModelTest {
@@ -168,7 +167,7 @@ public abstract class BaseModelTest {
}
public static <T> List<T> getObjectsIntoList(KieSession ksession, Class<T>
clazz) {
- return (List<T>) ksession.getObjects(new
ClassObjectFilter(clazz)).stream().collect(Collectors.toList());
+ return
ksession.getInstancesOf(clazz).stream().collect(Collectors.toList());
}
protected void createAndDeployJar( KieServices ks, ReleaseId releaseId,
String... drls ) {
diff --git
a/drools-model/drools-model-compiler/src/test/java/org/drools/modelcompiler/PatternDSLTest.java
b/drools-model/drools-model-compiler/src/test/java/org/drools/modelcompiler/PatternDSLTest.java
index 2425eed5cc..bb7f803825 100644
---
a/drools-model/drools-model-compiler/src/test/java/org/drools/modelcompiler/PatternDSLTest.java
+++
b/drools-model/drools-model-compiler/src/test/java/org/drools/modelcompiler/PatternDSLTest.java
@@ -376,9 +376,8 @@ public class PatternDSLTest {
ksession.fireAllRules();
- Collection<Result> results = (Collection<Result>) ksession.getObjects(
new ClassObjectFilter( Result.class ) );
- assertThat(results.size()).isEqualTo(1);
- assertThat(results.iterator().next().getValue()).isEqualTo("Mario");
+ Result result = ksession.getSingleInstanceOf( Result.class );
+ assertThat(result.getValue()).isEqualTo("Mario");
}
@Test
@@ -1132,6 +1131,6 @@ public class PatternDSLTest {
}
public static <T> List<T> getObjectsIntoList(KieSession ksession, Class<T>
clazz) {
- return (List<T>) ksession.getObjects(new
ClassObjectFilter(clazz)).stream().collect(Collectors.toList());
+ return
ksession.getInstancesOf(clazz).stream().collect(Collectors.toList());
}
}
diff --git
a/drools-reliability/drools-reliability-tests/src/test/java/org/drools/reliability/test/ReliabilityTestBasics.java
b/drools-reliability/drools-reliability-tests/src/test/java/org/drools/reliability/test/ReliabilityTestBasics.java
index cefcf88e4d..c4c52e54ba 100644
---
a/drools-reliability/drools-reliability-tests/src/test/java/org/drools/reliability/test/ReliabilityTestBasics.java
+++
b/drools-reliability/drools-reliability-tests/src/test/java/org/drools/reliability/test/ReliabilityTestBasics.java
@@ -26,7 +26,7 @@ import java.util.Optional;
import java.util.concurrent.TimeUnit;
import java.util.stream.Stream;
-import org.drools.core.ClassObjectFilter;
+import org.kie.api.runtime.ClassObjectFilter;
import org.drools.kiesession.session.StatefulKnowledgeSessionImpl;
import org.drools.model.Model;
import org.drools.model.codegen.ExecutableModelProject;
@@ -431,7 +431,7 @@ public abstract class ReliabilityTestBasics {
}
protected Optional<Person> getPersonByName(KieSession kieSession, String
name) {
- return kieSession.getObjects(new ClassObjectFilter(Person.class))
+ return kieSession.getInstancesOf( Person.class )
.stream()
.map(Person.class::cast)
.filter(p -> p.getName().equals(name) ).findFirst();
diff --git
a/drools-serialization-protobuf/src/test/java/org/drools/serialization/protobuf/TruthMaintenanceTest.java
b/drools-serialization-protobuf/src/test/java/org/drools/serialization/protobuf/TruthMaintenanceTest.java
index fe63199cac..24ede56803 100644
---
a/drools-serialization-protobuf/src/test/java/org/drools/serialization/protobuf/TruthMaintenanceTest.java
+++
b/drools-serialization-protobuf/src/test/java/org/drools/serialization/protobuf/TruthMaintenanceTest.java
@@ -18,7 +18,12 @@
*/
package org.drools.serialization.protobuf;
-import org.drools.core.ClassObjectFilter;
+import java.util.ArrayList;
+import java.util.Collection;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+
import org.drools.core.common.EqualityKey;
import org.drools.core.common.InternalAgenda;
import org.drools.core.common.InternalFactHandle;
@@ -38,18 +43,13 @@ import org.junit.Test;
import org.kie.api.KieBase;
import org.kie.api.definition.KiePackage;
import org.kie.api.io.ResourceType;
+import org.kie.api.runtime.ClassObjectFilter;
import org.kie.api.runtime.KieSession;
import org.kie.api.runtime.rule.FactHandle;
import org.kie.internal.builder.KnowledgeBuilder;
import org.kie.internal.builder.KnowledgeBuilderFactory;
import org.kie.internal.io.ResourceFactory;
-import java.util.ArrayList;
-import java.util.Collection;
-import java.util.HashMap;
-import java.util.List;
-import java.util.Map;
-
import static org.assertj.core.api.Assertions.assertThat;
import static org.assertj.core.api.Assertions.fail;
import static
org.drools.serialization.protobuf.SerializationHelper.getSerialisedStatefulKnowledgeSession;
diff --git
a/drools-test-coverage/test-compiler-integration/src/test/java/org/drools/compiler/integrationtests/incrementalcompilation/IncrementalCompilationTest.java
b/drools-test-coverage/test-compiler-integration/src/test/java/org/drools/compiler/integrationtests/incrementalcompilation/IncrementalCompilationTest.java
index ce4c053c11..1c444aa006 100644
---
a/drools-test-coverage/test-compiler-integration/src/test/java/org/drools/compiler/integrationtests/incrementalcompilation/IncrementalCompilationTest.java
+++
b/drools-test-coverage/test-compiler-integration/src/test/java/org/drools/compiler/integrationtests/incrementalcompilation/IncrementalCompilationTest.java
@@ -20,7 +20,7 @@ package
org.drools.compiler.integrationtests.incrementalcompilation;
import org.drools.commands.runtime.rule.FireAllRulesCommand;
import org.drools.compiler.kie.builder.impl.DrlProject;
-import org.drools.core.ClassObjectFilter;
+import org.kie.api.runtime.ClassObjectFilter;
import org.drools.base.definitions.rule.impl.RuleImpl;
import org.drools.core.event.DefaultAgendaEventListener;
import org.drools.core.impl.InternalRuleBase;
diff --git
a/drools-test-coverage/test-compiler-integration/src/test/java/org/drools/mvel/compiler/beliefsystem/defeasible/DefeasibilityTest.java
b/drools-test-coverage/test-compiler-integration/src/test/java/org/drools/mvel/compiler/beliefsystem/defeasible/DefeasibilityTest.java
index 47ca30372e..c8d5a93786 100644
---
a/drools-test-coverage/test-compiler-integration/src/test/java/org/drools/mvel/compiler/beliefsystem/defeasible/DefeasibilityTest.java
+++
b/drools-test-coverage/test-compiler-integration/src/test/java/org/drools/mvel/compiler/beliefsystem/defeasible/DefeasibilityTest.java
@@ -23,7 +23,7 @@ import java.util.Collection;
import java.util.List;
import org.drools.core.BeliefSystemType;
-import org.drools.core.ClassObjectFilter;
+import org.kie.api.runtime.ClassObjectFilter;
import org.drools.core.RuleSessionConfiguration;
import org.drools.core.common.EqualityKey;
import org.drools.core.common.InternalFactHandle;
diff --git
a/drools-test-coverage/test-compiler-integration/src/test/java/org/drools/mvel/integrationtests/ExpirationTest.java
b/drools-test-coverage/test-compiler-integration/src/test/java/org/drools/mvel/integrationtests/ExpirationTest.java
index a91fbbc3f1..d99aee46c5 100644
---
a/drools-test-coverage/test-compiler-integration/src/test/java/org/drools/mvel/integrationtests/ExpirationTest.java
+++
b/drools-test-coverage/test-compiler-integration/src/test/java/org/drools/mvel/integrationtests/ExpirationTest.java
@@ -25,7 +25,7 @@ import java.util.Objects;
import java.util.concurrent.TimeUnit;
import java.util.concurrent.atomic.AtomicInteger;
-import org.drools.core.ClassObjectFilter;
+import org.kie.api.runtime.ClassObjectFilter;
import org.drools.core.ClockType;
import org.drools.core.SessionConfiguration;
import org.drools.core.impl.RuleBaseFactory;
diff --git
a/drools-test-coverage/test-compiler-integration/src/test/java/org/drools/mvel/integrationtests/Misc2Test.java
b/drools-test-coverage/test-compiler-integration/src/test/java/org/drools/mvel/integrationtests/Misc2Test.java
index 908566b6ef..980e59288c 100644
---
a/drools-test-coverage/test-compiler-integration/src/test/java/org/drools/mvel/integrationtests/Misc2Test.java
+++
b/drools-test-coverage/test-compiler-integration/src/test/java/org/drools/mvel/integrationtests/Misc2Test.java
@@ -46,7 +46,7 @@ import java.util.regex.Pattern;
import org.drools.base.base.ValueResolver;
import org.drools.compiler.builder.impl.KnowledgeBuilderConfigurationImpl;
import org.drools.compiler.builder.impl.KnowledgeBuilderImpl;
-import org.drools.core.ClassObjectFilter;
+import org.kie.api.runtime.ClassObjectFilter;
import org.drools.base.InitialFact;
import org.drools.base.base.ClassObjectType;
import org.drools.core.common.DefaultFactHandle;
diff --git
a/drools-test-coverage/test-compiler-integration/src/test/java/org/drools/mvel/integrationtests/session/StatefulSessionTest.java
b/drools-test-coverage/test-compiler-integration/src/test/java/org/drools/mvel/integrationtests/session/StatefulSessionTest.java
index 2d1ecf5b3c..5c5afd9693 100644
---
a/drools-test-coverage/test-compiler-integration/src/test/java/org/drools/mvel/integrationtests/session/StatefulSessionTest.java
+++
b/drools-test-coverage/test-compiler-integration/src/test/java/org/drools/mvel/integrationtests/session/StatefulSessionTest.java
@@ -23,7 +23,7 @@ import java.util.Collection;
import java.util.Iterator;
import java.util.List;
-import org.drools.core.ClassObjectFilter;
+import org.kie.api.runtime.ClassObjectFilter;
import org.drools.core.common.DefaultFactHandle;
import org.drools.mvel.compiler.Cheese;
import org.drools.mvel.compiler.CheeseEqual;
diff --git
a/drools-test-coverage/test-integration-nomvel/src/test/java/org/drools/compiler/integrationtests/nomvel/TestUtil.java
b/drools-test-coverage/test-integration-nomvel/src/test/java/org/drools/compiler/integrationtests/nomvel/TestUtil.java
index 5121be4991..0ab5794cbb 100644
---
a/drools-test-coverage/test-integration-nomvel/src/test/java/org/drools/compiler/integrationtests/nomvel/TestUtil.java
+++
b/drools-test-coverage/test-integration-nomvel/src/test/java/org/drools/compiler/integrationtests/nomvel/TestUtil.java
@@ -30,7 +30,6 @@ import org.kie.api.builder.KieFileSystem;
import org.kie.api.builder.Message;
import org.kie.api.builder.ReleaseId;
import org.kie.api.builder.model.KieModuleModel;
-import org.kie.api.runtime.ClassObjectFilter;
import org.kie.api.runtime.KieContainer;
import org.kie.api.runtime.KieSession;
@@ -99,7 +98,7 @@ public class TestUtil {
}
public static <T> List<T> getObjectsIntoList( KieSession ksession,
Class<T> clazz) {
- return (List<T>) ksession.getObjects(new
ClassObjectFilter(clazz)).stream().collect( Collectors.toList());
+ return ksession.getInstancesOf(clazz).stream().collect(
Collectors.toList());
}
public static void createAndDeployJar( KieServices ks, ReleaseId
releaseId, String... drls ) {
diff --git
a/drools-test-coverage/test-suite/src/test/java/org/drools/testcoverage/regression/FromGenericCollectionTest.java
b/drools-test-coverage/test-suite/src/test/java/org/drools/testcoverage/regression/FromGenericCollectionTest.java
index 5aa7260137..fcb1b32925 100644
---
a/drools-test-coverage/test-suite/src/test/java/org/drools/testcoverage/regression/FromGenericCollectionTest.java
+++
b/drools-test-coverage/test-suite/src/test/java/org/drools/testcoverage/regression/FromGenericCollectionTest.java
@@ -18,13 +18,11 @@
*/
package org.drools.testcoverage.regression;
-import java.util.Arrays;
import java.util.Collection;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
-import org.drools.core.ClassObjectFilter;
import org.drools.testcoverage.common.util.KieBaseTestConfiguration;
import org.drools.testcoverage.common.util.KieBaseUtil;
import org.drools.testcoverage.common.util.TestConstants;
@@ -34,6 +32,7 @@ import org.junit.runner.RunWith;
import org.junit.runners.Parameterized;
import org.junit.runners.Parameterized.Parameters;
import org.kie.api.KieBase;
+import org.kie.api.runtime.ClassObjectFilter;
import org.kie.api.runtime.KieSession;
import static org.assertj.core.api.Assertions.assertThat;
diff --git
a/drools-traits/src/test/java/org/drools/traits/compiler/factmodel/traits/TraitMapCoreTest.java
b/drools-traits/src/test/java/org/drools/traits/compiler/factmodel/traits/TraitMapCoreTest.java
index 5987d7fd98..97f8a3ac4d 100644
---
a/drools-traits/src/test/java/org/drools/traits/compiler/factmodel/traits/TraitMapCoreTest.java
+++
b/drools-traits/src/test/java/org/drools/traits/compiler/factmodel/traits/TraitMapCoreTest.java
@@ -24,7 +24,7 @@ import java.util.List;
import java.util.Map;
import org.drools.traits.compiler.CommonTraitTest;
-import org.drools.core.ClassObjectFilter;
+import org.kie.api.runtime.ClassObjectFilter;
import org.drools.traits.core.factmodel.TraitableMap;
import org.drools.traits.core.factmodel.TraitFactoryImpl;
import org.drools.base.factmodel.traits.Traitable;
diff --git
a/drools-verifier/drools-verifier-drl/src/main/java/org/drools/verifier/data/VerifierDataKnowledgeSession.java
b/drools-verifier/drools-verifier-drl/src/main/java/org/drools/verifier/data/VerifierDataKnowledgeSession.java
index 6a2d1238ec..5060bd5ddb 100644
---
a/drools-verifier/drools-verifier-drl/src/main/java/org/drools/verifier/data/VerifierDataKnowledgeSession.java
+++
b/drools-verifier/drools-verifier-drl/src/main/java/org/drools/verifier/data/VerifierDataKnowledgeSession.java
@@ -21,7 +21,7 @@ package org.drools.verifier.data;
import java.util.ArrayList;
import java.util.Collection;
-import org.drools.core.ClassObjectFilter;
+import org.kie.api.runtime.ClassObjectFilter;
import org.drools.kiesession.rulebase.InternalKnowledgeBase;
import org.drools.kiesession.rulebase.KnowledgeBaseFactory;
import org.drools.verifier.components.EntryPoint;
diff --git
a/drools-xml-support/src/test/java/org/drools/xml/support/CommandSerializationTest.java
b/drools-xml-support/src/test/java/org/drools/xml/support/CommandSerializationTest.java
index eb2f89ed19..82622e1738 100644
---
a/drools-xml-support/src/test/java/org/drools/xml/support/CommandSerializationTest.java
+++
b/drools-xml-support/src/test/java/org/drools/xml/support/CommandSerializationTest.java
@@ -38,7 +38,7 @@ import jakarta.xml.bind.JAXBContext;
import jakarta.xml.bind.annotation.XmlElement;
import jakarta.xml.bind.annotation.XmlElements;
-import org.drools.core.ClassObjectFilter;
+import org.kie.api.runtime.ClassObjectFilter;
import org.drools.core.ClassObjectSerializationFilter;
import org.drools.core.base.RuleNameEndsWithAgendaFilter;
import org.drools.core.base.RuleNameEqualsAgendaFilter;
diff --git a/kie-api/src/main/java/org/kie/api/runtime/rule/EntryPoint.java
b/kie-api/src/main/java/org/kie/api/runtime/rule/EntryPoint.java
index 6f4c36d134..c9e8e77cda 100644
--- a/kie-api/src/main/java/org/kie/api/runtime/rule/EntryPoint.java
+++ b/kie-api/src/main/java/org/kie/api/runtime/rule/EntryPoint.java
@@ -19,7 +19,9 @@
package org.kie.api.runtime.rule;
import java.util.Collection;
+import java.util.NoSuchElementException;
+import org.kie.api.runtime.ClassObjectFilter;
import org.kie.api.runtime.ObjectFilter;
/**
@@ -152,6 +154,34 @@ public interface EntryPoint {
*/
Collection<? extends Object> getObjects(ObjectFilter filter);
+ /**
+ * Returns a Collection of objects in this entry-point that are instances
of the given class.
+ * @param clazz the class of objects to be retrieved
+ * @return all facts from this entry-point that are instance of the given
class.
+ */
+ default <T> Collection<T> getInstancesOf(Class<T> clazz) {
+ return (Collection<T>) getObjects(new ClassObjectFilter(clazz));
+ }
+
+ /**
+ * Returns the only object in this entry-point that is an instance of the
given class.
+ * @param clazz the class of object to be retrieved
+ * @return the only object from this entry-point that is an instance of
the given class.
+ * @throws NoSuchElementException if there isn't any object of the given
class in this entry-point
+ * @throws IllegalStateException if there is more than one object of the
given class in this entry-point
+ */
+ default <T> T getSingleInstanceOf(Class<T> clazz) {
+ Collection<T> ts = (Collection<T>) getObjects(new
ClassObjectFilter(clazz));
+ int size = ts.size();
+ if (size == 0) {
+ throw new NoSuchElementException();
+ }
+ if (size > 1) {
+ throw new IllegalStateException("Found " + size + " instances
instead of the expected single one");
+ }
+ return ts.iterator().next();
+ }
+
/**
* @return all <code>FactHandle</code>s from the current session.
*/
@@ -168,5 +198,4 @@ public interface EntryPoint {
* @return the total number of facts currently in this entry point
*/
long getFactCount();
-
}
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]