Start line:  
End line:  

Snippet Preview

Snippet HTML Code

Stack Overflow Questions
  /*
   * JBoss, Home of Professional Open Source.
   * Copyright 2011, Red Hat, Inc., and individual contributors
   * as indicated by the @author tags. See the copyright.txt file in the
   * distribution for a full listing of individual contributors.
   *
   * This is free software; you can redistribute it and/or modify it
   * under the terms of the GNU Lesser General Public License as
   * published by the Free Software Foundation; either version 2.1 of
  * the License, or (at your option) any later version.
  *
  * This software is distributed in the hope that it will be useful,
  * but WITHOUT ANY WARRANTY; without even the implied warranty of
  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
  * Lesser General Public License for more details.
  *
  * You should have received a copy of the GNU Lesser General Public
  * License along with this software; if not, write to the Free
  * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
  * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
  */
 
 package org.jboss.as.host.controller.ignored;
 
 import static org.jboss.as.host.controller.ignored.IgnoredDomainTypeResourceDefinition.NAMES;
 import static org.jboss.as.host.controller.ignored.IgnoredDomainTypeResourceDefinition.WILDCARD;
 
 
org.jboss.as.controller.registry.Resource implementation for a given type of ignored resource.

Author(s):
Brian Stansberry (c) 2011 Red Hat Inc.
 
 
     private IgnoredDomainResourceRoot parent;
     private Boolean hasWildcard;
     private final LinkedHashSet<Stringmodel = new LinkedHashSet<String>();

    
Constructor for use by operation step handlers.

Parameters:
type the name of the type some of whose resources are to be ignored
names the specific instances of type that should be ignored. Either org.jboss.dmr.ModelType.LIST or org.jboss.dmr.ModelType.UNDEFINED; cannot be null
wildcard true if all resources of the type should be matched. Use null to indicate this is undefined by the user, meaning false in practical effect
 
     public IgnoreDomainResourceTypeResource(String typefinal ModelNode namesfinal Boolean wildcard) {
         super(.type);
         setNames(names);
         setWildcard(wildcard);
     }
 
         super(.toCopy.getName());
         synchronized (toCopy.model) {
             .addAll(toCopy.model);
         }
         this. = toCopy.hasWildcard;
         this. = toCopy.parent;
     }
 
     @Override
     public boolean isRuntime() {
         return false;
     }

    
 
     @Override
     public ModelNode getModel() {
         synchronized () {
             // We return what is effectively a copy; force handlers to use writeModel, setWildcard or setNames to modify
             ModelNode result = new ModelNode();
             ModelNode wildcard = result.get(.getName());
             if ( != null) {
                 wildcard.set(.booleanValue());
             }
             ModelNode names = result.get(.getName());
             synchronized () {
                 for (String name : ) {
                     names.add(name);
                 }
             }
             return result;
         }
     }

    
 
     @Override
     public void writeModel(ModelNode newModel) {
         synchronized () {
             if (newModel.hasDefined(.getName())) {
                 setWildcard(newModel.get(.getName()).asBoolean());
            }
            setNames(newModel.get(.getName()));
        }
    }

    
    @Override
    public boolean isModelDefined() {
        return true;
    }

    
    @Override
        return new IgnoreDomainResourceTypeResource(this);
    }
    void setParent(IgnoredDomainResourceRoot parent) {
        this. = parent;
    }
    void setNames(ModelNode names) {
        synchronized () {
            .clear();
            if (names.isDefined()) {
                for (ModelNode name : names.asList()) {
                    String nameStr = name.asString();
                    .add(nameStr);
                }
            }
        }
    }
    void publish() {
        .publish();
    }
    boolean hasName(String name) {
        synchronized () {
            return ( != null && .booleanValue()) || .contains(name);
        }
    }
    public void setWildcard(Boolean wildcard) {
        synchronized () {
            this. = wildcard;
        }
    }
New to GrepCode? Check out our FAQ X