metadata

package
v0.0.0-...-4c6a4f5 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Apr 12, 2024 License: GPL-3.0 Imports: 7 Imported by: 0

Documentation

Index

Constants

View Source
const (
	// RETSDateTimeFormat is the simple date format for most rets dates
	RETSDateTimeFormat = "2006-01-02T15:04:05Z"
	// RETSDateTimeMiilliFormat is the date format for rets dates with millis
	RETSDateTimeMiilliFormat = "2006-01-02T15:04:05.000Z"
)

TODO consider a high order function to hide the format and tz to process DateTime TODO consider a func that produces a time based on matching the best time format

Variables

View Source
var MIClass = MetaInfo{
	Name:        "METADATA-CLASS",
	ContentName: "Class",
	ContentID:   "ClassName",
	Child:       []MetaInfo{MITable, MIUpdate, MIColumnGroup, MIColumnGroupSet},
}

MIClass ...

View Source
var MIColumnGroup = MetaInfo{
	Name:        "METADATA-COLUMN_GROUP",
	ContentName: "ColumnGroup",
	ContentID:   "ColumnGroupName",
	Child:       []MetaInfo{MIColumnGroupControl, MIColumnGroupTable, MIColumnGroupNormalization},
}

MIColumnGroup ...

View Source
var MIColumnGroupControl = MetaInfo{
	Name:        "METADATA-COLUMN_GROUP_CONTROL",
	ContentName: "ColumnGroupControl",
	ContentID:   "MetadataEntryID",
}

MIColumnGroupControl ...

View Source
var MIColumnGroupNormalization = MetaInfo{
	Name:        "METADATA-COLUMN_GROUP_NORMALIZATION",
	ContentName: "ColumnGroupNormalization",
	ContentID:   "MetadataEntryID",
}

MIColumnGroupNormalization ...

View Source
var MIColumnGroupSet = MetaInfo{
	Name:        "METADATA-COLUMN_GROUP_SET",
	ContentName: "ColumnGroupSet",
	ContentID:   "ColumnGroupSetName",
}

MIColumnGroupSet ...

View Source
var MIColumnGroupTable = MetaInfo{
	Name:        "METADATA-COLUMN_GROUP_TABLE",
	ContentName: "ColumnGroupTable",
	ContentID:   "MetadataEntryID",
}

MIColumnGroupTable ...

View Source
var MIEditMask = MetaInfo{
	Name:        "METADATA-EDITMASK",
	ContentName: "EditMask",
	ContentID:   "EditMaskID",
}

MIEditMask ...

View Source
var MIFilter = MetaInfo{
	Name:        "METADATA-FILTER",
	ContentName: "Filter",
	ContentID:   "FilterID",
	Child:       []MetaInfo{MIFilterType},
}

MIFilter ...

View Source
var MIFilterType = MetaInfo{
	Name:        "METADATA-FILTER_TYPE",
	ContentName: "FilterType",
	ParentID:    "Filter",
}

MIFilterType ...

View Source
var MIForeignKey = MetaInfo{
	Name:        "METADATA-FOREIGN_KEY",
	ContentName: "ForeignKey",
	ContentID:   "ForeignKeyID",
}

MIForeignKey ...

View Source
var MILookup = MetaInfo{
	Name:        "METADATA-LOOKUP",
	ContentName: "Lookup",
	ContentID:   "LookupName",
	Child:       []MetaInfo{MILookupType},
}

MILookup ...

View Source
var MILookupType = MetaInfo{
	Name:        "METADATA-LOOKUP_TYPE",
	ContentName: "LookupType",
	ParentID:    "Lookup",
}

MILookupType ...

View Source
var MIObject = MetaInfo{
	Name:        "METADATA-OBJECT",
	ContentName: "Object",
	ContentID:   "MetadataEntryID",
}

MIObject ...

View Source
var MIResource = MetaInfo{
	Name:        "METADATA-RESOURCE",
	ContentName: "Resource",
	ContentID:   "ResourceID",
	Child: []MetaInfo{
		MIClass,
		MIObject,
		MISearchHelp,
		MIEditMask,
		MIUpdateHelp,
		MILookup,
		MIValidationLookup,
		MIValidationExternal,
		MIValidationExpression,
	},
}

MIResource ...

View Source
var MISearchHelp = MetaInfo{
	Name:        "METADATA-SEARCH_HELP",
	ContentName: "SearchHelp",
	ContentID:   "MetadataEntryID",
}

MISearchHelp ...

View Source
var MISystem = MetaInfo{
	Name:        "METADATA-SYSTEM",
	ContentName: "System",
	ContentID:   "SystemID",
	Child:       []MetaInfo{MIResource, MIForeignKey, MIFilter},
}

MISystem ...

View Source
var MITable = MetaInfo{
	Name:        "METADATA-TABLE",
	ContentName: "Field",
	ContentID:   "MetadataEntryID",
}

MITable ...

View Source
var MIUpdate = MetaInfo{
	Name:        "METADATA-UPDATE",
	ContentName: "Update",
	ContentID:   "MetadataEntryID",
	Child:       []MetaInfo{MIUpdateType},
}

MIUpdate ...

View Source
var MIUpdateHelp = MetaInfo{
	Name:        "METADATA-UPDATE_HELP`",
	ContentName: "UpdateHelp",
	ContentID:   "UpdateHelpID",
}

MIUpdateHelp ...

View Source
var MIUpdateType = MetaInfo{
	Name:        "METADATA-UPDATE_TYPE`",
	ContentName: "UpdateType",
	ParentID:    "Update",
}

