Start line:  
End line:  

Snippet Preview

Snippet HTML Code

Stack Overflow Questions
 /*
  * Copyright (c) 2010. Axon Framework
  *
  * 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.axonframework.eventsourcing;
Interface describing a class that can decorates DomainEventStreams when events for aggregates are read or appended.

Author(s):
Allard Buijze
Since:
0.7
public interface EventStreamDecorator {

    
Called when an event stream is read from the event store.

Note that a stream is read-once, similar to InputStream. If you read from the stream, make sure to store the read events and pass them to the chain. Usually, it is best to decorate the given eventStream and pass that to the chain.

Parameters:
aggregateType The type of aggregate events are being read for
aggregateIdentifier The identifier of the aggregate events are loaded for
eventStream The eventStream containing the events to append to the event store @return The decorated event stream
Returns:
the decorated event stream
    DomainEventStream decorateForRead(String aggregateTypeAggregateIdentifier aggregateIdentifier,
                                      DomainEventStream eventStream);

    
Called when an event stream is appended to the event store.

Note that a stream is read-once, similar to InputStream. If you read from the stream, make sure to store the read events and pass them to the chain. Usually, it is best to decorate the given eventStream and pass that to the chain.

Parameters:
aggregateType The type of aggregate events are being appended for
aggregate The aggregate for which the events are being stored
eventStream The eventStream containing the events to append to the event store @return The decorated event stream
Returns:
the decorated event stream
                                        DomainEventStream eventStream);
New to GrepCode? Check out our FAQ X