Start line:  
End line:  

Snippet Preview

Snippet HTML Code

Stack Overflow Questions
  /*
   * Copyright 2010-2015 Amazon.com, Inc. or its affiliates. All Rights Reserved.
   *
   * Portions copyright 2006-2009 James Murty. Please see LICENSE.txt
   * for applicable license terms and NOTICE.txt for applicable notices.
   *
   * Licensed under the Apache License, Version 2.0 (the "License").
   * You may not use this file except in compliance with the License.
   * A copy of the License is located at
  *
  *  http://aws.amazon.com/apache2.0
  *
  * or in the "license" file accompanying this file. This file 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 com.amazonaws.services.s3.model;
 
 import java.util.List;
 import java.util.Map;
 import java.util.Set;
 import java.util.UUID;
 

Represents a bucket's notification configuration. The notification configuration is used to control reception of notifications for specific events for Amazon S3 buckets.

Using SNS as the delivery service, the notification configuration of an Amazon S3 bucket provides near real-time notifications of events the user is interested in. Notification is turned on by enabling configuration on a bucket, specifying the events and the SNS topic. This configuration can only be turned on by the bucket owner.

If a notification configuration already exists for the specified bucket, the new notification configuration will replace the existing notification configuration. To remove a notification configuration, pass an an empty configuration directly to com.amazonaws.services.s3.AmazonS3.setBucketNotificationConfiguration(java.lang.String,com.amazonaws.services.s3.model.BucketNotificationConfiguration).

Note: Currently buckets may only have a single event and topic configuration.

 
 
     private Map<StringNotificationConfigurationconfigurations = null;

    

Creates a new bucket notification configuration. By default, the newly created configuration is empty.

Passing the new configuration directly to com.amazonaws.services.s3.AmazonS3.setBucketNotificationConfiguration(java.lang.String,com.amazonaws.services.s3.model.BucketNotificationConfiguration) will remove any existing bucket notification configuration.

See also:
BucketNotificationConfiguration.BucketNotificationConfiguration(java.util.Collection)
 
     public BucketNotificationConfiguration() {
         this. = new HashMap<StringNotificationConfiguration>();
     }

    

Creates a new bucket notification configuration with the given configuration.

Parameters:
name the name for the configuration
notificationConfiguration the notification configuration for the Amazon S3 bucket.
 
     public BucketNotificationConfiguration(String name,
             NotificationConfiguration notificationConfiguration) {
         this. = new HashMap<StringNotificationConfiguration>();
         addConfiguration(namenotificationConfiguration);
     }

    
Sets the given notification configurations and returns this object.

Parameters:
notificationConfiguration the notification configurations to set
Returns:
The updated BucketNotificationConfiguration object.
            Map<StringNotificationConfigurationnotificationConfiguration) {
        .clear();
        .putAll(notificationConfiguration);
        return this;
    }

    
Adds the given notification configuration to the BucketNotificationConfiguration object

Parameters:
name the name of the configuration
notificationConfiguration the notification configuration for the Amazon S3 bucket.
Returns:
The updated BucketNotificationConfiguration object.
            NotificationConfiguration notificationConfiguration) {
        .put(namenotificationConfiguration);
        return this;
    }

    
Returns all the notification configurations associated with the Amazon S3 bucket.
        return ;
    }

    
Sets the given notification configurations in this BucketNotificationConfiguration object.

Parameters:
configurations the notification configurations to set
    public void setConfigurations(
            Map<StringNotificationConfigurationconfigurations) {
        this. = configurations;
    }

    
Returns the notification configuration for the given name.

Parameters:
name the name of the notification configuration
Returns:
NotificationConfiguration associated with the given name.
        return .get(name);
    }

    

Removes the notification configuration for the given name in the BucketNotificationConfiguration object.

Pass the updated BucketNotificationConfiguration to com.amazonaws.services.s3.AmazonS3.setBucketNotificationConfiguration(java.lang.String,com.amazonaws.services.s3.model.BucketNotificationConfiguration) to update the configuration in Amazon S3 for the bucket.

Parameters:
name the name of the notification configuration
Returns:
NotificationConfiguration associated with the given name.
        return .remove(name);
    }

    

Creates a new bucket notification configuration containing the specified TopicConfigurations.

Passing the new configuration directly to com.amazonaws.services.s3.AmazonS3.setBucketNotificationConfiguration(java.lang.String,com.amazonaws.services.s3.model.BucketNotificationConfiguration) will set the bucket's notification configuration and overwrite any existing configuration.

    public BucketNotificationConfigurationCollection<TopicConfigurationtopicConfigurations ) {
        this. = new HashMap<StringNotificationConfiguration>();
        if (topicConfigurations != null){
            for(TopicConfiguration config : topicConfigurations) {
                addConfiguration(UUID.randomUUID().toString(), config);
            }
        }
    }

    

Sets the BucketNotificationConfiguration.TopicConfiguration TopicConfigurations and returns this object, enabling additional method calls to be chained together.

Calling this method will overwrite any previously set TopicConfigurations for this object.

Deprecated:
Parameters:
topicConfigurations A set of topic configurations.
Returns:
The updated BucketNotificationConfiguration object, enabling additional method calls to be chained together.
See also:
withNotificationConfiguration(java.util.Map)
    public BucketNotificationConfiguration withTopicConfigurationsTopicConfiguration... topicConfigurations ) {
        setTopicConfigurations(Arrays.asList(topicConfigurations));
        return this;
    }

    

Sets the BucketNotificationConfiguration.TopicConfiguration.

Calling this method will overwrite any previously set TopicConfigurations for this object.

Deprecated:
Parameters:
topicConfigurations A collection of topic configurations.
See also:
setConfigurations(java.util.Map)
    public void setTopicConfigurationsCollection<TopicConfigurationtopicConfigurations ) {
        this..clear();
        if (topicConfigurations != null) {
            for (TopicConfiguration topicConfiguration : topicConfigurations) {
                addConfiguration(UUID.randomUUID().toString(),
                        topicConfiguration);
            }
        }
    }

    

Gets the list of BucketNotificationConfiguration.TopicConfiguration objects contained in this object. This method may return an empty list if no TopicConfiguration objects are present.

This method is deprecated and will not return all the notification configuration associated with the Amazon S3 bucket. To retrieve all the configuration use

Deprecated:
Returns:
The list of TopicConfiguration objects contained in this object. May return an empty list.
See also:
BucketNotificationConfiguration.getConfigurations()
getConfigurations()
        for (Map.Entry<StringNotificationConfigurationentry : 
                .entrySet()) {
            if (entry.getValue() instanceof TopicConfiguration) {
                topicConfigs.add((TopicConfigurationentry.getValue());
            }
        }
        return topicConfigs;
    }
    @Override
    public String toString() {
        return Jackson.toJsonString(this.getConfigurations());
    }

    

Represents the SNS topic to publish event notification to. Notifications are published to the topic only if the specified event is triggered.

Deprecated:
Use TopicConfiguration instead
    @Deprecated
    public static class TopicConfiguration extends com.amazonaws.services.s3.model.TopicConfiguration{

        

Creates a new BucketNotificationConfiguration.TopicConfiguration.

Parameters:
topic The SNS Topic ARN (Amazon Resource Name) to publish notifications to.
event The event that must occur to trigger the notification publication.
        public TopicConfigurationfinal String topicfinal String event ) {
            super(topicevent);
        }

        

Gets the topic ARN (Amazon Resource Name) for the topic to publish events to.

Returns:
The topic ARN for the topic to publish events to.
        public String getTopic() {
            return getTopicARN();
        }

        

Gets the first event that is configured in the list of events.

Deprecated:
use NotificationConfiguration.getEvents() instead.
        public String getEvent() {
            Set<Stringevents = getEvents();
            String[] eventArray = events.toArray(new String[events.size()]);
            return eventArray[0];
        }
        @Override
        public String toString() {
            return Jackson.toJsonString(this);
        }
    }
New to GrepCode? Check out our FAQ X