MIUpdateType ...

View Source
var MIValidationExpression = MetaInfo{
	Name:        "METADATA-VALIDATION_EXPRESSION",
	ContentName: "ValidationExpression",
	ContentID:   "ValidationExpressionID",
}

MIValidationExpression ...

View Source
var MIValidationExternal = MetaInfo{
	Name:        "METADATA-VALIDATION_EXTERNAL",
	ContentName: "ValidationExternal",
	ContentID:   "ValidationExternalName",
	Child:       []MetaInfo{MIValidationExternalType},
}

MIValidationExternal ...

View Source
var MIValidationExternalType = MetaInfo{
	Name:        "METADATA-VALIDATION_EXTERNAL_TYPE",
	ContentName: "ValidationExternalType",
	ContentID:   "MetadataEntryID",
}

MIValidationExternalType ...

View Source
var MIValidationLookup = MetaInfo{
	Name:        "METADATA-VALIDATION_LOOKUP",
	ContentName: "ValidationLookup",
	ContentID:   "ValidationLookupName",
	Child:       []MetaInfo{MIValidationLookupType},
}

MIValidationLookup DEPRECATED

View Source
var MIValidationLookupType = MetaInfo{
	Name:        "METADATA-VALIDATION_LOOKUP_TYPE",
	ContentName: "ValidationLookupType",
	ParentID:    "ValidationLookup",
}

MIValidationLookupType DEPRECATED

Functions

This section is empty.

Types

type AlphaNum

type AlphaNum string

AlphaNum ...

type Boolean

type Boolean string

Boolean decodes the 1 or 0 to t/f values

func (Boolean) Parse

func (b Boolean) Parse() (bool, error)

Parse ...

type Class

type Class struct {
	ClassName             RETSName  `xml:",omitempty" json:",omitempty"`
	StandardName          PlainText `xml:",omitempty" json:",omitempty"`
	VisibleName           PlainText `xml:",omitempty" json:",omitempty"`
	Description           PlainText `xml:",omitempty" json:",omitempty"`
	TableVersion          Version   `xml:",omitempty" json:",omitempty"`
	TableDate             DateTime  `xml:",omitempty" json:",omitempty"`
	UpdateVersion         Version   `xml:",omitempty" json:",omitempty"`
	UpdateDate            DateTime  `xml:",omitempty" json:",omitempty"`
	ClassTimeStamp        RETSName  `xml:",omitempty" json:",omitempty"`
	DeletedFlagField      RETSName  `xml:",omitempty" json:",omitempty"`
	DeletedFlagValue      AlphaNum  `xml:",omitempty" json:",omitempty"`
	HasKeyIndex           Boolean   `xml:",omitempty" json:",omitempty"`
	OffsetSupport         Boolean   `xml:",omitempty" json:",omitempty"`
	ColumnGroupVersion    Version   `xml:",omitempty" json:",omitempty"`
	ColumnGroupDate       DateTime  `xml:",omitempty" json:",omitempty"`
	ColumnGroupSetVersion Version   `xml:",omitempty" json:",omitempty"`
	ColumnGroupSetDate    DateTime  `xml:",omitempty" json:",omitempty"`

	MTable          *MTable          `xml:"METADATA-TABLE,omitempty" json:"METADATA-TABLE,omitempty"`
	MUpdate         *MUpdate         `xml:"METADATA-UPDATE,omitempty" json:"METADATA-UPDATE,omitempty"`
	MColumnGroupSet *MColumnGroupSet `xml:"METADATA-COLUMN_GROUP_SET,omitempty" json:"METADATA-COLUMN_GROUP_SET,omitempty"`
	MColumnGroup    *MColumnGroup    `xml:"METADATA-COLUMN_GROUP,omitempty" json:"METADATA-COLUMN_GROUP,omitempty"`
}

Class ...

type ColumnGroup

type ColumnGroup struct {
	MetadataEntryID   RETSID   `xml:",omitempty" json:",omitempty"`
	ColumnGroupName   RETSID   `xml:",omitempty" json:",omitempty"`
	ControlSystemName RETSID   `xml:",omitempty" json:",omitempty"`
	LongName          RETSName `xml:",omitempty" json:",omitempty"`
	ShortName         RETSName `xml:",omitempty" json:",omitempty"`
	Description       Text     `xml:",omitempty" json:",omitempty"`

	MColumnGroupControl       *MColumnGroupControl       `xml:"METADATA-COLUMN_GROUP_CONTROL,omitempty" json:"METADATA-COLUMN_GROUP_CONTROL,omitempty"`
	MColumnGroupTable         *MColumnGroupTable         `xml:"METADATA-COLUMN_GROUP_TABLE,omitempty" json:"METADATA-COLUMN_GROUP_TABLE,omitempty"`
	MColumnGroupNormalization *MColumnGroupNormalization `xml:"METADATA-COLUMN_GROUP_NORMALIZATION,omitempty" json:"METADATA-COLUMN_GROUP_NORMALIZATION,omitempty"`
}

ColumnGroup ...

type ColumnGroupControl

type ColumnGroupControl struct {
	MetadataEntryID RETSID  `xml:",omitempty" json:",omitempty"`
	LowValue        Numeric `xml:",omitempty" json:",omitempty"`
	HighValue       Numeric `xml:",omitempty" json:",omitempty"`
}

ColumnGroupControl ...

type ColumnGroupNormalization

