{-# LANGUAGE OverloadedStrings #-}
{-# LANGUAGE DeriveDataTypeable #-}
module Text.HTML5.MetaData.Schema.SoftwareSourceCode where

--  Valid: 2016-02-03 (Schema.rdfs.org)

import Text.HTML5.MetaData.Class
import Text.HTML5.MetaData.Type
import Data.Text
import Data.Typeable
import {-# SOURCE #-} qualified Text.HTML5.MetaData.Schema.Thing
import {-# SOURCE #-} qualified Text.HTML5.MetaData.Schema.CreativeWork

-- | Computer programming source code. Example: Full (compile ready) solutions, code snippet samples, scripts, templates.
--
--   [@id@] SoftwareSourceCode
--
--   [@label@] Software Source Code
--
--   [@comment@] Computer programming source code. Example: Full (compile ready) solutions, code snippet samples, scripts, templates.
--
--   [@ancestors@] @'Thing','CreativeWork'@
--
--   [@subtypes@]
--
--   [@supertypes@] @'CreativeWork'@
--
--   [@url@] <http://schema.org/SoftwareSourceCode>
data SoftwareSourceCode = SoftwareSourceCode { codeRepository :: CodeRepository
                                             , codeSampleType :: CodeSampleType
                                             , programmingLanguage :: ProgrammingLanguage
                                             , runtimePlatform :: RuntimePlatform
                                             , targetProduct :: TargetProduct
                                             , about :: About
                                             , accessibilityAPI :: AccessibilityAPI
                                             , accessibilityControl :: AccessibilityControl
                                             , accessibilityFeature :: AccessibilityFeature
                                             , accessibilityHazard :: AccessibilityHazard
                                             , accountablePerson :: AccountablePerson
                                             , aggregateRating :: AggregateRating
                                             , alternativeHeadline :: AlternativeHeadline
                                             , associatedMedia :: AssociatedMedia
                                             , audience :: Audience
                                             , audio :: Audio
                                             , author :: Author
                                             , award :: Award
                                             , character :: Character
                                             , citation :: Citation
                                             , comment :: Comment
                                             , commentCount :: CommentCount
                                             , contentLocation :: ContentLocation
                                             , contentRating :: ContentRating
                                             , contributor :: Contributor
                                             , copyrightHolder :: CopyrightHolder
                                             , copyrightYear :: CopyrightYear
                                             , creator :: Creator
                                             , dateCreated :: DateCreated
                                             , dateModified :: DateModified
                                             , datePublished :: DatePublished
                                             , discussionUrl :: DiscussionUrl
                                             , editor :: Editor
                                             , educationalAlignment :: EducationalAlignment
                                             , educationalUse :: EducationalUse
                                             , encoding :: Encoding
                                             , exampleOfWork :: ExampleOfWork
                                             , fileFormat :: FileFormat
                                             , genre :: Genre
                                             , hasPart :: HasPart
                                             , headline :: Headline
                                             , inLanguage :: InLanguage
                                             , interactionStatistic :: InteractionStatistic
                                             , interactivityType :: InteractivityType
                                             , isBasedOnUrl :: IsBasedOnUrl
                                             , isFamilyFriendly :: IsFamilyFriendly
                                             , isPartOf :: IsPartOf
                                             , keywords :: Keywords
                                             , learningResourceType :: LearningResourceType
                                             , license :: License
                                             , locationCreated :: LocationCreated
                                             , mainEntity :: MainEntity
                                             , mentions :: Mentions
                                             , offers :: Offers
                                             , position :: Position
                                             , producer :: Producer
                                             , provider :: Provider
                                             , publication :: Publication
                                             , publisher :: Publisher
                                             , publishingPrinciples :: PublishingPrinciples
                                             , recordedAt :: RecordedAt
                                             , releasedEvent :: ReleasedEvent
                                             , review :: Review
                                             , schemaVersion :: SchemaVersion
                                             , sourceOrganization :: SourceOrganization
                                             , text :: Text
                                             , thumbnailUrl :: ThumbnailUrl
                                             , timeRequired :: TimeRequired
                                             , translator :: Translator
                                             , typicalAgeRange :: TypicalAgeRange
                                             , version :: Version
                                             , video :: Video
                                             , workExample :: WorkExample
                                             , additionalType :: AdditionalType
                                             , alternateName :: AlternateName
                                             , description :: Description
                                             , image :: Image
                                             , mainEntityOfPage :: MainEntityOfPage
                                             , name :: Name
                                             , potentialAction :: PotentialAction
                                             , sameAs :: SameAs
                                             , url :: Url
                                             }
                          deriving (Show, Read, Eq, Typeable)

instance MetaData SoftwareSourceCode where
  _label         = const "Software Source Code"
  _comment_plain = const "Computer programming source code. Example: Full (compile ready) solutions, code snippet samples, scripts, templates."
  _comment       = const "Computer programming source code. Example: Full (compile ready) solutions, code snippet samples, scripts, templates."
  _url           = const "http://schema.org/SoftwareSourceCode"
  _ancestors     = const [typeOf (undefined :: Text.HTML5.MetaData.Schema.Thing.Thing)
                         ,typeOf (undefined :: Text.HTML5.MetaData.Schema.CreativeWork.CreativeWork)]
  _subtypes      = const []
  _supertypes    = const [typeOf (undefined :: Text.HTML5.MetaData.Schema.CreativeWork.CreativeWork)]