diff options
Diffstat (limited to 'java/src/Ice/Object.java')
-rw-r--r-- | java/src/Ice/Object.java | 26 |
1 files changed, 26 insertions, 0 deletions
diff --git a/java/src/Ice/Object.java b/java/src/Ice/Object.java index 3b0bcd10821..a48cd2ab632 100644 --- a/java/src/Ice/Object.java +++ b/java/src/Ice/Object.java @@ -304,6 +304,32 @@ public class Object synchronized(_activeFacetMap) { return (Object)_activeFacetMap.get(name); + } + } + + public final Object + ice_findFacetPath(String[] path, int start) + { + int sz = path.length; + + if(start > sz) + { + return null; + } + + if(start == sz) + { + return this; + } + + Object f = ice_findFacet(path[start]); + if(f != null) + { + return f.ice_findFacetPath(path, start + 1); + } + else + { + return f; } } |