type ColumnGroupNormalization struct {
	MetadataEntryID RETSID  `xml:",omitempty" json:",omitempty"`
	TypeIdentifier  RETSID  `xml:",omitempty" json:",omitempty"`
	Sequence        Numeric `xml:",omitempty" json:",omitempty"`
	ColumnLabel     RETSID  `xml:",omitempty" json:",omitempty"`
	SystemName      RETSID  `xml:",omitempty" json:",omitempty"`
}

ColumnGroupNormalization ...

type ColumnGroupSet

type ColumnGroupSet struct {
	MetadataEntryID      RETSID   `xml:",omitempty" json:",omitempty"`
	ColumnGroupSetName   RETSID   `xml:",omitempty" json:",omitempty"`
	ColumnGroupSetParent RETSID   `xml:",omitempty" json:",omitempty"`
	Sequence             Numeric  `xml:",omitempty" json:",omitempty"`
	LongName             RETSName `xml:",omitempty" json:",omitempty"`
	ShortName            RETSName `xml:",omitempty" json:",omitempty"`
	Description          Text     `xml:",omitempty" json:",omitempty"`
	ColumnGroupName      RETSID   `xml:",omitempty" json:",omitempty"`
	PresentationStyle    Text     `xml:",omitempty" json:",omitempty"`
	URL                  Text     `xml:",omitempty" json:",omitempty"`
	ForeignKeyID         RETSID   `xml:",omitempty" json:",omitempty"`
}

ColumnGroupSet ...

type ColumnGroupTable

type ColumnGroupTable struct {
	MetadataEntryID    RETSID   `xml:",omitempty" json:",omitempty"`
	SystemName         RETSID   `xml:",omitempty" json:",omitempty"`
	ColumnGroupSetName RETSID   `xml:",omitempty" json:",omitempty"`
	LongName           RETSName `xml:",omitempty" json:",omitempty"`
	ShortName          RETSName `xml:",omitempty" json:",omitempty"`
	DisplayOrder       Numeric  `xml:",omitempty" json:",omitempty"`
	DisplayLength      Numeric  `xml:",omitempty" json:",omitempty"`
	DisplayHeight      Numeric  `xml:",omitempty" json:",omitempty"`
	ImmediateRefresh   Boolean  `xml:",omitempty" json:",omitempty"`
}

ColumnGroupTable ...

type DateTime

type DateTime string

DateTime ...

func (DateTime) Parse

func (dt DateTime) Parse(format string, tz *time.Location) (time.Time, error)

Parse ...

type EditMask

type EditMask struct {
	MetadataEntryID RETSID   `xml:",omitempty" json:",omitempty"`
	EditMaskID      RETSName `xml:",omitempty" json:",omitempty"`
	Value           Text     `xml:",omitempty" json:",omitempty"`
}

EditMask ...

type Extractor

type Extractor struct {
	Body io.ReadCloser
	// contains filtered or unexported fields
}

Extractor processes metadata elements

func (*Extractor) DecodeNext

func (e *Extractor) DecodeNext(match string, elem interface{}) error

DecodeNext the provided elemment

func (*Extractor) Open

func (e *Extractor) Open() (RETSResponse, error)

Open a metadata stream and read in the RETS response

type Field

type Field struct {
	MetadataEntryID    RETSID    `xml:",omitempty" json:",omitempty"`
	SystemName         RETSName  `xml:",omitempty" json:",omitempty"`
	StandardName       RETSName  `xml:",omitempty" json:",omitempty"`
	LongName           Text      `xml:",omitempty" json:",omitempty"`
	DBName             AlphaNum  `xml:",omitempty" json:",omitempty"`
	ShortName          Text      `xml:",omitempty" json:",omitempty"`
	MaximumLength      Numeric   `xml:",omitempty" json:",omitempty"` // TODO limit to positive
	DataType           string    `xml:",omitempty" json:",omitempty"` // TODO limit to options
	Precision          Numeric   `xml:",omitempty" json:",omitempty"` // TODO limit to positive
	Searchable         Boolean   `xml:",omitempty" json:",omitempty"`
	Interpretation     string    `xml:",omitempty" json:",omitempty"` // TODO limit to options
	Alignment          string    `xml:",omitempty" json:",omitempty"` // TODO limit to options
	UseSeparator       Boolean   `xml:",omitempty" json:",omitempty"` // TODO limit to options
	EditMaskID         RETSNames `xml:",omitempty" json:",omitempty"`
	LookupName         RETSName  `xml:",omitempty" json:",omitempty"`
	MaxSelect          Numeric   `xml:",omitempty" json:",omitempty"`
	Units              string    `xml:",omitempty" json:",omitempty"`
	Index              Boolean   `xml:",omitempty" json:",omitempty"`
	Minimum            Numeric   `xml:",omitempty" json:",omitempty"`
	Maximum            Numeric   `xml:",omitempty" json:",omitempty"`
	Default            Numeric   `xml:",omitempty" json:",omitempty"`
	Required           Numeric   `xml:",omitempty" json:",omitempty"`
	SearchHelpID       RETSName  `xml:",omitempty" json:",omitempty"`
	Unique             Boolean   `xml:",omitempty" json:",omitempty"`
	ModTimeStamp       DateTime  `xml:",omitempty" json:",omitempty"`
	ForeignKeyName     RETSID    `xml:",omitempty" json:",omitempty"`
	ForeignField       RETSName  `xml:",omitempty" json:",omitempty"`
	KeyQuery           Boolean   `xml:",omitempty" json:",omitempty"` // deprecated
	KeySelect          Boolean   `xml:",omitempty" json:",omitempty"` // deprecated
	InKeyIndex         Boolean   `xml:",omitempty" json:",omitempty"`
	FilterParentField  RETSName  `xml:",omitempty" json:",omitempty"`
	DefaultSearchOrder Numeric   `xml:",omitempty" json:",omitempty"`
	Case               string    `xml:",omitempty" json:",omitempty"` // TODO limit to known options
}

