Home » geronimo-2.2-source-release » org.apache.geronimo.kernel.repository » [javadoc | source]

    1   /*
    2    * Licensed to the Apache Software Foundation (ASF) under one
    3    * or more contributor license agreements.  See the NOTICE file
    4    * distributed with this work for additional information
    5    * regarding copyright ownership.  The ASF licenses this file
    6    * to you under the Apache License, Version 2.0 (the
    7    * "License"); you may not use this file except in compliance
    8    * with the License.  You may obtain a copy of the License at
    9    *
   10    *  http://www.apache.org/licenses/LICENSE-2.0
   11    *
   12    * Unless required by applicable law or agreed to in writing,
   13    * software distributed under the License is distributed on an
   14    * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
   15    * KIND, either express or implied.  See the License for the
   16    * specific language governing permissions and limitations
   17    * under the License.
   18    */
   19   
   20   package org.apache.geronimo.kernel.repository;
   21   
   22   import java.io.Serializable;
   23   
   24   
   25   /**
   26    *
   27    * @version $Rev:$ $Date:$
   28    */
   29   public class ClassLoadingRules implements Serializable {
   30       private final ClassLoadingRule hiddenRule;
   31       private final ClassLoadingRule nonOverrideableRule;
   32       private final ClassLoadingRule privateRule;
   33       private boolean inverseClassLoading;
   34   
   35       public ClassLoadingRules() {
   36           hiddenRule = new ClassLoadingRule();
   37           nonOverrideableRule = new ClassLoadingRule();
   38           privateRule = new ClassLoadingRule();
   39       }
   40   
   41       public ClassLoadingRule getHiddenRule() {
   42           return hiddenRule;
   43       }
   44   
   45       public ClassLoadingRule getNonOverrideableRule() {
   46           return nonOverrideableRule;
   47       }
   48   
   49       public ClassLoadingRule getPrivateRule() {
   50           return privateRule;
   51       }
   52   
   53       public boolean isInverseClassLoading() {
   54           return inverseClassLoading;
   55       }
   56   
   57       public void setInverseClassLoading(boolean inverseClassLoading) {
   58           this.inverseClassLoading = inverseClassLoading;
   59       }
   60   
   61       public void merge(ClassLoadingRules classLoadingRulesToMerge) {
   62           if (inverseClassLoading) {
   63               return;
   64           }
   65           inverseClassLoading = classLoadingRulesToMerge.inverseClassLoading;
   66           
   67           hiddenRule.merge(classLoadingRulesToMerge.hiddenRule);
   68           nonOverrideableRule.merge(classLoadingRulesToMerge.nonOverrideableRule);
   69           privateRule.merge(classLoadingRulesToMerge.privateRule);
   70       }
   71   
   72   }

Home » geronimo-2.2-source-release » org.apache.geronimo.kernel.repository » [javadoc | source]