package org.apache.streams.datasift.serializer;

import org.apache.streams.data.ActivitySerializer;
import org.apache.streams.datasift.Datasift;
import org.apache.streams.datasift.instagram.Instagram;
import org.apache.streams.datasift.interaction.Interaction;
import org.apache.streams.datasift.twitter.Twitter;

/**
 * Created by sblackmon on 11/6/14.
 */
public class DatasiftEventClassifier {

    public static Class detectClass(Datasift event) {

        if(event.getTwitter() != null) {
            return Twitter.class;
        } else if(event.getInstagram() != null) {
            return Instagram.class;
        } else {
            return Interaction.class;
        }
    }

    public static ActivitySerializer bestSerializer(Datasift event) {

        if(event.getTwitter() != null) {
            return DatasiftTweetActivitySerializer.getInstance();
        } else if(event.getInstagram() != null) {
            return DatasiftInstagramActivitySerializer.getInstance();
        } else {
            return DatasiftInteractionActivitySerializer.getInstance();
        }
    }
}

@@ -1,8 +1,755 @@
+/*%0A * Licensed to the Apache Software Foundation (ASF) under one%0A * or more contributor license agreements.  See the NOTICE file%0A * distributed with this work for additional information%0A * regarding copyright ownership.  The ASF licenses this file%0A * to you under the Apache License, Version 2.0 (the%0A * %22License%22); you may not use this file except in compliance%0A *%0A *   http://www.apache.org/licenses/LICENSE-2.0%0A *%0A * Unless required by applicable law or agreed to in writing,%0A * software distributed under the License is distributed on an%0A * %22AS IS%22 BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY%0A * KIND, either express or implied.  See the License for the%0A * specific language governing permissions and limitations%0A * under the License.%0A */%0A%0A
 package 

add license header