Field ...

type FieldTransfer

type FieldTransfer map[string]string

FieldTransfer is a helper to move data from a map to a struct

func (FieldTransfer) To

func (fields FieldTransfer) To(target interface{})

To is the function for moving the fields to the target

type Filter

type Filter struct {
	FilterID          RETSID   `xml:",omitempty" json:",omitempty"`
	ParentResource    RETSID   `xml:",omitempty" json:",omitempty"`
	ParentLookupName  RETSName `xml:",omitempty" json:",omitempty"`
	ChildResource     RETSID   `xml:",omitempty" json:",omitempty"`
	ChildLookupName   RETSName `xml:",omitempty" json:",omitempty"`
	NotShownByDefault Boolean  `xml:",omitempty" json:",omitempty"`

	MFilterType *MFilterType `xml:"METADATA-FILTER_TYPE,omitempty" json:"METADATA-FILTER_TYPE,omitempty"`
}

Filter ...

type FilterType

type FilterType struct {
	FilterTypeID RETSID    `xml:",omitempty" json:",omitempty"`
	ParentValue  PlainText `xml:",omitempty" json:",omitempty"`
	ChildValue   PlainText `xml:",omitempty" json:",omitempty"`
}

FilterType ...

type ForeignKey

type ForeignKey struct {
	ForeignKeyID           RETSID   `xml:",omitempty" json:",omitempty"`
	ParentResourceID       RETSID   `xml:",omitempty" json:",omitempty"`
	ParentClassID          RETSID   `xml:",omitempty" json:",omitempty"`
	ParentSystemName       RETSName `xml:",omitempty" json:",omitempty"`
	ChildResourceID        RETSID   `xml:",omitempty" json:",omitempty"`
	ChildClassID           RETSID   `xml:",omitempty" json:",omitempty"`
	ChildSystemName        RETSName `xml:",omitempty" json:",omitempty"`
	ConditionalParentField RETSName `xml:",omitempty" json:",omitempty"`
	ConditionalParentValue RETSName `xml:",omitempty" json:",omitempty"`
	OneToManyFlag          Boolean  `xml:",omitempty" json:",omitempty"`
}

ForeignKey ...

type Lookup

type Lookup struct {
	MetadataEntryID   RETSID    `xml:",omitempty" json:",omitempty"`
	LookupName        RETSName  `xml:",omitempty" json:",omitempty"`
	VisibleName       PlainText `xml:",omitempty" json:",omitempty"`
	LookupTypeVersion Version   `xml:",omitempty" json:",omitempty"`
	LookupTypeDate    DateTime  `xml:",omitempty" json:",omitempty"`
	FilterID          RETSID    `xml:",omitempty" json:",omitempty"`
	NotShowByDefault  Boolean   `xml:",omitempty" json:",omitempty"`

	MLookupType *MLookupType `xml:"METADATA-LOOKUP_TYPE,omitempty" json:"METADATA-LOOKUP_TYPE,omitempty"`
}

Lookup ...

type LookupType

type LookupType struct {
	MetadataEntryID RETSID    `xml:",omitempty" json:",omitempty"`
	LongValue       PlainText `xml:",omitempty" json:",omitempty"`
	ShortValue      PlainText `xml:",omitempty" json:",omitempty"`
	Value           PlainText `xml:",omitempty" json:",omitempty"`
}

LookupType ...

type MClass

type MClass struct {
	Date     DateTime `xml:",attr,omitempty" json:",omitempty"`
	Version  Version  `xml:",attr,omitempty" json:",omitempty"`
	Resource RETSID   `xml:",attr,omitempty" json:",omitempty"`
	Class    []Class  `xml:",omitempty" json:",omitempty"`
}

MClass ...

type MColumnGroup

type MColumnGroup struct {
	Date        DateTime      `xml:",attr,omitempty"`
	Version     Version       `xml:",attr,omitempty"`
	Resource    RETSID        `xml:",attr,omitempty"`
	Class       RETSID        `xml:",attr,omitempty"`
	ColumnGroup []ColumnGroup `xml:",omitempty"`
}

MColumnGroup ...

type MColumnGroupControl

type MColumnGroupControl struct {
	Date               DateTime             `xml:",attr,omitempty"`
	Version            Version              `xml:",attr,omitempty"`
	Resource           RETSID               `xml:",attr,omitempty"`
	Class              RETSID               `xml:",attr,omitempty"`
	ColumnGroup        RETSID               `xml:",attr,omitempty"`
	ColumnGroupControl []ColumnGroupControl `xml:",omitempty"`
}

MColumnGroupControl ...

type MColumnGroupNormalization

type MColumnGroupNormalization struct {
	Date                     DateTime                   `xml:",attr,omitempty"`
	Version                  Version                    `xml:",attr,omitempty"`
	Resource                 RETSID                     `xml:",attr,omitempty"`
	Class                    RETSID                     `xml:",attr,omitempty"`
	ColumnGroup              RETSID                     `xml:",attr,omitempty"`
	ColumnGroupNormalization []ColumnGroupNormalization `xml:",omitempty"`
}

MColumnGroupNormalization ...

type MColumnGroupSet

