// Path: agorava-facebook-api/src/main/java/org/agorava/facebook/model/Location.java
// public class Location {
// 
//     private final double latitude;
// 
//     private final double longitude;
// 
//     private String street;
// 
//     private String city;
// 
//     private String state;
// 
//     private String country;
// 
//     private String zip;
// 
//     private Location(double latitude, double longitude) {
//         this.latitude = latitude;
//         this.longitude = longitude;
//     }
// 
//     public double getLatitude() {
//         return latitude;
//     }
// 
//     public double getLongitude() {
//         return longitude;
//     }
// 
//     public String getStreet() {
//         return street;
//     }
// 
//     public String getCity() {
//         return city;
//     }
// 
//     public String getState() {
//         return state;
//     }
// 
//     public String getCountry() {
//         return country;
//     }
// 
//     public String getZip() {
//         return zip;
//     }
// 
// }


import com.fasterxml.jackson.annotation.JsonCreator;
import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
import com.fasterxml.jackson.annotation.JsonProperty;
import org.agorava.facebook.model.Location;
/*
 * Copyright 2013 Agorava
 *
 * 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.agorava.facebook.jackson;


/**
 * Annotated mixin to add Jackson annotations to Page.
 *
 * @author Craig Walls
 */
@JsonIgnoreProperties(ignoreUnknown = true)
abstract class PageMixin {

    @JsonCreator
    PageMixin(@JsonProperty("id") String id, @JsonProperty("name") String name, @JsonProperty("link") String location,
              @JsonProperty("category") String category) {
    }

    @JsonProperty("description")
    String description;

    @JsonProperty("location")
    Location location;

    @JsonProperty("website")
    String website;

    @JsonProperty("picture")
    String picture;

    @JsonProperty("phone")
    String phone;

    @JsonProperty("affiliation")
    String affiliation;

    @JsonProperty("company_overview")
    String companyOverview;

    @JsonProperty("fan_count")
    int fanCount;

    @JsonProperty("likes")
    int likes;

    @JsonProperty("checkins")
// Path: agorava-facebook-api/src/main/java/org/agorava/facebook/model/Location.java
// public class Location {
// 
//     private final double latitude;
// 
//     private final double longitude;
// 
//     private String street;
// 
//     private String city;
// 
//     private String state;
// 
//     private String country;
// 
//     private String zip;
// 
//     private Location(double latitude, double longitude) {
//         this.latitude = latitude;
//         this.longitude = longitude;
//     }
// 
//     public double getLatitude() {
//         return latitude;
//     }
// 
//     public double getLongitude() {
//         return longitude;
//     }
// 
//     public String getStreet() {
//         return street;
//     }
// 
//     public String getCity() {
//         return city;
//     }
// 
//     public String getState() {
//         return state;
//     }
// 
//     public String getCountry() {
//         return country;
//     }
// 
//     public String getZip() {
//         return zip;
//     }
// 
// }


// Path: agorava-facebook-cdi/src/main/java/org/agorava/facebook/jackson/PageMixin.java
import com.fasterxml.jackson.annotation.JsonCreator;
import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
import com.fasterxml.jackson.annotation.JsonProperty;
import org.agorava.facebook.model.Location;

/*
 * Copyright 2013 Agorava
 *
 * 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.agorava.facebook.jackson;


/**
 * Annotated mixin to add Jackson annotations to Page.
 *
 * @author Craig Walls
 */
@JsonIgnoreProperties(ignoreUnknown = true)
abstract class PageMixin {

    @JsonCreator
    PageMixin(@JsonProperty("id") String id, @JsonProperty("name") String name, @JsonProperty("link") String location,
              @JsonProperty("category") String category) {
    }

    @JsonProperty("description")
    String description;

    @JsonProperty("location")
    Location location;

    @JsonProperty("website")
    String website;

    @JsonProperty("picture")
    String picture;

    @JsonProperty("phone")
    String phone;

    @JsonProperty("affiliation")
    String affiliation;

    @JsonProperty("company_overview")
    String companyOverview;

    @JsonProperty("fan_count")
    int fanCount;

    @JsonProperty("likes")
    int likes;

    @JsonProperty("checkins")
    int checkins;