[ 
https://issues.apache.org/jira/browse/APEXMALHAR-2046?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15227836#comment-15227836
 ] 

ASF GitHub Bot commented on APEXMALHAR-2046:
--------------------------------------------

Github user chandnisingh commented on a diff in the pull request:

    
https://github.com/apache/incubator-apex-malhar/pull/232#discussion_r58657819
  
    --- Diff: 
library/src/main/java/org/apache/apex/malhar/lib/spillable/SpillableFactory.java
 ---
    @@ -0,0 +1,171 @@
    +/*
    + * Copyright 2016 Apache Software Foundation.
    + *
    + * 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.apache.apex.malhar.lib.spillable;
    +
    +import java.util.List;
    +import java.util.Map;
    +import java.util.Queue;
    +
    +import com.google.common.collect.ListMultimap;
    +
    +import com.datatorrent.api.Component;
    +import com.datatorrent.api.Context.OperatorContext;
    +
    +/**
    + * This is a factory for spillable data structures. This should be used as
    + * a component inside {@link com.datatorrent.api.Operator}s.
    + */
    +public interface SpillableFactory extends Component<OperatorContext>
    +{
    +  /**
    +   * This signals that the parent {@link com.datatorrent.api.Operator}'s
    +   * {@link com.datatorrent.api.Operator#beginWindow(long)} method has 
been called.
    +   * @param windowId The next windowId of the parent operator.
    +   */
    +  public void beginWindow(long windowId);
    +
    +  /**
    +   * This signals that the parent {@link com.datatorrent.api.Operator}'s
    +   * {@link com.datatorrent.api.Operator#endWindow()} method has been 
called.
    +   */
    +  public void endWindow();
    +
    +  /**
    +   * This is a factory method for creating a {@link SpillableArrayList}.
    +   * @param <T> The type of data stored in the {@link SpillableArrayList}.
    +   * @param bucket The bucket that this {@link SpillableArrayList} will be 
spilled too.
    +   * @param serde The Serializer/Deserializer to use for data stored in 
the {@link SpillableArrayList}.
    +   * @return A {@link SpillableArrayList}.
    +   */
    +  public <T> SpillableArrayList<T> newIndexedList(long bucket, Serde<T, 
byte[]> serde);
    +
    +  /**
    +   * This is a factory method for creating a {@link SpillableArrayList}.
    +   * @param <T> The type of data stored in the {@link SpillableArrayList}.
    +   * @param prefix The identifier for this {@link SpillableArrayList}.
    +   * @param bucket The bucket that this {@link SpillableArrayList} will be 
spilled too.
    +   * @param serde The Serializer/Deserializer to use for data stored in 
the {@link SpillableArrayList}.
    +   * @return A {@link SpillableArrayList}.
    +   */
    +  public <T> SpillableArrayList<T> newIndexedList(byte[] prefix, long 
bucket, Serde<T, byte[]> serde);
    +
    +  /**
    +   * This is a factory method for creating a {@link 
SpillableByteIndexedMap}.
    +   * @param <K> The type of the keys.
    +   * @param <V> The type of the values.
    +   * @param bucket The bucket that this {@link SpillableByteIndexedMap} 
will be spilled too.
    +   * @param serdeKey The Serializer/Deserializer to use for the map's keys.
    +   * @param serdeValue The Serializer/Deserializer to use for the map's 
values.
    +   * @return A {@link SpillableByteIndexedMap}.
    +   */
    +  public <K, V> SpillableByteIndexedMap<K, V> newMap(long bucket, Serde<K, 
byte[]> serdeKey,
    --- End diff --
    
    what is a ByteIndexedMap?


> Create SpillableFactory Interface
> ---------------------------------
>
>                 Key: APEXMALHAR-2046
>                 URL: https://issues.apache.org/jira/browse/APEXMALHAR-2046
>             Project: Apache Apex Malhar
>          Issue Type: Sub-task
>            Reporter: Timothy Farkas
>            Assignee: Timothy Farkas
>




--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Reply via email to