type MColumnGroupSet struct {
	Date           DateTime         `xml:",attr,omitempty"`
	Version        Version          `xml:",attr,omitempty"`
	Resource       RETSID           `xml:",attr,omitempty"`
	Class          RETSID           `xml:",attr,omitempty"`
	ColumnGroupSet []ColumnGroupSet `xml:",omitempty"`
}

MColumnGroupSet ...

type MColumnGroupTable

type MColumnGroupTable struct {
	Date             DateTime           `xml:",attr,omitempty"`
	Version          Version            `xml:",attr,omitempty"`
	Resource         RETSID             `xml:",attr,omitempty"`
	Class            RETSID             `xml:",attr,omitempty"`
	ColumnGroup      RETSID             `xml:",attr,omitempty"`
	ColumnGroupTable []ColumnGroupTable `xml:",omitempty"`
}

MColumnGroupTable ...

type MEditMask

type MEditMask struct {
	Date     DateTime   `xml:",attr,omitempty" json:",omitempty"`
	Version  Version    `xml:",attr,omitempty" json:",omitempty"`
	Resource RETSID     `xml:",attr,omitempty" json:",omitempty"`
	EditMask []EditMask `xml:",omitempty" json:",omitempty"`
}

MEditMask ...

type MFilter

type MFilter struct {
	Date    DateTime `xml:",attr,omitempty" json:",omitempty"`
	Version Version  `xml:",attr,omitempty" json:",omitempty"`
	Filter  []Filter `xml:",omitempty" json:",omitempty"`
}

MFilter ...

type MFilterType

type MFilterType struct {
	Date    DateTime `xml:",attr,omitempty"`
	Version Version  `xml:",attr,omitempty"`

	FilterType []FilterType `xml:",omitempty" json:",omitempty"`
}

MFilterType ...

type MForeignKey

type MForeignKey struct {
	Date       DateTime     `xml:",attr,omitempty" json:",omitempty"`
	Version    Version      `xml:",attr,omitempty" json:",omitempty"`
	ForeignKey []ForeignKey `xml:",omitempty" json:",omitempty"`
}

MForeignKey ...

type MLookup

type MLookup struct {
	Date     DateTime `xml:",attr,omitempty" json:",omitempty"`
	Version  Version  `xml:",attr,omitempty" json:",omitempty"`
	Resource RETSID   `xml:",attr,omitempty" json:",omitempty"`
	Lookup   []Lookup `xml:",omitempty" json:",omitempty"`
}

MLookup ...

type MLookupType

type MLookupType struct {
	Date       DateTime     `xml:",attr,omitempty" json:",omitempty"`
	Version    Version      `xml:",attr,omitempty" json:",omitempty"`
	Resource   RETSID       `xml:",attr,omitempty" json:",omitempty"`
	Lookup     RETSID       `xml:",attr,omitempty" json:",omitempty"`
	LookupType []LookupType `xml:",omitempty" json:",omitempty"`
}

MLookupType ...

type MObject

type MObject struct {
	Date     DateTime `xml:",attr,omitempty" json:",omitempty"`
	Version  Version  `xml:",attr,omitempty" json:",omitempty"`
	Resource RETSID   `xml:",attr,omitempty" json:",omitempty"`
	Object   []Object `xml:",omitempty" json:",omitempty"`
}

MObject ...

type MResource

type MResource struct {
	Date     DateTime   `xml:",attr,omitempty" json:",omitempty"`
	Version  Version    `xml:",attr,omitempty" json:",omitempty"`
	Resource []Resource `xml:",omitempty" json:",omitempty"`
}

MResource ...

type MSearchHelp

type MSearchHelp struct {
	Date       DateTime     `xml:",attr,omitempty" json:",omitempty"`
	Version    Version      `xml:",attr,omitempty" json:",omitempty"`
	Resource   RETSID       `xml:",attr,omitempty" json:",omitempty"`
	SearchHelp []SearchHelp `xml:",omitempty" json:",omitempty"`
}

MSearchHelp ...

type MSystem

type MSystem struct {
	Date    DateTime `xml:",attr,omitempty" json:",omitempty"`
	Version Version  `xml:",attr,omitempty" json:",omitempty"`
	System  System   `xml:"SYSTEM,omitempty" json:",omitempty"`
}

MSystem ...

type MTable

type MTable struct {
	Date     DateTime `xml:",attr,omitempty"`
	Version  Version  `xml:",attr,omitempty"`
	Resource RETSID   `xml:",attr,omitempty"`
	Class    RETSID   `xml:",attr,omitempty"`
	Field    []Field  `xml:",omitempty"`
}

MTable ...

type MUpdate

type MUpdate struct {
	Date     DateTime `xml:",attr,omitempty" json:",omitempty"`
	Version  Version  `xml:",attr,omitempty" json:",omitempty"`
	Resource RETSID   `xml:",attr,omitempty" json:",omitempty"`
	Class    RETSID   `xml:",attr,omitempty" json:",omitempty"`
	Update   []Update `xml:",omitempty" json:",omitempty"`
}

MUpdate ...

type MUpdateHelp

type MUpdateHelp struct {
	Date       DateTime     `xml:",attr,omitempty" json:",omitempty"`
	Version    Version      `xml:",attr,omitempty" json:",omitempty"`
	Resource   RETSID       `xml:",attr,omitempty" json:",omitempty"`
	UpdateHelp []UpdateHelp `xml:",omitempty" json:",omitempty"`
}

MUpdateHelp ...

type MUpdateType

