diff options
author | Marc Laukien <marc@zeroc.com> | 2002-07-18 00:56:31 +0000 |
---|---|---|
committer | Marc Laukien <marc@zeroc.com> | 2002-07-18 00:56:31 +0000 |
commit | c3e4bbef0149e8481ac9d7babe2078cac8b00fac (patch) | |
tree | 0b247471177a4abea9e446caa296ddf05780cdab /java/src/Ice/Object.java | |
parent | facet path (diff) | |
download | ice-c3e4bbef0149e8481ac9d7babe2078cac8b00fac.tar.bz2 ice-c3e4bbef0149e8481ac9d7babe2078cac8b00fac.tar.xz ice-c3e4bbef0149e8481ac9d7babe2078cac8b00fac.zip |
facet path
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; } } |