@Override public void registerReadOnlyAttribute( final String attributeName, final OperationStepHandler readHandler, AttributeAccess.Storage storage) { checkPermission(); AttributeAccess aa = new AttributeAccess(AccessType.READ_ONLY, storage, readHandler, null, null, null); if (attributesUpdater.putIfAbsent(this, attributeName, aa) != null) { throw alreadyRegistered("attribute", attributeName); } }
@Override public void registerMetric(AttributeDefinition definition, OperationStepHandler metricHandler) { checkPermission(); AttributeAccess aa = new AttributeAccess( AccessType.METRIC, AttributeAccess.Storage.RUNTIME, metricHandler, null, definition, definition.getFlags()); if (attributesUpdater.putIfAbsent(this, definition.getName(), aa) != null) { throw alreadyRegistered("attribute", definition.getName()); } registerAttributeAccessConstraints(definition); }
@Override public void registerOperationHandler( final String operationName, final OperationStepHandler handler, final DescriptionProvider descriptionProvider, final boolean inherited, EntryType entryType) { checkPermission(); if (operationsUpdater.putIfAbsent( this, operationName, new OperationEntry(handler, descriptionProvider, inherited, entryType)) != null) { throw alreadyRegistered("operation handler", operationName); } }
@Override public void registerReadOnlyAttribute( final AttributeDefinition definition, final OperationStepHandler readHandler) { checkPermission(); final EnumSet<AttributeAccess.Flag> flags = definition.getFlags(); final String attributeName = definition.getName(); AttributeAccess.Storage storage = (flags != null && flags.contains(AttributeAccess.Flag.STORAGE_RUNTIME)) ? Storage.RUNTIME : Storage.CONFIGURATION; AttributeAccess aa = new AttributeAccess(AccessType.READ_ONLY, storage, readHandler, null, definition, flags); if (attributesUpdater.putIfAbsent(this, attributeName, aa) != null) { throw alreadyRegistered("attribute", attributeName); } registerAttributeAccessConstraints(definition); }
@Override public void registerReadOnlyAttribute( final String attributeName, final OperationStepHandler readHandler, AttributeAccess.Storage storage) { if (attributesUpdater.putIfAbsent( this, attributeName, new AttributeAccess(AccessType.READ_ONLY, storage, readHandler, null, null)) != null) { throw new IllegalArgumentException( "An attribute named '" + attributeName + "' is already registered at location '" + getLocationString() + "'"); } }
@Override public void registerOperationHandler( OperationDefinition definition, OperationStepHandler handler, boolean inherited) { checkPermission(); if (operationsUpdater.putIfAbsent( this, definition.getName(), new OperationEntry( handler, definition.getDescriptionProvider(), inherited, definition.getEntryType(), definition.getFlags(), definition.getAccessConstraints())) != null) { throw alreadyRegistered("operation handler", definition.getName()); } registerOperationAccessConstraints(definition); }
@Override public void registerMetric( String attributeName, OperationStepHandler metricHandler, EnumSet<AttributeAccess.Flag> flags) { if (attributesUpdater.putIfAbsent( this, attributeName, new AttributeAccess( AccessType.METRIC, AttributeAccess.Storage.RUNTIME, metricHandler, null, flags)) != null) { throw new IllegalArgumentException( "An attribute named '" + attributeName + "' is already registered at location '" + getLocationString() + "'"); } }
@Override public void registerOperationHandler( final String operationName, final OperationStepHandler handler, final DescriptionProvider descriptionProvider, final boolean inherited, EntryType entryType) { if (operationsUpdater.putIfAbsent( this, operationName, new OperationEntry(handler, descriptionProvider, inherited, entryType)) != null) { throw new IllegalArgumentException( "A handler named '" + operationName + "' is already registered at location '" + getLocationString() + "'"); } }
@Override public void registerReadOnlyAttribute( final String attributeName, final OperationStepHandler readHandler, EnumSet<AttributeAccess.Flag> flags) { AttributeAccess.Storage storage = (flags != null && flags.contains(AttributeAccess.Flag.STORAGE_RUNTIME)) ? Storage.RUNTIME : Storage.CONFIGURATION; if (attributesUpdater.putIfAbsent( this, attributeName, new AttributeAccess(AccessType.READ_ONLY, storage, readHandler, null, null)) != null) { throw new IllegalArgumentException( "An attribute named '" + attributeName + "' is already registered at location '" + getLocationString() + "'"); } }