type MUpdateType struct {
	Date       DateTime     `xml:",attr,omitempty" json:",omitempty"`
	Version    Version      `xml:",attr,omitempty" json:",omitempty"`
	Resource   RETSID       `xml:",attr,omitempty" json:",omitempty"`
	Update     RETSID       `xml:",attr,omitempty" json:",omitempty"`
	UpdateType []UpdateType `xml:",omitempty" json:",omitempty"`
}

MUpdateType ...

type MValidationExpression

type MValidationExpression struct {
	Date     DateTime `xml:",attr,omitempty" json:",omitempty"`
	Version  Version  `xml:",attr,omitempty" json:",omitempty"`
	Resource RETSID   `xml:",attr,omitempty" json:",omitempty"`

	ValidationExpression []ValidationExpression `xml:",omitempty" json:",omitempty"`
}

MValidationExpression ...

type MValidationExternal

type MValidationExternal struct {
	Date     DateTime `xml:",attr,omitempty" json:",omitempty"`
	Version  Version  `xml:",attr,omitempty" json:",omitempty"`
	Resource RETSID   `xml:",attr,omitempty" json:",omitempty"`

	ValidationExternal []ValidationExternal `xml:",omitempty" json:",omitempty"`
}

MValidationExternal ...

type MValidationExternalType

type MValidationExternalType struct {
	Date                   DateTime                 `xml:",attr,omitempty" json:",omitempty"`
	Version                Version                  `xml:",attr,omitempty" json:",omitempty"`
	Resource               RETSID                   `xml:",attr,omitempty" json:",omitempty"`
	ValidationExternalName RETSID                   `xml:",attr,omitempty" json:",omitempty"`
	ValidationExternalType []ValidationExternalType `xml:",omitempty" json:",omitempty"`
}

MValidationExternalType ...

type MValidationLookup

type MValidationLookup struct {
	Date             DateTime           `xml:",attr,omitempty" json:",omitempty"`
	Version          Version            `xml:",attr,omitempty" json:",omitempty"`
	Resource         RETSID             `xml:",attr,omitempty" json:",omitempty"`
	ValidationLookup []ValidationLookup `xml:",omitempty" json:",omitempty"`
}

MValidationLookup ...

type MValidationLookupType

type MValidationLookupType struct {
	Date             DateTime `xml:",attr,omitempty" json:",omitempty"`
	Version          Version  `xml:",attr,omitempty" json:",omitempty"`
	Resource         RETSID   `xml:",attr,omitempty" json:",omitempty"`
	ValidationLookup RETSName `xml:",attr,omitempty" json:",omitempty"`

	ValidationLookupType []ValidationLookupType `xml:",omitempty" json:",omitempty"`
}

MValidationLookupType ...

type MetaInfo

type MetaInfo struct {
	// Name is the outer element name
	Name string
	// ContentName sub elements name for Standard XML
	ContentName string
	// ContentID id field for either standard or compact sub elements
	ContentID string
	// ID in the content elems for its parent elem
	ParentID string
	// Child are the children of this meta element
	Child []MetaInfo
}

MetaInfo provides a meta level for metadata, yeah, sorry

func (MetaInfo) ID

func (mi MetaInfo) ID(sub interface{}) string

ID returns the id of the given elem for this meta's info

type Numeric

type Numeric string

Numeric decodes the numeric value

func (Numeric) Parse

func (n Numeric) Parse() (int64, error)

Parse ...

type NumericList

type NumericList string

NumericList ...

func (NumericList) List

func (n NumericList) List() []Numeric

List ...

func (NumericList) Parse

func (n NumericList) Parse() []string

Parse ...

type Object

type Object struct {
	MetadataEntryID      RETSID            `xml:",omitempty" json:",omitempty"`
	ObjectType           AlphaNum          `xml:",omitempty" json:",omitempty"`
	MIMEType             StringList        `xml:",omitempty" json:",omitempty"`
	VisibleName          PlainText         `xml:",omitempty" json:",omitempty"`
	Description          PlainText         `xml:",omitempty" json:",omitempty"`
	ObjectTimeStamp      RETSName          `xml:",omitempty" json:",omitempty"`
	ObjectCount          RETSName          `xml:",omitempty" json:",omitempty"`
	LocationAvailability Boolean           `xml:",omitempty" json:",omitempty"`
	PostSupport          Boolean           `xml:",omitempty" json:",omitempty"`
	ObjectData           ResourceClassName `xml:",omitempty" json:",omitempty"`
	MaxFileSize          Numeric           `xml:",omitempty" json:",omitempty"` // TODO limit to positive
}

Object ...

type PlainText

type PlainText string

PlainText ...

type RETSID

type RETSID string

RETSID ...

type RETSName

type RETSName string

RETSName ...

type RETSNames

type RETSNames string

RETSNames ...

func (RETSNames) List

func (r RETSNames) List() []RETSName

List ...

func (RETSNames) Parse

func (r RETSNames) Parse() []string

Parse ...

type RETSResponse

type RETSResponse struct {
	// TODO extract common work from rets/rets_response.go
	ReplyCode int
	ReplyText string
}

RETSResponse ...

type RETSResponseWrapper

type RETSResponseWrapper struct {
	XMLName   xml.Name `xml:"RETS"`
	ReplyCode int      `xml:",attr"`
	ReplyText string   `xml:",attr"`
	Metadata  Standard `xml:"METADATA,omitempty"`
}

RETSResponseWrapper is a mapping that can be used directly with an xml.Decoder to extract a full mapping

type Resource

