/** * JBoss, Home of Professional Open Source * Copyright Red Hat, Inc., and individual contributors * * Licensed 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.jboss.aerogear.simplepush.subsystem; import org.jboss.as.controller.ResourceDefinition; import org.jboss.as.controller.SimpleResourceDefinition; import org.jboss.as.controller.operations.common.GenericSubsystemDescribeHandler; import org.jboss.as.controller.registry.ManagementResourceRegistration; import org.jboss.as.controller.registry.OperationEntry; import static org.jboss.as.controller.descriptions.ModelDescriptionConstants.DESCRIBE; /** * A {@link ResourceDefinition} for the SimplePush subsystem. * </p> * This represent the top level node in the configuration. */ public class SimplePushSubsystemDefinition extends SimpleResourceDefinition { public static final SimplePushSubsystemDefinition INSTANCE = new SimplePushSubsystemDefinition(); private SimplePushSubsystemDefinition() { super(SimplePushExtension.SUBSYSTEM_PATH, SimplePushExtension.getResourceDescriptionResolver(null), SubsystemAdd.INSTANCE, SubsystemRemove.INSTANCE); } /** * {@inheritDoc} * Registers an add operation handler or a remove operation handler if one was provided to the constructor. */ @Override public void registerOperations(final ManagementResourceRegistration resourceRegistration) { super.registerOperations(resourceRegistration); resourceRegistration.registerOperationHandler(DESCRIBE, GenericSubsystemDescribeHandler.INSTANCE, GenericSubsystemDescribeHandler.INSTANCE, false, OperationEntry.EntryType.PRIVATE); } }