@atomist/cortex
Version:
Atomist Cortex model TypeScript typings
139 lines (123 loc) • 3.8 kB
text/typescript
/*
* Copyright 2015-2017 Atomist Inc.
*
* 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.
*/
import * as emailApi from "../Email";
import { ChatId } from "./ChatId";
import { GitHubId } from "./GitHubId";
import { Person } from "./Person";
export { Email };
/**
* Type Email
* Generated class exposing Atomist Cortex.
* Fluent builder style class for use in testing and query by example.
*/
class Email implements emailApi.Email {
private _address: string;
private _chatId: ChatId;
private _gitHubId: GitHubId;
private _person: Person;
private _nodeName = "Email";
private _nodeTags = [ "Email", "-dynamic" ];
/**
* Implementation of GraphNode interface method.
* For infrastructure, not user use
*/
public nodeName(): string {
return this._nodeName;
}
/**
* Implementation of GraphNode interface method.
* For infrastructure, not user use
*/
public nodeTags(): string[] {
return this._nodeTags;
}
/**
* address
*
* @property {string} address
*/
get address(): string {
if (this._address === undefined) {
throw new Error(`Please use the relevant builder method to set property [address] on stub ` +
`[Email] before accessing it. It's probably called [withAddress]`);
}
return this._address;
}
/**
* Fluent builder method to set the address property
*/
public withAddress(address_: string) {
this._address = address_;
return this;
}
/**
* chatId - Email -> ChatId
*
* @property {ChatId} chatId
*/
get chatId(): ChatId {
if (this._chatId === undefined) {
throw new Error(`Please use the relevant builder method to set property [chatId] on stub ` +
`[Email] before accessing it. It's probably called [withChatId]`);
}
return this._chatId;
}
/**
* Fluent builder method to set the chatId property
*/
public withChatId(chatId_: ChatId) {
this._chatId = chatId_;
return this;
}
/**
* gitHubId - Email -> GitHubId
*
* @property {GitHubId} gitHubId
*/
get gitHubId(): GitHubId {
if (this._gitHubId === undefined) {
throw new Error(`Please use the relevant builder method to set property [gitHubId] on stub ` +
`[Email] before accessing it. It's probably called [withGitHubId]`);
}
return this._gitHubId;
}
/**
* Fluent builder method to set the gitHubId property
*/
public withGitHubId(gitHubId_: GitHubId) {
this._gitHubId = gitHubId_;
return this;
}
/**
* person - Email -> Person
*
* @property {Person} person
*/
get person(): Person {
if (this._person === undefined) {
throw new Error(`Please use the relevant builder method to set property [person] on stub ` +
`[Email] before accessing it. It's probably called [withPerson]`);
}
return this._person;
}
/**
* Fluent builder method to set the person property
*/
public withPerson(person_: Person) {
this._person = person_;
return this;
}
}