type Resource struct {
	ResourceID                  RETSID    `xml:",omitempty" json:",omitempty"`
	StandardName                AlphaNum  `xml:",omitempty" json:",omitempty"`
	VisibleName                 PlainText `xml:",omitempty" json:",omitempty"`
	Description                 PlainText `xml:",omitempty" json:",omitempty"`
	KeyField                    RETSName  `xml:",omitempty" json:",omitempty"`
	ClassCount                  Numeric   `xml:",omitempty" json:",omitempty"`
	ClassVersion                Version   `xml:",omitempty" json:",omitempty"`
	ClassDate                   DateTime  `xml:",omitempty" json:",omitempty"`
	ObjectVersion               Version   `xml:",omitempty" json:",omitempty"`
	ObjectDate                  DateTime  `xml:",omitempty" json:",omitempty"`
	SearchHelpVersion           Version   `xml:",omitempty" json:",omitempty"`
	SearchHelpDate              DateTime  `xml:",omitempty" json:",omitempty"`
	EditMaskVersion             Version   `xml:",omitempty" json:",omitempty"`
	EditMaskDate                DateTime  `xml:",omitempty" json:",omitempty"`
	LookupVersion               Version   `xml:",omitempty" json:",omitempty"`
	LookupDate                  DateTime  `xml:",omitempty" json:",omitempty"`
	UpdateHelpVersion           Version   `xml:",omitempty" json:",omitempty"`
	UpdateHelpDate              DateTime  `xml:",omitempty" json:",omitempty"`
	ValidationExpressionVersion Version   `xml:",omitempty" json:",omitempty"`
	ValidationExpressionDate    DateTime  `xml:",omitempty" json:",omitempty"`
	ValidationLookupVersion     Version   `xml:",omitempty" json:",omitempty"`
	ValidationLookupDate        DateTime  `xml:",omitempty" json:",omitempty"`
	ValidationExternalVersion   Version   `xml:",omitempty" json:",omitempty"`
	ValidationExternalDate      DateTime  `xml:",omitempty" json:",omitempty"`

	// the resource children
	MClass                *MClass                `xml:"METADATA-CLASS,omitempty" json:"METADATA-CLASS,omitempty"`
	MObject               *MObject               `xml:"METADATA-OBJECT,omitempty" json:"METADATA-OBJECT,omitempty"`
	MLookup               *MLookup               `xml:"METADATA-LOOKUP,omitempty" json:"METADATA-LOOKUP,omitempty"`
	MSearchHelp           *MSearchHelp           `xml:"METADATA-SEARCH_HELP,omitempty" json:"METADATA-SEARCH_HELP,omitempty"`
	MEditMask             *MEditMask             `xml:"METADATA-EDITMASK,omitempty" json:"METADATA-EDIT_MASK,omitempty"`
	MUpdateHelp           *MUpdateHelp           `xml:"METADATA-UPDATE_HELP,omitempty" json:"METADATA-UPDATE,omitempty"`
	MValidationExternal   *MValidationExternal   `xml:"METADATA-VALIDATION_EXTERNAL,omitempty" json:"METADATA-VALIDATION_EXTERNAL,omitempty"`
	MValidationExpression *MValidationExpression `xml:"METADATA-VALIDATION_EXPRESSION,omitempty" json:"METADATA-VALIDATION_EXPRESSION,omitempty"`

	// deprecated
	MValidationLookup *MValidationLookup `xml:"METADATA-VALIDATION_LOOKUP,omitempty" json:"METADATA-VALIDATION_LOOKUP,omitempty"`
}

Resource ...

type ResourceClassName

type ResourceClassName string

ResourceClassName ...

func (ResourceClassName) Parse

func (rc ResourceClassName) Parse() (RETSID, RETSName)

Parse ...

type SearchHelp

type SearchHelp struct {
	MetadataEntryID RETSID   `xml:",omitempty" json:",omitempty"`
	SearchHelpID    RETSName `xml:",omitempty" json:",omitempty"`
	Value           Text     `xml:",omitempty" json:",omitempty"`
}

SearchHelp ...

type Standard

type Standard struct {
	MSystem MSystem `xml:"METADATA-SYSTEM,omitempty" json:"METADATA-SYSTEM,omitempty"`
}

Standard ...

type StringList

type StringList string

StringList ...

func (StringList) List

func (s StringList) List() []string

List ...

type System

type System struct {
	ID             string `xml:"SystemID,attr,omitempty" json:"SystemID,omitempty"`
	Description    string `xml:"SystemDescription,attr,omitempty" json:"SystemDescription,omitempty"`
	TimeZoneOffset string `xml:",attr,omitempty" json:",omitempty"`
	MetadataID     string `xml:",attr,omitempty" json:",omitempty"`

	Comments          string   `xml:"COMMENTS,omitempty" json:"COMMENTS,omitempty"`
	ResourceVersion   Version  `xml:",omitempty" json:",omitempty"`
	ResourceDate      DateTime `xml:",omitempty" json:",omitempty"`
	ForeignKeyVersion Version  `xml:",omitempty" json:",omitempty"`
	ForeignKeyDate    DateTime `xml:",omitempty" json:",omitempty"`
	FilterVersion     Version  `xml:",omitempty" json:",omitempty"`
	FilterDate        DateTime `xml:",omitempty" json:",omitempty"`

	MForeignKey *MForeignKey `xml:"METADATA-FOREIGN_KEY,omitempty" json:"METADATA-FOREIGN_KEY,omitempty"`
	MResource   *MResource   `xml:"METADATA-RESOURCE,omitempty" json:"METADATA-RESOURCE,omitempty"`
	MFilter     *MFilter     `xml:"METADATA-FILTER,omitempty" json:"METADATA-FILTER,omitempty"`
}

System ...

type Text

type Text string

Text ...

type Update

type Update struct {
	MetadataEntryID   RETSID    `xml:",omitempty" json:",omitempty"`
	UpdateAction      AlphaNum  `xml:",omitempty" json:",omitempty"` // some standardish names add,clone,change,delete,beginupdate
	Description       PlainText `xml:",omitempty" json:",omitempty"`
	KeyField          RETSName  `xml:",omitempty" json:",omitempty"`
	UpdateTypeVersion Version   `xml:",omitempty" json:",omitempty"`
	UpdateTypeDate    DateTime  `xml:",omitempty" json:",omitempty"`
	RequiresBegin     Boolean   `xml:",omitempty" json:",omitempty"`

	MUpdateType *MUpdateType `xml:"METADATA-UPDATE_TYPE,omitempty" json:"METADATA-UPDATE_TYPE,,omitempty"`
}

Update ...

type UpdateHelp

type UpdateHelp struct {
	MetadataEntryID RETSID   `xml:",omitempty" json:",omitempty"`
	UpdateHelpID    RETSName `xml:",omitempty" json:",omitempty"`
	Value           Text     `xml:",omitempty" json:",omitempty"`
}

UpdateHelp ...

type UpdateType

type UpdateType struct {
	MetadataEntryID        RETSID      `xml:",omitempty" json:",omitempty"`
	SystemName             RETSName    `xml:",omitempty" json:",omitempty"`
	Sequence               Numeric     `xml:",omitempty" json:",omitempty"`
	Attributes             NumericList `xml:",omitempty" json:",omitempty"` // TODO limit to 1-7
	Default                PlainText   `xml:",omitempty" json:",omitempty"`
	ValidationExpressionID RETSNames   `xml:",omitempty" json:",omitempty"`
	UpdateHelpID           RETSName    `xml:",omitempty" json:",omitempty"`
	ValidationLookupName   RETSName    `xml:",omitempty" json:",omitempty"` // deprecated
	ValidationExternalName RETSName    `xml:",omitempty" json:",omitempty"`
	MaxUpdate              Numeric     `xml:",omitempty" json:",omitempty"`
	SearchResultOrder      Numeric     `xml:",omitempty" json:",omitempty"`
	SearchQueryOrder       Numeric     `xml:",omitempty" json:",omitempty"`
}

UpdateType ...

type ValidationExpression

type ValidationExpression struct {
	MetadataEntryID          RETSID   `xml:",omitempty" json:",omitempty"`
	ValidationExpressionID   RETSName `xml:",omitempty" json:",omitempty"`
	ValidationExpressionType AlphaNum `xml:",omitempty" json:",omitempty"`
	Message                  Text     `xml:",omitempty" json:",omitempty"`
	IsCaseSensitive          Boolean  `xml:",omitempty" json:",omitempty"`
}

ValidationExpression ...

type ValidationExternal

type ValidationExternal struct {
	MetadataEntryID        RETSID   `xml:",omitempty" json:",omitempty"`
	ValidationExternalName RETSName `xml:",omitempty" json:",omitempty"`
	SearchResource         RETSName `xml:",omitempty" json:",omitempty"`
	SearchClass            RETSName `xml:",omitempty" json:",omitempty"`
	Date                   DateTime `xml:",attr,omitempty" json:",omitempty"`
	Version                Version  `xml:",attr,omitempty" json:",omitempty"`

	MValidationExternalType *MValidationExternalType `xml:"METADATA-VALIDATION_EXTERNAL_TYPE,omitempty" json:"METADATA-VALIDATION_EXTERNAL_TYPE,omitempty"`
}

ValidationExternal ...

type ValidationExternalType

type ValidationExternalType struct {
	MetadataEntryID RETSID     `xml:",omitempty" json:",omitempty"`
	SearchField     PlainText  `xml:",omitempty" json:",omitempty"`
	DisplayField    PlainText  `xml:",omitempty" json:",omitempty"`
	ResultFields    StringList `xml:",omitempty" json:",omitempty"` // TODO plaintext list
}

ValidationExternalType ...

type ValidationLookup

type ValidationLookup struct {
	MetadataEntryID      RETSID   `xml:",omitempty" json:",omitempty"`
	ValidationLookupName RETSName `xml:",omitempty" json:",omitempty"`
	Parent1Field         RETSName `xml:",omitempty" json:",omitempty"`
	Parent2Field         RETSName `xml:",omitempty" json:",omitempty"`
	Date                 DateTime `xml:",attr,omitempty" json:",omitempty"`
	Version              Version  `xml:",attr,omitempty" json:",omitempty"`

	MValidationLookupType *MValidationLookupType `xml:"METADATA-VALIDATION_LOOKUP_TYPE,omitempty" json:"METADATA-LOOKUP_TYPE,omitempty"`
}

ValidationLookup ...

type ValidationLookupType

type ValidationLookupType struct {
	MetadataEntryID RETSID   `xml:",omitempty" json:",omitempty"`
	ValidText       RETSName `xml:",omitempty" json:",omitempty"`
	Parent1Value    RETSName `xml:",omitempty" json:",omitempty"`
	Parent2Value    RETSName `xml:",omitempty" json:",omitempty"`
}

ValidationLookupType ...

type Version

type Version string

Version ...

func (Version) Major

func (v Version) Major() Numeric

Major ...

func (Version) Minor

func (v Version) Minor() Numeric

Minor ...

func (Version) Parse

func (v Version) Parse(index int) Numeric

Parse ...

func (Version) Release

func (v Version) Release() Numeric

Release ...

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL