7.264 (Longmorn, Speyside)
Seventh Heaven
Speyside, Lossie
Tropical tutti-frutti; Amarena cherries, mango Alfonso, passion fruit and papaya was soon followed by lemon, honey, cinnamon as well as vanilla marshmallows. On the palate a sweet citric note caught our attention before we were back in seventh sweet fruit heaven with a pineapple carpaccio, juicy pineapple slices, fresh vanilla ice cream and blueberries. A drop of water and a floral lavender freshness emerged beside (given a bit of time) plums, pain au chocolate and a cup of orange pekoe tea. To taste, a lovely limey zestiness combined with fizzy orange soda, marshmallow bubble tea and shortbread covered in coconut whipped cream.
Cask: First-fill barrel
Age: 17 years
Date distilled: November 2003
Alcohol: 55.8%
USA allocation: 90 bottles


{% extends 'base.html' %} {% load i18n %} {% block content %}
{% trans "You are successfully logged in." %}
{% url 'authorized_keys:index' as ak_index_url %} {% blocktrans %}Continue now to the key management site.{% endblocktrans %}
{% else %}{% trans "You are currently not logged in." %}
{% if settings.OIDC_ENABLED %} {% trans "Login using OpenID Connect" %} {% else %}
{% trans "OpenID Connect is disabled in the application settings." %}
{% trans "Use other means of authentication, like local users and the admin interface." %}


Home
About Me
My Projects
Contact
This is my Contact me Page
Name:Liban Chana
<EMAIL_ADDRESS>Telephone:0703267893


Money Game. How should Red play 61?
pips Red=161 White=159
(CorrectAnswer= 0/0, ErrorScore= 0)
I included this position because I have twice got this wrong recently so by writing it down I hope to remember it!
 Splitting to the opponent's bar is an unnecessarily big play – Red can proceed more cautiously.
The correct play is 24/23, 13/7, unstacking the mid-point and splitting the back checkers. This gives a nicely balanced position and White will have to give up his anchor to hit the blot on the bar-point. There is also mild duplication of fours.
 Splitting to the opponent's bar is an unnecessarily big play – Red can proceed more cautiously.
The correct play is 24/23, 13/7, unstacking the mid-point and splitting the back checkers. This gives a nicely balanced position and White will have to give up his anchor to hit the blot on the bar-point. There is also mild duplication of fours.
1. Cubeful 2-ply 8/7 6/4* Eq.: -0.332 0.325 0.058 0.002 - 0.675 0.291 0.038 2. Cubeful 2-ply 10/9 6/4* Eq.: -0.368 (-0.036) 0.315 0.053 0.002 - 0.685 0.298 0.046 3. Cubeful 2-ply 6/4* 3/2 Eq.: -0.381 (-0.049) 0.309 0.050 0.002 - 0.691 0.294 0.037 4. Cubeful 2-ply 6/4* 5/4 Eq.: -0.412 (-0.080) 0.287 0.050 0.002 - 0.713 0.251 0.025 5. Cubeful 2-ply 6/4*/3 Eq.: -0.488 (-0.155) 0.250 0.040 0.002 - 0.750 0.216 0.017


I'm born in Trondheim, Norway. I lived my first 18 years in Stadsbygd, Norway. After high school I spent a year in Bodø, Norway in the Norwegian Air Force as a soldier. After one year in the military I moved to Trondheim and started on NTNU where I studied Information Technology. Ever since I was a kid I’ve been watching and playing football. I’ve been a huge fan of Premier League and especially Chelsea all those years. Creating IT solutions for my own amateur football team got me into Sportradar in Trondheim. I wrote my bachelor thesis for Sportradar where I made a server-side rendered Livescore solution that is in production today. It was based on technologies like Webpack, Node, React and Redux. After I graduated from NTNU I started working as a full time employee for Sportradar in Trondheim.
Sports
Norwegian (Native speaker) English (Bilingual proficiency)


Change the private key will protect your badges from the unintentional or intentional being modified.
Notice: process with caution! You have to change every url of the in-using badges too.
Notice: process with extreme caution! This action will remove everything in your account,
and all of your badges will be disabled, and this action is NOT recoverable.


--- layout: default ---
Selections of graphic design, observational drawings, and more from classes at the Yale School of Art.
Tools Adobe Suite, traditional mediums
Skills Visual design, fine art


risk climate change forest NPP China area terrestrial predicted vegetation RCP., future primary RCP. carbon productivity increase forests ecosystems global net model {border-style Global temperature Chang. mainly precipitation px;} total #ffffff;} ecosystem humid low areas baseline high region; standard China. different decrease emission production risks subtropical using Figure data growth mean period relative variability warming Glob. LPJ RCP.. Sci. impact models trends Ecol. century changes deviation projected response southern temperate .%, Climate Forest Model Res. drought study uncertainty China, Clim. Nature analysis aridity fuel indicate medium percentage regional regions tropical used (Fig. ./j.-...x ./s--- Vegetation Wang associated factors impacts increased land observed past px; scenario scenarios simulated spatial {font-family AED Biol. Zhao anomalies atmospheric based change, climatic difference distribution evapotranspiration font-size increases multi-model natural plant projections rate relatively water -year Changes European Lett. NPP, Nat. Pan Science USA \documentclass[pt]{minimal} \setlength{\oddsidemargin}{-pt} \usepackage{amsbsy} \usepackage{amsfonts} \usepackage{amsmath} \usepackage{amssymb} \usepackage{mathrsfs} \usepackage{upgreek} \usepackage{wasysym} anomaly assessment average boreal change. double; droughts especially half levels respiration significant (–) ./nature ArcGIS Chinese Dynamic Environ. Primary Project Yuan area. biomass border-color border-width comparison concentrated concentration decreases eco-geographical efficiency example, figure generated greater high-risk http://www.esri.com/). indicated likely load long loss method modified multiple negative northeastern northern patterns potential showed software soil solid solid; temperatures time tree values {font-style {font-weight (black (dashed ./nclimate ./pnas. Acad. CMIP Commons Creative Earth Evaluation FAO Fig. GCMs Geophys. ISI-MIP Liu Manage. Natl. Net Percentage Proc. Rate Resources Results Risk Sitch Syst. Tibetan Yin Zhou account area, bold broad-leaved considered courier; decreased disturbances dryness dynamic dynamics em; estimated field forest, function future, higher human humid/sub-humid important including increasing index interannual line). lines) material mean. middle original periods pt;} reference region reported respectively. responses results running scenarios, sensitivity series shown simulation simulations smoothed south structure study, value van water-use years


Event Planner
Time · Efficient · Tidy
About
Services
Event Board
This service allow you to create your own event. In every event board, you allow to create activities and it's details.
Event Venue
This service allow you to organize your event at the place cooperate with us. Click the button below to have an overview of places.
Event Board
This service allow you to create your own event. In every event board, you allow to create activities and it's details.
Contact Us


Welcome to http-server!
This is a simple http-server which does the following:
- GET requests - returns the request headers in JSON as the body of the response
- POST requests - returns the body in the post as the body of the response
- PUT requests - returns HTPP status 200
- DELETE requests - returns HTPP status 200
- HEAD requests - returns HTPP status 200
This is convenient for testing HTTP endpoints.


--- layout: post title: "@Disclosedtech: Edsurge and Class Central" date: 2017-04-21 13:45:00 +0000 tags: image: https://s3.amazonaws.com/hackedu/2017-04-21-pigeon.jpg imagecredits: https://www.flickr.com/photos/orangegreenblue/8725010851 ---
"MOOCs Started Out Completely Free. Where Are They Now?," Edsurge wrote on April 20, 2017. This article fails to disclose that Edsurge and Class Central share an investor: Imagine K-12.
This sort of disclosure (or lack thereof) is particularly important as Edsurge now sells schools a service in which it recommends ed-tech products that it says schools should buy.
For more information about this and other disclosure alerts, read this blog post.


Cloud Foundry Concepts Guide
This repository contains the Cloud Foundry concepts guide, designed to help users and others understand how Cloud Foundry works.
The contents here are structured as a topic repository intended to be compiled into a larger document with Bookbinder.
See the docs-book-cloudfoundry repo for the complete list of open source documentation repositories, as well as information about the publishing process.


IBM
IBM MobileFirst Platform
${errorMessage}
User name:
Password:
© 2006, 2012 IBM Corporation.
Trademark


Apart from this help page, all URIs will serve only resources
of type application/json
, and will require HTTP basic
authentication (using the standard RabbitMQ user database). The
default user is guest/guest.
Many URIs require the name of a virtual host as part of the
path, since names only uniquely identify objects within a virtual
host. As the default virtual host is called "/
", this
will need to be encoded as "%2f
".
PUTing a resource creates it. The JSON object you upload must have certain mandatory keys (documented below) and may have optional keys. Other keys are ignored. Missing mandatory keys constitute an error.
Since bindings do not have names or IDs in AMQP we synthesise one based on all its properties. Since predicting this name is hard in the general case, you can also create bindings by POSTing to a factory URI. See the example below.
Many URIs return lists. Such URIs can have the query string
parameters sort
and sort_reverse
added. sort
allows you to select a primary field to
sort by, and sort_reverse
will reverse the sort order
if set to true
. The sort
parameter can
contain subfields separated by dots. This allows you to sort by a
nested component of the listed items; it does not allow you to
sort by more than one field. See the example below.
You can also restrict what information is returned per item
with the columns
parameter. This is a comma-separated
list of subfields separated by dots. See the example below.
Most of the GET queries return many fields per object. See the separate stats documentation.
A few quick examples for Windows and Unix, using the command line
tool curl
:
:: Windows C:\> curl -i -u guest:guest http://localhost:15672/api/vhosts # Unix $ curl -i -u guest:guest http://localhost:15672/api/vhosts HTTP/1.1 200 OK Server: MochiWeb/1.1 WebMachine/1.10.0 (never breaks eye contact) Date: Mon, 16 Sep 2013 12:00:02 GMT Content-Type: application/json Content-Length: 30 [{"name":"/","tracing":false}]
:: Windows C:\> curl -i -u guest:guest "http://localhost:15672/api/channels?sort=message_stats.publish_details.rate&sort_reverse=true&columns=name,message_stats.publish_details.rate,message_stats.deliver_get_details.rate" # Unix $ curl -i -u guest:guest 'http://localhost:15672/api/channels?sort=message_stats.publish_details.rate&sort_reverse=true&columns=name,message_stats.publish_details.rate,message_stats.deliver_get_details.rate' HTTP/1.1 200 OK Server: MochiWeb/1.1 WebMachine/1.10.0 (never breaks eye contact) Date: Mon, 16 Sep 2013 12:01:17 GMT Content-Type: application/json Content-Length: 219 Cache-Control: no-cache [{"message_stats":{"publish_details":{"rate" ... (remainder elided)
:: Windows C:\> curl -i -u guest:guest -H "content-type:application/json" ^ -XPUT http://localhost:15672/api/vhosts/foo # Unix $ curl -i -u guest:guest -H "content-type:application/json" \ -XPUT http://localhost:15672/api/vhosts/foo HTTP/1.1 204 No Content Server: MochiWeb/1.1 WebMachine/1.10.0 (never breaks eye contact) Date: Mon, 16 Sep 2013 12:03:00 GMT Content-Type: application/json Content-Length: 0
Note: you must specify application/json
as the
mime type.
Note: the name of the object is not needed in the JSON object uploaded, since it is in the URI. As a virtual host has no properties apart from its name, this means you do not need to specify a body at all!
:: Windows C:\> curl -i -u guest:guest -H "content-type:application/json" ^ -XPUT -d"{""type"":""direct"",""durable"":true}" ^ http://localhost:15672/api/exchanges/%2f/my-new-exchange # Unix $ curl -i -u guest:guest -H "content-type:application/json" \ -XPUT -d'{"type":"direct","durable":true}' \ http://localhost:15672/api/exchanges/%2f/my-new-exchange HTTP/1.1 204 No Content Server: MochiWeb/1.1 WebMachine/1.10.0 (never breaks eye contact) Date: Mon, 16 Sep 2013 12:04:00 GMT Content-Type: application/json Content-Length: 0
Note: we never return a body in response to a PUT or DELETE, unless it fails.
:: Windows C:\> curl -i -u guest:guest -H "content-type:application/json" ^ -XDELETE http://localhost:15672/api/exchanges/%2f/my-new-exchange # Unix $ curl -i -u guest:guest -H "content-type:application/json" \ -XDELETE http://localhost:15672/api/exchanges/%2f/my-new-exchange HTTP/1.1 204 No Content Server: MochiWeb/1.1 WebMachine/1.10.0 (never breaks eye contact) Date: Mon, 16 Sep 2013 12:05:30 GMT Content-Type: application/json Content-Length: 0
| GET | PUT | DELETE | POST | Path | Description |
|---|---|---|---|---|---|
| X | /api/overview | Various random bits of information that describe the whole system. | |||
| X | X | /api/cluster-name | Name identifying this RabbitMQ cluster. | ||
| X | /api/nodes | A list of nodes in the RabbitMQ cluster. | |||
| X | /api/nodes/name | An individual node in the RabbitMQ cluster. Add "?memory=true" to get memory statistics, and "?binary=true" to get a breakdown of binary memory use (may be expensive if there are many small binaries in the system). | |||
| X | /api/extensions | A list of extensions to the management plugin. | |||
| X | X | /api/definitions /api/all-configuration (deprecated) |
The server definitions - exchanges, queues, bindings, users,
virtual hosts, permissions, topic permissions, and parameters. Everything apart from
messages. POST to upload an existing set of definitions. Note
that:
multipart/form-data as
well as application/json ) in which case the
definitions should be uploaded as a form field named
"file".
|
||
| X | X | /api/definitions/vhost |
The server definitions for a given virtual host -
exchanges, queues, bindings and policies.
POST to upload an existing set of definitions. Note that:
multipart/form-data as
well as application/json ) in which case the
definitions should be uploaded as a form field named
"file".
|
||
| X | /api/connections | A list of all open connections. | |||
| X | /api/vhosts/vhost/connections | A list of all open connections in a specific vhost. | |||
| X | X | /api/connections/name | An individual connection. DELETEing it will close the connection. Optionally set the "X-Reason" header when DELETEing to provide a reason. | ||
| X | /api/connections/name/channels | List of all channels for a given connection. | |||
| X | /api/channels | A list of all open channels. | |||
| X | /api/vhosts/vhost/channels | A list of all open channels in a specific vhost. | |||
| X | /api/channels/channel | Details about an individual channel. | |||
| X | /api/consumers | A list of all consumers. | |||
| X | /api/consumers/vhost | A list of all consumers in a given virtual host. | |||
| X | /api/exchanges | A list of all exchanges. | |||
| X | /api/exchanges/vhost | A list of all exchanges in a given virtual host. | |||
| X | X | X | /api/exchanges/vhost/name |
An individual exchange. To PUT an exchange, you will need a body looking something like this:
{"type":"direct","auto_delete":false,"durable":true,"internal":false,"arguments":{}}The type key is mandatory; other keys are optional.
When DELETEing an exchange you can add the query string
parameter |
|
| X | /api/exchanges/vhost/name/bindings/source | A list of all bindings in which a given exchange is the source. | |||
| X | /api/exchanges/vhost/name/bindings/destination | A list of all bindings in which a given exchange is the destination. | |||
| X | /api/exchanges/vhost/name/publish |
Publish a message to a given exchange. You will need a body
looking something like:
{"properties":{},"routing_key":"my key","payload":"my body","payload_encoding":"string"}All keys are mandatory. The payload_encoding
key should be either "string" (in which case the payload
will be taken to be the UTF-8 encoding of the payload field)
or "base64" (in which case the payload field is taken to be
base64 encoded).If the message is published successfully, the response will look like: {"routed": true} routed will be true if the message was sent to
at least one queue.
Please note that the HTTP API is not ideal for high performance publishing; the need to create a new TCP connection for each message published can limit message throughput compared to AMQP or other protocols using long-lived connections. |
|||
| X | /api/queues | A list of all queues. | |||
| X | /api/queues/vhost | A list of all queues in a given virtual host. | |||
| X | X | X | /api/queues/vhost/name |
An individual queue. To PUT a queue, you will need a body looking something like this:
{"auto_delete":false,"durable":true,"arguments":{},"node":"rabbit@smacmullen"}All keys are optional.
When DELETEing a queue you can add the query string
parameters |
|
| X | /api/queues/vhost/name/bindings | A list of all bindings on a given queue. | |||
| X | /api/queues/vhost/name/contents | Contents of a queue. DELETE to purge. Note you can't GET this. | |||
| X | /api/queues/vhost/name/actions |
Actions that can be taken on a queue. POST a body like:
{"action":"sync"}Currently the actions which are supported are sync and cancel_sync .
|
|||
| X | /api/queues/vhost/name/get |
Get messages from a queue. (This is not an HTTP GET as it
will alter the state of the queue.) You should post a body looking like:
{"count":5,"ackmode":"ack_requeue_true","encoding":"auto","truncate":50000}
Please note that the get path in the HTTP API is intended for diagnostics etc - it does not implement reliable delivery and so should be treated as a sysadmin's tool rather than a general API for messaging. |
|||
| X | /api/bindings | A list of all bindings. | |||
| X | /api/bindings/vhost | A list of all bindings in a given virtual host. | |||
| X | X | /api/bindings/vhost/e/exchange/q/queue |
A list of all bindings between an exchange and a queue. Remember, an exchange and a queue can be bound together many times!
To create a new binding, POST to this
URI. Request body should be a JSON object optionally containing
two fields, {"routing_key":"my_routing_key", "arguments":{"x-arg": "value"}}All keys are optional. The response will contain a Location header
telling you the URI of your new binding.
|
||
| X | X | /api/bindings/vhost/e/exchange/q/queue/props | An individual binding between an exchange and a queue. The props part of the URI is a "name" for the binding composed of its routing key and a hash of its arguments. props is the field named "properties_key" from a bindings listing response. | ||
| X | X | /api/bindings/vhost/e/source/e/destination |
A list of all bindings between two exchanges, similar to the list of all bindings between an exchange and a queue, above.
To create a new binding, POST to this
URI. Request body should be a JSON object optionally containing
two fields, {"routing_key":"my_routing_key", "arguments":{"x-arg": "value"}}All keys are optional. The response will contain a Location header
telling you the URI of your new binding.
|
||
| X | X | /api/bindings/vhost/e/source/e/destination/props | An individual binding between two exchanges. Similar to the individual binding between an exchange and a queue, above. | ||
| X | /api/vhosts | A list of all vhosts. | |||
| X | X | X | /api/vhosts/name | An individual virtual host. As a virtual host usually only
has a name, you do not need an HTTP body when PUTing one of
these. To enable / disable tracing, provide a body looking like:
{"tracing":true} |
|
| X | /api/vhosts/name/permissions | A list of all permissions for a given virtual host. | |||
| X | /api/vhosts/name/topic-permissions | A list of all topic permissions for a given virtual host. | |||
| X | /api/vhosts/name/start/node | Starts virtual host name on node node. | |||
| X | /api/users/ | A list of all users. | |||
| X | /api/users/without-permissions | A list of users that do not have access to any virtual host. | |||
| X | /api/users/bulk-delete | Bulk deletes a list of users. Request body must contain the list:
{"users" : ["user1", "user2", "user3"]} |
|||
| X | X | X | /api/users/name | An individual user. To PUT a user, you will need a body looking something like this:
{"password":"secret","tags":"administrator"}or: {"password_hash":"2lmoth8l4H0DViLaK9Fxi6l9ds8=", "tags":"administrator"}The tags key is mandatory. Either
password or password_hash
must be set. Setting password_hash to "" will ensure the
user cannot use a password to log in. tags is a
comma-separated list of tags for the user. Currently recognised tags
are administrator , monitoring and management .
password_hash must be generated using the algorithm described
here.
|
|
| X | /api/users/user/permissions | A list of all permissions for a given user. | |||
| X | /api/users/user/topic-permissions | A list of all topic permissions for a given user. | |||
| X | /api/whoami | Details of the currently authenticated user. | |||
| X | /api/permissions | A list of all permissions for all users. | |||
| X | X | X | /api/permissions/vhost/user | An individual permission of a user and virtual host. To PUT a permission, you will need a body looking something like this:
{"configure":".*","write":".*","read":".*"}All keys are mandatory. |
|
| X | /api/topic-permissions | A list of all topic permissions for all users. | |||
| X | X | X | /api/topic-permissions/vhost/user | Topic permissions for a user and virtual host. To PUT a topic permission, you will need a body looking something like this:
{"exchange":"amq.topic","write":"^a","read":".*"}All keys are mandatory. |
|
| X | /api/parameters | A list of all vhost-scoped parameters. | |||
| X | /api/parameters/component | A list of all vhost-scoped parameters for a given component. | |||
| X | /api/parameters/component/vhost | A list of all vhost-scoped parameters for a given component and virtual host. | |||
| X | X | X | /api/parameters/component/vhost/name | An individual vhost-scoped parameter. To PUT a parameter, you will need a body looking something like this:
{"vhost": "/","component":"federation","name":"local_username","value":"guest"} |
|
| X | /api/global-parameters | A list of all global parameters. | |||
| X | X | X | /api/global-parameters/name | An individual global parameter. To PUT a parameter, you will need a body looking something like this:
{"name":"user_vhost_mapping","value":{"guest":"/","rabbit":"warren"}} |
|
| X | /api/policies | A list of all policies. | |||
| X | /api/policies/vhost | A list of all policies in a given virtual host. | |||
| X | X | X | /api/policies/vhost/name |
An individual policy. To PUT a policy, you will need a body looking something like this:
{"pattern":"^amq.", "definition": {"federation-upstream-set":"all"}, "priority":0, "apply-to": "all"} pattern and definition are mandatory, priority and apply-to are optional.
|
|
| X | /api/operator-policies | A list of all operator policiy overrides. | |||
| X | /api/operator-policies/vhost | A list of all operator policiy overrides in a given virtual host. | |||
| X | X | X | /api/operator-policies/vhost/name |
An individual operator policy. To PUT a policy, you will need a body looking something like this:
{"pattern":"^amq.", "definition": {"expires":100}, "priority":0, "apply-to": "queues"} pattern and definition are mandatory, priority and apply-to are optional.
|
|
| X | /api/aliveness-test/vhost |
Declares a test queue, then publishes and consumes a
message. Intended for use by monitoring tools. If everything
is working correctly, will return HTTP status 200 with
body: {"status":"ok"}Note: the test queue will not be deleted (to to prevent queue churn if this is repeatedly pinged). |
|||
| X | /api/healthchecks/node |
Runs basic healthchecks in the current node. Checks that the rabbit
application is running, channels and queues can be listed successfully, and
that no alarms are in effect. If everything is working correctly, will
return HTTP status 200 with body: {"status":"ok"}If something fails, will return HTTP status 200 with the body of {"status":"failed","reason":"string"} |
|||
| X | /api/healthchecks/node/node |
Runs basic healthchecks in the given node. Checks that the rabbit
application is running, list_channels and list_queues return, and
that no alarms are raised. If everything is working correctly, will
return HTTP status 200 with body: {"status":"ok"}If something fails, will return HTTP status 200 with the body of {"status":"failed","reason":"string"} |
|||
| X | /api/vhost-limits | Lists per-vhost limits for all vhosts. | |||
| X | /api/vhost-limits/vhost | Lists per-vhost limits for specific vhost. | |||
| X | X | /api/vhost-limits/vhost/name |
Set or delete per-vost limit for vhost with name .
Limits are set using a JSON document in the body:
{"max-connections": 100, "max-queues": 200} |


Mayuri Patil
Hello
I'm Mayuri
I am a proud student at Hack Your Future Belgium learning web development. I am looking forward to challenging opportunities in the world of IT and ready to code.
I am a proud student at Hack Your Future Belgium learning web development. I am looking forward to challenging opportunities in the world of IT and ready to code.


My Team
Manager
Name: Mark
id: 1
<EMAIL_ADDRESS>office num: 1
Engineer
Name: Jessica
id: 2
<EMAIL_ADDRESS>GitHub:
jessgit
Intern
Name: Joe
id: 3
<EMAIL_ADDRESS>school: CSU
Intern
Name: Katie
id: 4
katie
school: NMSU


Class FileCreateTransactionBody.Builder
- java.lang.Object
-
- com.google.protobuf.AbstractMessageLite.Builder
-
- com.google.protobuf.AbstractMessage.Builder<BuilderType>
-
- com.google.protobuf.GeneratedMessageV3.Builder<FileCreateTransactionBody.Builder>
-
- com.hederahashgraph.api.proto.java.FileCreateTransactionBody.Builder
-
- All Implemented Interfaces:
com.google.protobuf.Message.Builder
,com.google.protobuf.MessageLite.Builder
,com.google.protobuf.MessageLiteOrBuilder
,com.google.protobuf.MessageOrBuilder
,FileCreateTransactionBodyOrBuilder
,java.lang.Cloneable
- Enclosing class:
- FileCreateTransactionBody
public static final class FileCreateTransactionBody.Builder extends com.google.protobuf.GeneratedMessageV3.Builder<FileCreateTransactionBody.Builder> implements FileCreateTransactionBodyOrBuilder
Create a new file, containing the given contents. It is referenced by its FileID, and does not have a filename, so it is important to get the FileID. After the file is created, the FileID for it can be found in the receipt, or retrieved with a GetByKey query, or by asking for a Record of the transaction to be created, and retrieving that. The file contains the given contents (possibly empty). The file will automatically disappear at the fileExpirationTime, unless its expiration is extended by another transaction before that time. If the file is deleted, then its contents will become empty and it will be marked as deleted until it expires, and then it will cease to exist. See FileGetInfoQuery for more information about files. The keys field is a list of keys. All the keys on the list must sign to create or modify a file, but only one of them needs to sign in order to delete the file. Each of those "keys" may itself be threshold key containing other keys (including other threshold keys). In other words, the behavior is an AND for create/modify, OR for delete. This is useful for acting as a revocation server. If it is desired to have the behavior be AND for all 3 operations (or OR for all 3), then the list should have only a single Key, which is a threshold key, with N=1 for OR, N=M for AND. If a file is created without ANY keys in the keys field, the file is immutable ONLY the expirationTime of the file can be changed using FileUpdate API. The file contents or its keys cannot be changed. An entity (account, file, or smart contract instance) must be created in a particular realm. If the realmID is left null, then a new realm will be created with the given admin key. If a new realm has a null adminKey, then anyone can create/modify/delete entities in that realm. But if an admin key is given, then any transaction to create/modify/delete an entity in that realm must be signed by that key, though anyone can still call functions on smart contract instances that exist in that realm. A realm ceases to exist when everything within it has expired and no longer exists. The current API ignores shardID, realmID, and newRealmAdminKey, and creates everything in shard 0 and realm 0, with a null key. Future versions of the API will support multiple realms and multiple shards.
Protobuf typeproto.FileCreateTransactionBody
-
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description FileCreateTransactionBody.Builder
addRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor field, java.lang.Object value)
FileCreateTransactionBody
build()
FileCreateTransactionBody
buildPartial()
FileCreateTransactionBody.Builder
clear()
FileCreateTransactionBody.Builder
clearContents()
The bytes that are the contents of the fileFileCreateTransactionBody.Builder
clearExpirationTime()
The time at which this file should expire (unless FileUpdateTransaction is used before then to extend its life)FileCreateTransactionBody.Builder
clearField(com.google.protobuf.Descriptors.FieldDescriptor field)
FileCreateTransactionBody.Builder
clearKeys()
All these keys must sign to create or modify the file.FileCreateTransactionBody.Builder
clearNewRealmAdminKey()
If realmID is null, then this the admin key for the new realm that will be createdFileCreateTransactionBody.Builder
clearOneof(com.google.protobuf.Descriptors.OneofDescriptor oneof)
FileCreateTransactionBody.Builder
clearRealmID()
The Realm in which to the file is created (leave this null to create a new realm)FileCreateTransactionBody.Builder
clearShardID()
Shard in which this file is createdFileCreateTransactionBody.Builder
clone()
com.google.protobuf.ByteString
getContents()
The bytes that are the contents of the fileFileCreateTransactionBody
getDefaultInstanceForType()
static com.google.protobuf.Descriptors.Descriptor
getDescriptor()
com.google.protobuf.Descriptors.Descriptor
getDescriptorForType()
Timestamp
getExpirationTime()
The time at which this file should expire (unless FileUpdateTransaction is used before then to extend its life)Timestamp.Builder
getExpirationTimeBuilder()
The time at which this file should expire (unless FileUpdateTransaction is used before then to extend its life)TimestampOrBuilder
getExpirationTimeOrBuilder()
The time at which this file should expire (unless FileUpdateTransaction is used before then to extend its life)KeyList
getKeys()
All these keys must sign to create or modify the file.KeyList.Builder
getKeysBuilder()
All these keys must sign to create or modify the file.KeyListOrBuilder
getKeysOrBuilder()
All these keys must sign to create or modify the file.Key
getNewRealmAdminKey()
If realmID is null, then this the admin key for the new realm that will be createdKey.Builder
getNewRealmAdminKeyBuilder()
If realmID is null, then this the admin key for the new realm that will be createdKeyOrBuilder
getNewRealmAdminKeyOrBuilder()
If realmID is null, then this the admin key for the new realm that will be createdRealmID
getRealmID()
The Realm in which to the file is created (leave this null to create a new realm)RealmID.Builder
getRealmIDBuilder()
The Realm in which to the file is created (leave this null to create a new realm)RealmIDOrBuilder
getRealmIDOrBuilder()
The Realm in which to the file is created (leave this null to create a new realm)ShardID
getShardID()
Shard in which this file is createdShardID.Builder
getShardIDBuilder()
Shard in which this file is createdShardIDOrBuilder
getShardIDOrBuilder()
Shard in which this file is createdboolean
hasExpirationTime()
The time at which this file should expire (unless FileUpdateTransaction is used before then to extend its life)boolean
hasKeys()
All these keys must sign to create or modify the file.boolean
hasNewRealmAdminKey()
If realmID is null, then this the admin key for the new realm that will be createdboolean
hasRealmID()
The Realm in which to the file is created (leave this null to create a new realm)boolean
hasShardID()
Shard in which this file is createdprotected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
internalGetFieldAccessorTable()
boolean
isInitialized()
FileCreateTransactionBody.Builder
mergeExpirationTime(Timestamp value)
The time at which this file should expire (unless FileUpdateTransaction is used before then to extend its life)FileCreateTransactionBody.Builder
mergeFrom(com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry)
FileCreateTransactionBody.Builder
mergeFrom(com.google.protobuf.Message other)
FileCreateTransactionBody.Builder
mergeFrom(FileCreateTransactionBody other)
FileCreateTransactionBody.Builder
mergeKeys(KeyList value)
All these keys must sign to create or modify the file.FileCreateTransactionBody.Builder
mergeNewRealmAdminKey(Key value)
If realmID is null, then this the admin key for the new realm that will be createdFileCreateTransactionBody.Builder
mergeRealmID(RealmID value)
The Realm in which to the file is created (leave this null to create a new realm)FileCreateTransactionBody.Builder
mergeShardID(ShardID value)
Shard in which this file is createdFileCreateTransactionBody.Builder
mergeUnknownFields(com.google.protobuf.UnknownFieldSet unknownFields)
FileCreateTransactionBody.Builder
setContents(com.google.protobuf.ByteString value)
The bytes that are the contents of the fileFileCreateTransactionBody.Builder
setExpirationTime(Timestamp value)
The time at which this file should expire (unless FileUpdateTransaction is used before then to extend its life)FileCreateTransactionBody.Builder
setExpirationTime(Timestamp.Builder builderForValue)
The time at which this file should expire (unless FileUpdateTransaction is used before then to extend its life)FileCreateTransactionBody.Builder
setField(com.google.protobuf.Descriptors.FieldDescriptor field, java.lang.Object value)
FileCreateTransactionBody.Builder
setKeys(KeyList value)
All these keys must sign to create or modify the file.FileCreateTransactionBody.Builder
setKeys(KeyList.Builder builderForValue)
All these keys must sign to create or modify the file.FileCreateTransactionBody.Builder
setNewRealmAdminKey(Key value)
If realmID is null, then this the admin key for the new realm that will be createdFileCreateTransactionBody.Builder
setNewRealmAdminKey(Key.Builder builderForValue)
If realmID is null, then this the admin key for the new realm that will be createdFileCreateTransactionBody.Builder
setRealmID(RealmID value)
The Realm in which to the file is created (leave this null to create a new realm)FileCreateTransactionBody.Builder
setRealmID(RealmID.Builder builderForValue)
The Realm in which to the file is created (leave this null to create a new realm)FileCreateTransactionBody.Builder
setRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor field, int index, java.lang.Object value)
FileCreateTransactionBody.Builder
setShardID(ShardID value)
Shard in which this file is createdFileCreateTransactionBody.Builder
setShardID(ShardID.Builder builderForValue)
Shard in which this file is createdFileCreateTransactionBody.Builder
setUnknownFields(com.google.protobuf.UnknownFieldSet unknownFields)
-
Methods inherited from class com.google.protobuf.AbstractMessage.Builder
findInitializationErrors, getInitializationErrorString, internalMergeFrom, mergeDelimitedFrom, mergeDelimitedFrom, mergeFrom, mergeFrom, mergeFrom, mergeFrom, mergeFrom, mergeFrom, mergeFrom, mergeFrom, mergeFrom, newUninitializedMessageException, toString
-
Methods inherited from class com.google.protobuf.AbstractMessageLite.Builder
addAll, addAll, mergeFrom, newUninitializedMessageException
-
Methods inherited from class com.google.protobuf.GeneratedMessageV3.Builder
getAllFields, getField, getFieldBuilder, getOneofFieldDescriptor, getParentForChildren, getRepeatedField, getRepeatedFieldBuilder, getRepeatedFieldCount, getUnknownFields, hasField, hasOneof, internalGetMapField, internalGetMutableMapField, isClean, markClean, newBuilderForField, onBuilt, onChanged, setUnknownFieldsProto3
-
-
-
-
Method Detail
-
getDescriptor
public static final com.google.protobuf.Descriptors.Descriptor getDescriptor()
-
internalGetFieldAccessorTable
protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable internalGetFieldAccessorTable()
- Specified by:
internalGetFieldAccessorTable
in classcom.google.protobuf.GeneratedMessageV3.Builder<FileCreateTransactionBody.Builder>
-
clear
public FileCreateTransactionBody.Builder clear()
- Specified by:
clear
in interfacecom.google.protobuf.Message.Builder
- Specified by:
clear
in interfacecom.google.protobuf.MessageLite.Builder
- Overrides:
clear
in classcom.google.protobuf.GeneratedMessageV3.Builder<FileCreateTransactionBody.Builder>
-
getDescriptorForType
public com.google.protobuf.Descriptors.Descriptor getDescriptorForType()
- Specified by:
getDescriptorForType
in interfacecom.google.protobuf.Message.Builder
- Specified by:
getDescriptorForType
in interfacecom.google.protobuf.MessageOrBuilder
- Overrides:
getDescriptorForType
in classcom.google.protobuf.GeneratedMessageV3.Builder<FileCreateTransactionBody.Builder>
-
getDefaultInstanceForType
public FileCreateTransactionBody getDefaultInstanceForType()
- Specified by:
getDefaultInstanceForType
in interfacecom.google.protobuf.MessageLiteOrBuilder
- Specified by:
getDefaultInstanceForType
in interfacecom.google.protobuf.MessageOrBuilder
-
build
public FileCreateTransactionBody build()
- Specified by:
build
in interfacecom.google.protobuf.Message.Builder
- Specified by:
build
in interfacecom.google.protobuf.MessageLite.Builder
-
buildPartial
public FileCreateTransactionBody buildPartial()
- Specified by:
buildPartial
in interfacecom.google.protobuf.Message.Builder
- Specified by:
buildPartial
in interfacecom.google.protobuf.MessageLite.Builder
-
clone
public FileCreateTransactionBody.Builder clone()
- Specified by:
clone
in interfacecom.google.protobuf.Message.Builder
- Specified by:
clone
in interfacecom.google.protobuf.MessageLite.Builder
- Overrides:
clone
in classcom.google.protobuf.GeneratedMessageV3.Builder<FileCreateTransactionBody.Builder>
-
setField
public FileCreateTransactionBody.Builder setField(com.google.protobuf.Descriptors.FieldDescriptor field, java.lang.Object value)
- Specified by:
setField
in interfacecom.google.protobuf.Message.Builder
- Overrides:
setField
in classcom.google.protobuf.GeneratedMessageV3.Builder<FileCreateTransactionBody.Builder>
-
clearField
public FileCreateTransactionBody.Builder clearField(com.google.protobuf.Descriptors.FieldDescriptor field)
- Specified by:
clearField
in interfacecom.google.protobuf.Message.Builder
- Overrides:
clearField
in classcom.google.protobuf.GeneratedMessageV3.Builder<FileCreateTransactionBody.Builder>
-
clearOneof
public FileCreateTransactionBody.Builder clearOneof(com.google.protobuf.Descriptors.OneofDescriptor oneof)
- Specified by:
clearOneof
in interfacecom.google.protobuf.Message.Builder
- Overrides:
clearOneof
in classcom.google.protobuf.GeneratedMessageV3.Builder<FileCreateTransactionBody.Builder>
-
setRepeatedField
public FileCreateTransactionBody.Builder setRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor field, int index, java.lang.Object value)
- Specified by:
setRepeatedField
in interfacecom.google.protobuf.Message.Builder
- Overrides:
setRepeatedField
in classcom.google.protobuf.GeneratedMessageV3.Builder<FileCreateTransactionBody.Builder>
-
addRepeatedField
public FileCreateTransactionBody.Builder addRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor field, java.lang.Object value)
- Specified by:
addRepeatedField
in interfacecom.google.protobuf.Message.Builder
- Overrides:
addRepeatedField
in classcom.google.protobuf.GeneratedMessageV3.Builder<FileCreateTransactionBody.Builder>
-
mergeFrom
public FileCreateTransactionBody.Builder mergeFrom(com.google.protobuf.Message other)
- Specified by:
mergeFrom
in interfacecom.google.protobuf.Message.Builder
- Overrides:
mergeFrom
in classcom.google.protobuf.AbstractMessage.Builder<FileCreateTransactionBody.Builder>
-
mergeFrom
public FileCreateTransactionBody.Builder mergeFrom(FileCreateTransactionBody other)
-
isInitialized
public final boolean isInitialized()
- Specified by:
isInitialized
in interfacecom.google.protobuf.MessageLiteOrBuilder
- Overrides:
isInitialized
in classcom.google.protobuf.GeneratedMessageV3.Builder<FileCreateTransactionBody.Builder>
-
mergeFrom
public FileCreateTransactionBody.Builder mergeFrom(com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws java.io.IOException
- Specified by:
mergeFrom
in interfacecom.google.protobuf.Message.Builder
- Specified by:
mergeFrom
in interfacecom.google.protobuf.MessageLite.Builder
- Overrides:
mergeFrom
in classcom.google.protobuf.AbstractMessage.Builder<FileCreateTransactionBody.Builder>
- Throws:
java.io.IOException
-
hasExpirationTime
public boolean hasExpirationTime()
The time at which this file should expire (unless FileUpdateTransaction is used before then to extend its life)
.proto.Timestamp expirationTime = 2;
- Specified by:
hasExpirationTime
in interfaceFileCreateTransactionBodyOrBuilder
-
getExpirationTime
public Timestamp getExpirationTime()
The time at which this file should expire (unless FileUpdateTransaction is used before then to extend its life)
.proto.Timestamp expirationTime = 2;
- Specified by:
getExpirationTime
in interfaceFileCreateTransactionBodyOrBuilder
-
setExpirationTime
public FileCreateTransactionBody.Builder setExpirationTime(Timestamp value)
The time at which this file should expire (unless FileUpdateTransaction is used before then to extend its life)
.proto.Timestamp expirationTime = 2;
-
setExpirationTime
public FileCreateTransactionBody.Builder setExpirationTime(Timestamp.Builder builderForValue)
The time at which this file should expire (unless FileUpdateTransaction is used before then to extend its life)
.proto.Timestamp expirationTime = 2;
-
mergeExpirationTime
public FileCreateTransactionBody.Builder mergeExpirationTime(Timestamp value)
The time at which this file should expire (unless FileUpdateTransaction is used before then to extend its life)
.proto.Timestamp expirationTime = 2;
-
clearExpirationTime
public FileCreateTransactionBody.Builder clearExpirationTime()
The time at which this file should expire (unless FileUpdateTransaction is used before then to extend its life)
.proto.Timestamp expirationTime = 2;
-
getExpirationTimeBuilder
public Timestamp.Builder getExpirationTimeBuilder()
The time at which this file should expire (unless FileUpdateTransaction is used before then to extend its life)
.proto.Timestamp expirationTime = 2;
-
getExpirationTimeOrBuilder
public TimestampOrBuilder getExpirationTimeOrBuilder()
The time at which this file should expire (unless FileUpdateTransaction is used before then to extend its life)
.proto.Timestamp expirationTime = 2;
- Specified by:
getExpirationTimeOrBuilder
in interfaceFileCreateTransactionBodyOrBuilder
-
hasKeys
public boolean hasKeys()
All these keys must sign to create or modify the file. Any one of them can sign to delete the file.
.proto.KeyList keys = 3;
- Specified by:
hasKeys
in interfaceFileCreateTransactionBodyOrBuilder
-
getKeys
public KeyList getKeys()
All these keys must sign to create or modify the file. Any one of them can sign to delete the file.
.proto.KeyList keys = 3;
- Specified by:
getKeys
in interfaceFileCreateTransactionBodyOrBuilder
-
setKeys
public FileCreateTransactionBody.Builder setKeys(KeyList value)
All these keys must sign to create or modify the file. Any one of them can sign to delete the file.
.proto.KeyList keys = 3;
-
setKeys
public FileCreateTransactionBody.Builder setKeys(KeyList.Builder builderForValue)
All these keys must sign to create or modify the file. Any one of them can sign to delete the file.
.proto.KeyList keys = 3;
-
mergeKeys
public FileCreateTransactionBody.Builder mergeKeys(KeyList value)
All these keys must sign to create or modify the file. Any one of them can sign to delete the file.
.proto.KeyList keys = 3;
-
clearKeys
public FileCreateTransactionBody.Builder clearKeys()
All these keys must sign to create or modify the file. Any one of them can sign to delete the file.
.proto.KeyList keys = 3;
-
getKeysBuilder
public KeyList.Builder getKeysBuilder()
All these keys must sign to create or modify the file. Any one of them can sign to delete the file.
.proto.KeyList keys = 3;
-
getKeysOrBuilder
public KeyListOrBuilder getKeysOrBuilder()
All these keys must sign to create or modify the file. Any one of them can sign to delete the file.
.proto.KeyList keys = 3;
- Specified by:
getKeysOrBuilder
in interfaceFileCreateTransactionBodyOrBuilder
-
getContents
public com.google.protobuf.ByteString getContents()
The bytes that are the contents of the file
bytes contents = 4;
- Specified by:
getContents
in interfaceFileCreateTransactionBodyOrBuilder
-
setContents
public FileCreateTransactionBody.Builder setContents(com.google.protobuf.ByteString value)
The bytes that are the contents of the file
bytes contents = 4;
-
clearContents
public FileCreateTransactionBody.Builder clearContents()
The bytes that are the contents of the file
bytes contents = 4;
-
hasShardID
public boolean hasShardID()
Shard in which this file is created
.proto.ShardID shardID = 5;
- Specified by:
hasShardID
in interfaceFileCreateTransactionBodyOrBuilder
-
getShardID
public ShardID getShardID()
Shard in which this file is created
.proto.ShardID shardID = 5;
- Specified by:
getShardID
in interfaceFileCreateTransactionBodyOrBuilder
-
setShardID
public FileCreateTransactionBody.Builder setShardID(ShardID value)
Shard in which this file is created
.proto.ShardID shardID = 5;
-
setShardID
public FileCreateTransactionBody.Builder setShardID(ShardID.Builder builderForValue)
Shard in which this file is created
.proto.ShardID shardID = 5;
-
mergeShardID
public FileCreateTransactionBody.Builder mergeShardID(ShardID value)
Shard in which this file is created
.proto.ShardID shardID = 5;
-
clearShardID
public FileCreateTransactionBody.Builder clearShardID()
Shard in which this file is created
.proto.ShardID shardID = 5;
-
getShardIDBuilder
public ShardID.Builder getShardIDBuilder()
Shard in which this file is created
.proto.ShardID shardID = 5;
-
getShardIDOrBuilder
public ShardIDOrBuilder getShardIDOrBuilder()
Shard in which this file is created
.proto.ShardID shardID = 5;
- Specified by:
getShardIDOrBuilder
in interfaceFileCreateTransactionBodyOrBuilder
-
hasRealmID
public boolean hasRealmID()
The Realm in which to the file is created (leave this null to create a new realm)
.proto.RealmID realmID = 6;
- Specified by:
hasRealmID
in interfaceFileCreateTransactionBodyOrBuilder
-
getRealmID
public RealmID getRealmID()
The Realm in which to the file is created (leave this null to create a new realm)
.proto.RealmID realmID = 6;
- Specified by:
getRealmID
in interfaceFileCreateTransactionBodyOrBuilder
-
setRealmID
public FileCreateTransactionBody.Builder setRealmID(RealmID value)
The Realm in which to the file is created (leave this null to create a new realm)
.proto.RealmID realmID = 6;
-
setRealmID
public FileCreateTransactionBody.Builder setRealmID(RealmID.Builder builderForValue)
The Realm in which to the file is created (leave this null to create a new realm)
.proto.RealmID realmID = 6;
-
mergeRealmID
public FileCreateTransactionBody.Builder mergeRealmID(RealmID value)
The Realm in which to the file is created (leave this null to create a new realm)
.proto.RealmID realmID = 6;
-
clearRealmID
public FileCreateTransactionBody.Builder clearRealmID()
The Realm in which to the file is created (leave this null to create a new realm)
.proto.RealmID realmID = 6;
-
getRealmIDBuilder
public RealmID.Builder getRealmIDBuilder()
The Realm in which to the file is created (leave this null to create a new realm)
.proto.RealmID realmID = 6;
-
getRealmIDOrBuilder
public RealmIDOrBuilder getRealmIDOrBuilder()
The Realm in which to the file is created (leave this null to create a new realm)
.proto.RealmID realmID = 6;
- Specified by:
getRealmIDOrBuilder
in interfaceFileCreateTransactionBodyOrBuilder
-
hasNewRealmAdminKey
public boolean hasNewRealmAdminKey()
If realmID is null, then this the admin key for the new realm that will be created
.proto.Key newRealmAdminKey = 7;
- Specified by:
hasNewRealmAdminKey
in interfaceFileCreateTransactionBodyOrBuilder
-
getNewRealmAdminKey
public Key getNewRealmAdminKey()
If realmID is null, then this the admin key for the new realm that will be created
.proto.Key newRealmAdminKey = 7;
- Specified by:
getNewRealmAdminKey
in interfaceFileCreateTransactionBodyOrBuilder
-
setNewRealmAdminKey
public FileCreateTransactionBody.Builder setNewRealmAdminKey(Key value)
If realmID is null, then this the admin key for the new realm that will be created
.proto.Key newRealmAdminKey = 7;
-
setNewRealmAdminKey
public FileCreateTransactionBody.Builder setNewRealmAdminKey(Key.Builder builderForValue)
If realmID is null, then this the admin key for the new realm that will be created
.proto.Key newRealmAdminKey = 7;
-
mergeNewRealmAdminKey
public FileCreateTransactionBody.Builder mergeNewRealmAdminKey(Key value)
If realmID is null, then this the admin key for the new realm that will be created
.proto.Key newRealmAdminKey = 7;
-
clearNewRealmAdminKey
public FileCreateTransactionBody.Builder clearNewRealmAdminKey()
If realmID is null, then this the admin key for the new realm that will be created
.proto.Key newRealmAdminKey = 7;
-
getNewRealmAdminKeyBuilder
public Key.Builder getNewRealmAdminKeyBuilder()
If realmID is null, then this the admin key for the new realm that will be created
.proto.Key newRealmAdminKey = 7;
-
getNewRealmAdminKeyOrBuilder
public KeyOrBuilder getNewRealmAdminKeyOrBuilder()
If realmID is null, then this the admin key for the new realm that will be created
.proto.Key newRealmAdminKey = 7;
- Specified by:
getNewRealmAdminKeyOrBuilder
in interfaceFileCreateTransactionBodyOrBuilder
-
setUnknownFields
public final FileCreateTransactionBody.Builder setUnknownFields(com.google.protobuf.UnknownFieldSet unknownFields)
- Specified by:
setUnknownFields
in interfacecom.google.protobuf.Message.Builder
- Overrides:
setUnknownFields
in classcom.google.protobuf.GeneratedMessageV3.Builder<FileCreateTransactionBody.Builder>
-
mergeUnknownFields
public final FileCreateTransactionBody.Builder mergeUnknownFields(com.google.protobuf.UnknownFieldSet unknownFields)
- Specified by:
mergeUnknownFields
in interfacecom.google.protobuf.Message.Builder
- Overrides:
mergeUnknownFields
in classcom.google.protobuf.GeneratedMessageV3.Builder<FileCreateTransactionBody.Builder>
-
-


|
Rendu
An OpenGL rendering engine for experimentations
|
Handle all resources loading/saving tasks.
Classes | |
| class | BoundingSphere |
| Represent the sphere of smallest radius containing a given object or region of space. More... | |
| class | BoundingBox |
| Represent the smallest axis-aligne box containing a given object or region of space. More... | |
| class | Font |
| Font loading and storage: texture atlas, codepoints supported, dimensions of each glyph. Assumes that the supported codepoints form a continuous range. More... | |
| class | Image |
| Represents an image composed of pixels with values in [0,1]. Provide image loading/saving utilities, for both LDR and HDR images. More... | |
| class | Mesh |
| Represents a geometric mesh composed of vertices and triangles. For now, material information and elements/groups are not represented. Can store both the CPU and GPU representations. Provides utilities to load and process geometric meshes. More... | |
| class | Resources |
| The Resources manager is responsible for all resources loading and setup. More... | |
| class | Texture |
| Represents a texture containing one or more images, stored on the CPU and/or GPU. More... | |
Enumerations | |
| enum | TextureShape : uint { TextureShape::D1 = 1 << 1, TextureShape::D2 = 1 << 2, TextureShape::D3 = 1 << 3, TextureShape::Cube = 1 << 4, TextureShape::Array = 1 << 5, TextureShape::Array1D = D1 | Array, TextureShape::Array2D = D2 | Array, TextureShape::ArrayCube = Cube | Array } |
| The shape of a texture: dimensions, layers organisation. More... | |
| enum | Filter : uint { Filter::NEAREST = 0, Filter::LINEAR, Filter::NEAREST_NEAREST, Filter::LINEAR_NEAREST, Filter::NEAREST_LINEAR, Filter::LINEAR_LINEAR } |
| The filtering mode of a texture: we deduce the magnification filter from the minification filter for now. More... | |
| enum | Wrap : uint { Wrap::CLAMP = 0, Wrap::REPEAT, Wrap::MIRROR } |
| The wrapping mode of a texture. More... | |
| enum | Layout : uint { R8, RG8, RGB8, RGBA8, SRGB8, SRGB8_ALPHA8, R16, RG16, RGBA16, R8_SNORM, RG8_SNORM, RGB8_SNORM, RGBA8_SNORM, R16_SNORM, RG16_SNORM, RGB16_SNORM, R16F, RG16F, RGB16F, RGBA16F, R32F, RG32F, RGB32F, RGBA32F, RGB5_A1, RGB10_A2, R11F_G11F_B10F, DEPTH_COMPONENT32F, DEPTH24_STENCIL8, DEPTH_COMPONENT16, DEPTH_COMPONENT24, DEPTH32F_STENCIL8, R8UI, R16I, R16UI, R32I, R32UI, RG8I, RG8UI, RG16I, RG16UI, RG32I, RG32UI, RGB8I, RGB8UI, RGB16I, RGB16UI, RGB32I, RGB32UI, RGBA8I, RGBA8UI, RGBA16I, RGBA16UI, RGBA32I, RGBA32UI } |
| The layout of a texture: components count and type. | |
| enum | Storage : uint { Storage::GPU = 1, Storage::CPU = 2, Storage::BOTH = (GPU | CPU) } |
| Denote if data is stored on the GPU or CPU. More... | |
|
strong |
The filtering mode of a texture: we deduce the magnification filter from the minification filter for now.
|
strong |
|
strong |
|
strong |


LINQ (Language Integrated Query) is a library from Microsoft for the .NET Framework. It is unique because it brought many nice features from the functional programming paradigm into the imperative object oriented world. The central element of LINQ, usually called LINQ-to-objects, is nothing but a set of higher order functions that operate on enumerations of objects, in a lazy fashion. Oxygen ports this part into PHP.
In the following example (in C# code), if a is an enumeration of integers, then the following code will return the sum of the squares of the first three even members:
// C# code a.Where( x => x % 2 == 0 ) .Take(3) .Select( x => x ^ 2 ) .Sum();
What is unique in the above code is that it says directly what we want as a result, and not how to produce it. It is simple: from the enumeration find the even numbers, take the first 3, square them, and add them. If we wanted to do the same thing in imperative fashion, that would look like this:
// PHP code $sum = 0; $count = 0; foreach ($a as $i) { if ( $i % 2 == 0 ) { $sum += $i * $i; if (++$count == 3) break; } }
The above code is typical and it is a mess. What we want to achieve is mixed with instructions of how to achieve it. In an analogy, it's like walking into a coffee shop and, instead of ordering a decaf caramel macchiato, say something like "well, first empty a pot, heat up the milk, and while there is more milk add it to the pot, then... (etc)".
Oxygen brings LINQ into PHP, by using native PHP constructs. Therefore, instead of enumerations, it uses the internal Traversable interface (Iterator and IteratorAggregate) and instead of lambda functions, it uses PHP's closures. So, the above example becomes like this:
from($a)->Where( function($x){ return $x % 2 == 0; } ) ->Take(3) ->Select( function($x){ return $x * $x; }) ->Sum();
The from() function wraps the traversable object into a LinqIterator which offers all the extra methods. The code is longer from the C# version and not quite as nice, but it is because PHP has choosen a rather verbose way to represent lambda functions. However, it makes the code much cleaner and provides a standard way to handle object enumerations.
Another feature unique in PHP, is that traversable objects always contain pairs of keys and values and the iteration is always done on both the value and the key. For this reason, all lambda functions passed to a LinqIterator traversable accept the key as an optional second argument. As a result, the following code is valid:
$a = array( 'a' => 1, 'b' => 2 ); echo from($a)->Select( function($value,$key){ return $key.'='.$value; } )->Implode(', '); // output: a=1, b=2
The rest of this chapter contains a brief presentation of the the methods of LINQ.
Select is the projection method, equivalent to PHP's array_map. For example, the following code selects all titles from an array containing book objects:
$titles = from($books)->Select( function($book){ return $book->Title; } );
SelectMany is a projection method for sub-collections. The following code selects all chapters of all books in one joined traversable.
$chapters = from($books)->SelectMany( function($book){ return $book->Chapters; } );
Where is the filtering method, equivalent to PHP's array_filter. The following code takes only the books by Tolkien:
$tolkien_books = from($books)->Select( function($book){ return $book->Author == 'Tolkien'; } );
There are also the shortcut methods WhereNotNull() and WhereKeyNotNull() which take no argument.
Take and Skip take an integer argument and can be used to iterate just portions of the collection.
from($books) ->Skip(20) ->Take(10);
OrderBy and OrderByDesc iterate the traversable sorted by the passed hashing function. The hashing function has to return either a string or a number. To sort which more than one criteria, use the methods ThenBy and ThenByDesc.
$books_sorted_by_author = from($books) ->OrderBy( function($book){ return $book->Author; } ); $books_sorted_by_author_and_title = from($books) ->OrderBy( function($book){ return $book->Author; } ) ->ThenBy( function($book){ return $book->Title; } );
GroupBy returns a traversable of traversables grouped by the passed hashing function. The hashing function has to return either a string or a number. The following code returns a list of books for each author.
from($books) ->GroupBy(function($book){ return $book->Author; }) ->Select(function($author_books,$author){ return $author.': '.$author_books->Implode(', '); });
Unique returns a traversable containing only unique values. However, the values have to be strings or numbers. If this is not the case, if is also possible to pass a hashing function that produce a string or a number.
$all_authors = from($books) ->Select(function($book){ return $book->Author; }) ->Unique();
Union joins together two traversables.
$history_and_fiction_books = from($books) ->Where( function($book){ return $book->Genre == 'History'; } ) ->Union( from($books)->Where( function($book){ return $book->Genre == 'Fiction'; } ) );
These functions return the first and the last element of the traversable or null if there are no elements. There are also the similar functions GetFirstOr and GetLastOr that accept a default value, and the function GetFirstKey and GetLastKey that return the keys instead of the elements.
from($books)->GetFirst();
Aggregate functions reduce the traversable to a single value. There are the functions Count, Sum, Max, Min, Implode, Exists and ForAll.
// returns a number $number_of_books = from($books)->Count(); // returns a boolean $has_history_books = from($books)->Exists( function($book){ return $book->Genre == 'History'; }); // returns a string $all_titles_string = from(books)->Select( function($book){ return $book->Title; } )->Implode(', ');


U MUMBA
Owned by Ronnie Screwvala, U Mumba,
the Mumbai based franchise of the Pro Kabaddi League carved a niche
for itself in the first season alone as it received a resounding response
from millions of viewerswho not only followed the team on television but
also flocked to the stadiums in large numbers.Derived from the word Mumba,
the name represents the mother island that gave birth to a mega city which
is now known as Mumbai.
Led by captain, Anup Kumar, coached by Ravi Shetty with Bhaskaran E.
as the Strategic Adviser, U Mumba consistently maintained its position as
the front-runner with 11 games which included 8 wins and 3 draws.
U Mumba claimed the second spot at the season finale after the
final match against Jaipur Pink Panthers.
U Mumba is already gearing up for a powerful performance and
is determined to win the PKL title this year. With the goal of
furthering the sport of Kabaddi, the teamís parent company,
U Sports is looking at constructing a first of its kind Kabaddi arena.
The company also has an enabler program for young athletes to grow into
professional Kabaddi players and runs a parallel incubation programme called
U Mumba Future Stars.
|


영어 교육 어플리케이션의 원어민 강사 콘텐츠 중 일부를 대체하기 위해 진행했던 프로젝트입니다.
Developed Voice Chatbot module to replace part of contents in English educating application, specifically the works performed by native English speakers.
Change user's speech into text with Speech Recognition model
Generate text response by passing through Dialogue Subject Classification model and Natural Language Generation model
Change the text response into speech with Speech Synthesis model and return it
| OS | Windows10 | Linux (Ubuntu 16.04 LTS) | |
|---|---|---|---|
| Programming Language | Python3 | ||
| Frameworks | TensorFlow | Kaldi | Docker |
| 참여 기간 | 2018.11 - 2019.1 | |||
|---|---|---|---|---|
| 수행 역할 | 텍스트 데이터 탐색 | 텍스트 데이터 전처리 | 대화 주제 분류 모델 개선 | 답변 생성 모델 개선 |
To make our model perform in the way we want, I searched dialogue dataset which contains contents of ordinary life
Decided to use DailyDialogue of Yanran Li
Classified 13,118 dialogue datas into 10 domains
Seperate lines by speakers
Eliminate unnecessary marks
Decide words to be used as stopword
Restrict number of tokens per sentence
Normalized text words to train model clearly
Reclassified 10 subjects of dataset into 7 to based on dataset being serviced by Hanbitsoft
Test NLU methods with GloVe, Fasttext, Word2Vec, TF-IDF, and etc
Implemented F1-Score to evaluate model better
이전에 구현되어 있었던 Seq2Seq 모델에 Attention Mechanism을 추가하여 긴 문장의 input에 대한 문장 생성 능력을 향상
To Seq2Seq model which had been used, added Attention Mechanism to model to generate sentences better when length of input is long


Events for ${voOpp.voCharityName}
There are no scheduled events
| Action | Name | Description | Location | Start Date | Start Time | End Date | End Time | People Needed |
People Scheduled |
Talents | Work | Phone | Coordinator | |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
|
This event has been cancelled Event has past. |
${event.voStreet} ${event.voCity}, ${event.voState} ${event.voZipCode} |
${event.voNumPeopleScheduled} 0 |
Volunteers for the Event: ${eventTitle}
| Name | Phone | City | Zipcode | |
|---|---|---|---|---|
Schedule A New Event
Update the ${charityName} Event


Cute Duck Smiling as It Enjoys Neck Scratching
All babies sleep better after a lullaby, and this little duck from the video is no exception. We can see the cute bird getting sleepy after its owner uses some lifehacks.
Schubert's Lullaby and love - this is the perfect way to put your baby to bed, even if your baby is a small white duck. The duckling from the video can't resist sleeping after the owner started scratching its neck and head. We can see the little bird nuzzling against the hooman's arm, smiling and slowly closing its eyes to enter the dream world.


In this article, I'll show you how to create interceptors to implement AOP techniques. I'll use ASP.NET Boilerplate (ABP) as base application framework and Castle Windsor for the interception library. Most of the techniques described here are also valid for using Castle Windsor independent from ABP framework.
Wikipedia: "In computing, aspect-oriented programming (AOP) is a programming paradigm that aims to increase modularity by allowing the separation of cross-cutting concerns. It does so by adding additional behavior to existing code (an advice) without modifying the code itself, instead separately specifying which code is modified via a "pointcut" specification".
In an application, we may have some repeating/similar code for logging, authorization, validation, exception handling and so on...
An example code does all manually:
public class TaskAppService : ApplicationService
{
private readonly IRepository<Task> _taskRepository;
private readonly IPermissionChecker _permissionChecker;
private readonly ILogger _logger;
public TaskAppService(IRepository<Task> taskRepository,
IPermissionChecker permissionChecker, ILogger logger)
{
_taskRepository = taskRepository;
_permissionChecker = permissionChecker;
_logger = logger;
}
public void CreateTask(CreateTaskInput input)
{
_logger.Debug("Running CreateTask method: " + input.ToJsonString());
try
{
if (input == null)
{
throw new ArgumentNullException("input");
}
if (!_permissionChecker.IsGranted("TaskCreationPermission"))
{
throw new Exception("No permission for this operation!");
}
_taskRepository.Insert(new Task(input.Title, input.Description, input.AssignedUserId));
}
catch (Exception ex)
{
_logger.Error(ex.Message, ex);
throw;
}
_logger.Debug("CreateTask method is successfully completed!");
}
}
In CreateTask
method, the essential code is _taskRepository.Insert(...)
method call. All other code is repeating code and will be the same/similar for our other methods of TaskAppService
. In a real application, we will have many application service need the same functionality. Also, we may have other similar code for database connection open and close, audit logging and so on...
If we use AOP and interception techniques, TaskAppService
could be written as shown below with the same functionality:
public class TaskAppService : ApplicationService
{
private readonly IRepository<Task> _taskRepository;
public TaskAppService(IRepository<Task> taskRepository)
{
_taskRepository = taskRepository;
}
[AbpAuthorize("TaskCreationPermission")]
public void CreateTask(CreateTaskInput input)
{
_taskRepository.Insert(new Task(input.Title, input.Description, input.AssignedUserId));
}
}
Now, it exactly does what is unique to CreateTask
method. Exception handling, validation and logging code are completely removed since they are similar for other methods and can be centralized conventionally. Authorization code is replaced with AbpAuthorize
attribute which is simpler to write and read.
Fortunately, all these and much more are automatically done by ABP framework. But, you may want to create some custom interception logic that is specific to your own application requirements. That's why I created this article.
I created a sample project from ABP startup templates (including module zero) and added to a Github repository.
Let's begin with a simple interceptor that measures the execution duration of a method:
using System.Diagnostics;
using Castle.Core.Logging;
using Castle.DynamicProxy;
namespace InterceptionDemo.Interceptors
{
public class MeasureDurationInterceptor : IInterceptor
{
private readonly ILogger _logger;
public MeasureDurationInterceptor(ILogger logger)
{
_logger = logger;
}
public void Intercept(IInvocation invocation)
{
//Before method execution
var stopwatch = Stopwatch.StartNew();
//Executing the actual method
invocation.Proceed();
//After method execution
stopwatch.Stop();
_logger.InfoFormat(
"{0} executed in {1} milliseconds.",
invocation.MethodInvocationTarget.Name,
stopwatch.Elapsed.TotalMilliseconds.ToString("0.000")
);
}
}
}
An interceptor is a class that implements IInterceptor
interface (of Castle Windsor). It defines the Intercept
method which gets an IInvocation
argument. With this invocation argument, we can investigate the executing method, method arguments, return value, method's declared class, assembly and much more. Intercept
method is called whenever a registered method is called (see registration section below). Proceed()
method executes the actual intercepted method. We can write code before and after the actual method execution, as shown in this example.
An Interceptor
class can also inject its dependencies like other classes. In this example, we constructor-injected an ILogger
to write method execution duration to the log.
After we created an interceptor, we can register it for desired classes. For example, we may want to register MeasureDurationInterceptor
for all methods of all application service classes. We can easily identify application service classes since all application service classes implement IApplicationService
in ABP framework.
There are some alternative ways of registering interceptors. But, it's most proper way in ABP to handle ComponentRegistered
event of Castle Windsors Kernel
:
public static class MeasureDurationInterceptorRegistrar
{
public static void Initialize(IKernel kernel)
{
kernel.ComponentRegistered += Kernel_ComponentRegistered;
}
private static void Kernel_ComponentRegistered(string key, IHandler handler)
{
if (typeof (IApplicationService).IsAssignableFrom(handler.ComponentModel.Implementation))
{
handler.ComponentModel.Interceptors.Add
(new InterceptorReference(typeof(MeasureDurationInterceptor)));
}
}
}
In this way, whenever a class is registered to dependency injection system (IOC), we can handle the event, check if this class is one of those classes we want to intercept and add interceptor if so.
After creating such a registration code, we need to call the Initialize
method from somewhere else. It's best to call it in PreInitialize
event of your module (since classes are registered to IOC generally in Initialize
step):
public class InterceptionDemoApplicationModule : AbpModule
{
public override void PreInitialize()
{
MeasureDurationInterceptorRegistrar.Initialize(IocManager.IocContainer.Kernel);
}
//...
}
After these steps, I run and login to the application. Then, I check log file and see logs:
INFO 2016-02-23 14:59:28,611 [63 ] .Interceptors.MeasureDurationInterceptor - GetCurrentLoginInformations executed in 4,939 milliseconds.
I will improve this article by adding some use cases:
While you can do all starting with the MeasureDurationInterceptor
sample, follow updates of this article to get concrete examples.


--- date: 2010-02-01T00:00:00Z published: true title: Michael V. Hayden - Obama admnistration takes several wrong paths in dealing with terrorism - washingtonpost.com url: /2010/02/01/michael-v-hayden-obama-admnistration-takes-several-wrong-paths-in-dealing-with-terrorism-washingtonpost-com/ ---
We got it wrong in Detroit on Christmas Day. We allowed an enemy combatant the protections of our Constitution before we had adequately interrogated him. Umar Farouk Abdulmutallab is not "an isolated extremist." He is the tip of the spear of a complex al-Qaeda plot to kill Americans in our homeland.
In the 50 minutes the FBI had to question him, agents reportedly got actionable intelligence. Good. But were there any experts on al-Qaeda in the Arabian Peninsula in the room (other than Abdulmutallab)? Was there anyone intimately familiar with any National Security Agency raw traffic to, from or about the captured terrorist? Did they have a list or photos of suspected recruits?


Getting Started
IG Design Overview
- Create/Open an ImplementationGuide (Project).
- Create ValueSets and CodeSystems in the UI.
- Create profiles (StructureDefinition resources) in UI. Create elements and constrain them to value sets created in step #2.
- Import images into the IG to insert into narrative.
- Create narrative pages for the IG.
- Mark example resources as “example” with optional subject/context.
- Publish the IG.
- Review the published IG.
- Review the QA results and resolve errors.
- Export as HTML package and store in GitHub.
Create Implementation Guide
- Open and log into Trifolia-on-FHIR.
- Select File > New Project.
- Specify an ID that is unique to your IG (e.g., test-ig).
- Specify a URL unique to your IG (e.g., http://test.com/fhir/implementationguide/test-ig). The last leaf/level of the URL should match the ID to prevent errors during publishing.
- Specify a name for your IG. This is the computable format of the name, used similarly (but not the same) as the ID.
- Specify a title for your IG. This is what is displayed to readers of the IG.
- Specify a Package ID. If developing an HL7 IG, you will receive this information pending PSS approval.
- Define permissions using the “Permissions” tab.
- Save the IG. It is now set as the project you are working on.
Create Narrative Pages
- Click Browse/Edit > Edit Implementation Guide.
- Select the “Narrative/Pages” tab.
- Provide a high-level description of the implementation guide, if desired. If no narrative pages are specified (see Step 4), then the IG’s home page will use this description.
- Scroll to the bottom and click the “Add Narrative Page” button. This will create an index page that represents the home page for your IG. When you edit this page, ToF can automatically generate the content for the home page (index) based on the description of the IG. You can also specify custom content displayed on the home page.
- Click the “+” on the index/home page to create child pages.
- The “Downloads” template is available to add to your IG and customize, which will provide default content for a “Downloads” page.
- Select “Show on top navigation bar” and specify a navigation menu name for the pages you want to appear on the top menu of the published IG.
- When editing a page, you can click the icon that represents multiple images to insert imports.
Import Images
- Click the “Import” menu from the top navigation menu.
- Drag-and-drop image files from your computer to the import window.
- Click “Import.”
Identify Examples
- Click Browse/Edit > Edit Implementation Guide.
- Select the “Resources” tab.
- Click “Edit” next to an example resource.
- Select “Example = Yes” or select a profile to set an example.
- Click “Done.”
- “Save” the IG after updating resources.
Publish
- Click the “Publish” menu from the top navigation menu.
- Select the options for your publication.
- HL7 requires the latest IG publisher for ballots. The IG publisher updates occasionally include bugs, which leads to errors. You can select “No” pending resolution.
- Selecting “No” for “Use terminology server” can quicken the publish execution, assuming you’re not worried about terminology.
- Indicating “Yes” for “Download?” will offer the entire published package as a download to your computer when complete.
- Click “Publish.” This process can be time-consuming, depending on the size of your IG. Please be patient. Once published, you can view the IG with the link on the status screen. Alternatively, you can select Browse/Edit > View Implementation Guide.
Create Terminology
Create a new value set or code system:
- Select Browse/Edit > Value Sets and/or Code Systems.
- Select the blue “+” button in the top-right to create a new value set or code system.
- Specify the details of the value set and/or code system.
- Save the value set or code system. The value set or code system is automatically associated with your IG.
Locate existing value sets or code systems:
- Select Browse/Edit > Edit Implementation Guide.
- Select the “Resources” tab.
- Select the “hand/pointer” icon in the top-right to add an existing resource.
- Un-check “Showing resources for the “Test IG” implementation guide.”
- Filter/Find then select the value set or code system.
Import a ValueSet from VSAC:
- Select “Import” on the top navigation bar
- Select the “VSAC” tab
- Specify your VSAC credentials
Your credentials are never sent to ToF servers, they are used only by your browser to communicate with VSAC; they do not leave your computer, aside from being sent to VSAC for authentication. - Specify the OID for the value set you would like to import.
- Click “Import”.
- Assuming the value set is found, it will be imported and automatically associated with your IG.
Create Profiles
- Select Browse/Edit > Profiles/Extensions.
- Click the blue “+” icon in the top-right of the screen.
- Indicate the URL for the profile. The beginning of the URL should match the IG’s URL (e.g., http://test.com/fhir/structuredefinition/my-profile if the IG is http://test.com/fhir/implementationguide/test-ig).
- Verify the ID matches the end of the URL. This should auto-populate when you enter the URL
(e.g., “my-profile” for the above URL example) - Specify a name and title, which the published IG will display.
- Indicate the “type” of resource this profile constrains (e.g., “Patient”).
- You may want to build your profile based on another profile. Specify a “Base Profile” that exists in the system.
- Click “Save.”
- Click the “Elements” tab.
- Select an element to constrain.
- Click “Constrain Element” in the right panel.
- Re-define the element in the right panel to specify the difference between the element and the base definition.
- Repeat for all constraints.
- Define a description for the profile, which the published IG will display to the reader.
- Save the profile.
Reverting to a previous version of a resource in Trifolia on FHIR
- In the resource(IG, Profile, Value Set, etc) Editor, navigate to the History tab
- Find the version of the resource you wish to restore
- Select the “Revert” option to the right of the "Save" button to undo any unsaved changes
- Select the "Restore" option by clicking the up arrow to the right of "Comparing version E to version #" to review the history of a resource and restore a previously saved version.
- Save the IG in order for the restored version to persist


“Few men, no matter what their calling, can have been the object of so many different descriptions as were applied to him… [Edward George Hemmerde, K.C., the Recorder for Liverpool] was variously depicted as ‘a profligate’, ‘a wastrel’, ‘a martyr to the establishment’, ‘a stormy petrel’, ‘a soured man’, ‘a good-time Charlie’, and ‘a man who was much maligned and misunderstood’; he was also… ‘an irrepressible, loud-mouthed, honourable and outspoken braggart’… His physical perfection was marred by only one thing—or rather, two things: his feet. They were enormous. In profile, straight-backed and vastly-booted, Hemmerde was shaped like the letter L… He was conscious, too, of the unloveliness of his speaking voice, which, when he was at all excited, rose to a high-pitched screech. Since it took very little to get him excited, his voice, almost as often as not, was up in the higher registers, causing distress to sensitive ear-drums…”
From The Killing Of Julia Wallace by Jonathan Goodman (1969)


Healthcare
Louth TD says 14,941 lost bed days in Our Lady of Lourdes due to delayed discharges
Highest number of bed days lost outside of Dublin says Breathnach
by Donard McCabeLouth TD Declan Breathnach, has said the Government must get serious on delivering home care supports which, he says, would go some way to alleviating the growing problem of delayed discharges.
Deputy Breathnach was commenting as figures revealed to Fianna Fáil show that 14,941 bed days were lost at Our Lady of Lourdes in Drogheda since the start of this year. This figure is the second highest in the country and the highest of any hospital outside of Dublin.
The Fianna Fáil TD said:
“Lost bed days mean there were people eligible to be discharged from Our Lady of Lourdes but had no access to an appropriate step-down care facility or home help provision. Instead they are stuck in a bed which they don’t want to be in in the first place.
“Almost 15,000 lost bed days in one hospital is outrageous. The simple fact is that there is nowhere else for them to go and this is putting huge pressure on the rest of the hospital network, which is in desperate need for the spare capacity.
“13,000 people aged over 75 are enduring waits in A&E’s for more than 24 hours. They are enduring these waits because there is no room for them in the wards.
"There is no room for them in the wards because people who are eligible and want to go home can’t. They can’t go home because there are no suitable supports in place for them to do so. This vicious cycle is going to continue for as long as the Government ignore the solutions.
“We need more home support hours, home care packages and respite support for families. Only when these are in place will we see these numbers drop”, concluded Deputy Breathnach.


{% if data['counter'] == 'SET-OFF' %} Explain why they owe you £{{ data['totalSum'] or '500' }} {% else %} Briefly explain your counterclaim {% endif %}
{% if data['counter'] == 'FULL-COUNTER' %}- why you don't owe them any money
- why they owe you £{{ data['totalSum'] or '2,000' }}
{% elseif data['counter'] == 'SET-OFF' and data['response'] == 'PART-ADMIT' %}
- why you don't owe them the full £1,500
- why they owe you £{{ data['totalSum'] or '2,000' }}
{% elseif data['counter'] == 'SET-OFF' and data['response'] == 'STATES-PAID' and data['owe-amount'] < 1500 %}
- why you don't owe them the full £1,500
- why they owe you £{{ data['totalSum'] or '500' }}
{% elseif data['counter'] == 'SET-OFF-COUNTER' and data['response'] == 'PART-ADMIT' %}
- why you don't owe them the full £1,500
- why they owe you £{{ data['totalSum'] or '2,000' }}
{% elseif data['counter'] == 'SET-OFF-COUNTER' %}
Don't give us a detailed timeline - we'll ask for that later.


This use case covers scenario when you have application generating pdf at user request from some kind of a input data. It can be for example an application generating pdf invoice from specified information like receiver name, billing address and so on.
This example shows how you can trigger opening jsreport embedded to edit report template and how you can trigger report generation with input data taken from the form.


Angular is a TypeScript-based open-source web application framework led by the Angular Team at Google and by a community of individuals and corporations. Angular is a complete rewrite from the same team that built AngularJS.
Differences between Angular and AngularJS
AngularJS is an open source JavaScript framework. Designed for the development of single-page applications. Its goal is to expand browser applications based on the MVC template, as well as simplify testing and development.
Angular was designed as a ground-up rewrite of AngularJS.
Angular does not have a concept of "scope" or controllers, instead it uses a hierarchy of components as its primary architectural characteristic.
Angular has a different expression syntax, focusing on "[ ]" for property binding, and "( )" for event binding
Modularity – much core functionality has moved to modules
Angular recommends the use of Microsoft's TypeScript language, which introduces the following features:
Static typing, including Generics
Annotations
TypeScript is a superset of ECMAScript 6 (ES6), and is backwards compatible with ECMAScript 5 (i.e.: JavaScript).
Dynamic loading
Asynchronous template compilations
Iterative callbacks provided by RxJS. RxJS limits state visibility and debugging, but these can be solved with reactive add-ons like ngReact or ngrx.
Support for Angular Universal, which runs Angular applications on servers
Naming
Originally, the rewrite of AngularJS was called "Angular 2", but this led to confusion among developers. To clarify, the Team announced that separate terms should be used for each framework with "AngularJS" referring to the 1.X versions and "Angular" without the "JS" referring to versions 2 and up.
advantages and disadvantages
Pros of Angular
MVC Architecture implementation
Model-View-Controller architecture, not only attaches value to the framework when creating a client-side app but also sets the foundation for the other features like data binding and scopes.
With MVC architecture, it is possible to isolate the app logic from the UI layer and support separation of concerns. The controller receives all requests for the app and operates with the model to prepare any data needed by the view.
The view uses the data prepared by the controller and displays a final presentable response.
Enhanced Design Architecture
Some of the large web applications contain a lot of components. Angular simplifies the way of managing these components even if a new programmer joins the project after the development process has already begun. The architecture is built in such a way that helps the programmer to locate and develop the code easily.
Modules
A module is a mechanism that groups directives, components, pipes and services that are related, in such a way that can be combined with other modules in order to create an application The Angular-based app can be considered as a puzzle where each module is needed to be able to see the full picture. There are a number of ways to add different elements to a module. Angular solves the problem of global function exploitation by limiting the scope of all functions to the module, in which it was defined and used.
Services and Dependency Injection (DI)
A service or component might sometimes need other dependent services to complete a task. A Dependency Injection design pattern is used in order to fulfill these dependencies. It divides the task among different services. The client service will not create the dependent object, rather it will be created and injected by an Angular injector. The Angular injector is responsible for creating service instances and injecting them into classes like components and services.
Custom directives
Custom directives improve HTML functionality and are suitable for dynamic client-side applications. They all start with the prefix ng so that HTML can identify them. Some of these are:
Front End Web Development Training
NgModel: provides two-way data binding to an HTML form elements.
NgClass: removes and adds a set of CSS classes.
NgStyle: adds and removes a set of HTML styles.
TypeScript: better tooling, cleaner code, and higher scalability
Angular is written using TypeScript, which is a superset for JavaScript. It
fully complies to JavaScript and also helps spot and eliminate common mistakes while coding. While small JavaScript projects do not require such an enhancement, the enterprise-scale applications need developers to make their code cleaner and verify the quality more often.
Cons of Angular
Limited SEO options
A major drawback of using Angular is the limited SEO options and poor accessibility for search engine crawlers.
Angular is verbose and complex
A frequent complaint that you would hear from the Angular developers is the verbosity of the instrument. And this problem hasn’t changed much since AngularJS.
Steep learning curve
If you onboard new developers who are familiar with JavaScript to use new Angular, they would find it difficult as compared to React or Vue onboarding. This is because the array of topics and aspects to be covered is quite large.
CLI documentation is lacking details
Some developers express concerns with the current state of CLI documentation. While the command line is very useful fo Angular developers, you won’t find enough information in their official documentation on GitHub and you have to spend more time exploring threads on GitHub to get answers.


deepak
on 2012-08-06 18:54:10
deepak sahu deepak sahu deepak sahu deepak sahu deepak sahu deepak sahu deepak sahu deepak sahu deepak sahu deepak sahu deepak sahu deepak sahu deepak sahu deepak sahu deepak sahu deepak sahu deepak sahu deepak sahu deepak sahu
Max von Buelow
on 2012-07-25 16:08:45
The Code from line 29 to line 31 is already provided by get_html_translation_table:
if (useQuoteStyle === 'ENT_QUOTES') {
entities['39'] = ''';
}
Hans Henrik
on 2012-02-29 19:36:49
this code isn't even close to complete.
like
æ=æ
ø=ø
å=å
Æ=Æ
Ø=Ø
Å=Å
and there's lots of others missing 2 :p
Eu
on 2011-12-20 02:50:18
<script>alert('hi')</script>
Komal
on 2011-09-20 09:32:24
Thanks a lot @Rafał
I update the function htmlentities() from github and it works fine... :)
Rafa? Kukawski
on 2011-09-17 16:16:22
@Komal: try using new get_html_translation_table and htmlentities (depends on the first one) functions from git https://github.com/kvz/phpjs/commit/f9a42874e652d096245797c155f65a25a667b528
Komal
on 2011-09-17 10:47:57
Hi,
I am using ur code in one of my functionality but when I use "extend" word then its shwoing me some code as output instead of "extend"
e.g.,
var str = htmlentities("test extend","ENT_QUOTES");
// Output in am getting is
test function(object) { return Object.extend.apply(this, [this, object]); }
It means "extend" word is replaced by "function(object) { return Object.extend.apply(this, [this, object]); }"
Can someone please check on this.
Thanks in Advanced.
- Komal
Rafa? Kukawski
on 2011-07-30 12:32:43
@Dj: thanks for your feedback. Changed the function according to your suggestions. You can see the changes on github.
Dj
on 2011-07-29 21:12:38
Note that the regex for double encode is not correct because it does not inglude html entities for uppercase characters, like Ñ
replace [a-z][\da-z] with [a-zA-Z][\da-z]
Dj
on 2011-07-28 03:31:08
Here one optimized version.
Using recursion calling self.htmlentities() will cause to load the table again and check source values, which does not make sense because you are using the same table.
So instead of recursion, use a simple loop working in the same scope.
function htmlentities (string, quote_style, charset, double_encode) {
string = string !== undefined ? string + '' : '';
var hash_map = this.get_html_translation_table('HTML_ENTITIES', quote_style),
char;
if (hash_map === false) {
return false;
}
if (quote_style && quote_style === 'ENT_QUOTES') {
hash_map["'"] = ''';
}
if (!!double_encode || double_encode == null) {
for (char in hash_map) {
string = string.split(char).join(hash_map[char]);
}
return string;
} else {
return string.replace(/([\s\S]*?)(&(?:#\d+|#x[\da-f]+|[a-z][\da-z]*);|$)/g, function (ignore, text, entity) {
for (char in hash_map) {
text = text.split(char).join(hash_map[char]);
}
return text + entity;
});
}
}
Dj
on 2011-07-28 03:05:33
Note that you have a bug.
hash_map["'"] = '''; should only be added when quote_style is ENT_QUOTES, otherwise the single quote will be allways converted independent of the quote style specified
on 2011-06-29 18:21:30
Minified
function htmlentities (s, qS, cS, dE)
{
var h = {}, c = '', e = '', se=this;
s += '';
if (false === (h = se.get_html_translation_table('HTML_ENTITIES', qS)))
{
return false;
}
if (!!dE || dE == null)
{
h["'"] = ''';
for (c in h) s = s.split(c).join(h[c]);
}
else
{
s = s.replace(/([\s\S]*?)(&(?:#\d+|#x[\da-f]+|[a-z][\da-z]*);|$)/g, function (i,t,e) {
return se.htmlentities(t, qS, cS) + e;
});
}
return s;
}
Rafa? Kukawski
on 2011-05-01 12:40:41
@Shefik: function with double_encode support landed on git
Shefik
on 2011-05-01 09:30:30
Will the parameter "double_encode" be added in future release of this function?
Rafa? Kukawski
on 2011-01-25 09:34:25
@Aikar: Are you absolutely sure your fix is correct? Simple changing from .split() to .replace() won't work correctly, unless you pass a regular expression with 'g' flag to .replace. When doing str.replace('foo', 'bar'), JavaScript replaces only first occurrence of 'foo' (http://jsfiddle.net/8ydqr/). Creating a new instance of RegExp object for every character (and escaping the character if required) would also take longer time to execute. But yes, this functions needs some optimizations.
Aikar
on 2011-01-25 05:31:18
Grr I realize I messed up variable names when I was cutting out that code and it was essentially running nothing... But after fixing it it still got down to 9000ms which is an 80% performance gain, so it needs to be modified.
Aikar
on 2011-01-25 05:17:08
Follow up, changing tmp_str.split to tmp_str.replace(symbol, entity); sped it up by 22% (10s~)
Then I furthur fixed the entire thing and did it properly, so can someone who knows how to update these functions implement this:
https://gist.github.com/794497
Got my benchmark back down to where it was suppose to be with the above pasted versions:
>>> node benchmark.js
rendered 10000 times in 3200ms!
Aikar
on 2011-01-25 04:53:38
This code is extremely slow...
I did a benchmark before and after adding this to my strings
BEFORE:
>>> node benchmark.js
rendered 10000 times in 3192ms!
AFTER:
>>> node benchmark.js
rendered 10000 times in 42797ms!
Use with caution.
Aikar
on 2011-01-25 04:53:18
This code is extremely slow...
I did a benchmark before and after adding this to my strings
BEFORE:
>>> node benchmark.js
rendered 10000 times in 3192ms!
AFTER:
>>> node benchmark.js
rendered 10000 times in 42797ms!
Use with caution.
Jakub
on 2010-11-27 12:50:51
Hi, very useful function, however, it seems to be missing double_encode optional argument. htmlspecialchars has it. This argument is from PHP original functions.
I had an issue with current version of the htmlentities function in Chrome dev browser (but not in FF or IE 8):
when I run htmlentities('"') it doesn't return $quot; but " which is broken obviously. htmlspecialchars() returns " as expected.
PHP htmlentities('"') also returns "
IE or FF return what is expected. I don't know where the problem is, but it does look as if double encoding for amperand and quote takes place. I don't know why one browser interprets this code in a different way than others...
Satya Prakash
on 2010-11-15 13:32:28
hi
I feel this function has a bug. It cannot preserve single quote ('), when used ENT_NOQUOTES.
So, I need to use strtr() for that:
var tmpVal = html_entity_decode (txtAreaVal);
txtArea.value = htmlentities(tmpVal, "ENT_NOQUOTES");
// restore single quote
$trans = {''' : "'" };
txtArea.value = strtr(txtArea.value, $trans);
Gerry
on 2010-11-08 21:05:13
Thanks. Great function.
austin
on 2010-06-07 16:48:44
Brett: i think its more for data coming FROM the server.
in my case its an email client and i want to send them html that might be in an email, but i want to convert it to source by encoding all the tags but allow a function to put it out as actual html if the user agrees to it. since i cant know what email IS and ISNT safe for them to view, and since its a browser based email its even more dangerous as it runs in the context of that page. i would just strip ALL html, but some i need (such as the html reports made by svnnotify, they just dont look the same when you strip the tags)
but you are correct, this should NOT be used for client-side sanitization. nothing from a client should be considered secure.
Brett Zamir
on 2009-08-30 04:44:56
@vikal: 1) Why do you want to convert it to an entity? If you are trying to filter user input on the client-side, doing it this way is not a safe way to do it, since people can get around it. You should use your database's own escape mechanisms instead (e.g., mysql_real_escape_string for MySQL). 2) If you do really want the entity form, you can use \ or \ , but there is no need to escape it in HTML or XML like this since a backslash is not reserved there.
vikal
on 2009-08-27 07:17:11
hi
though your function
htmlentities()
is good
but
now we are having problem with this symbol \
do you have any idea how to convert it to the html entities
is there any solution so that i can change
\ to htmlentities
hoping best here
regards
vikal
Brett Zamir
on 2009-08-26 07:57:47
@vikal: Does that mean you figured out the problem with the function? If you are still having trouble, please give a precise example where you see the problem. Thanks...
vikal
on 2009-08-26 07:50:05
hi
Really good work that you people accomplished.
so useful and i am happy to use it.
thanks
best regards
vikal acharya
vikal
on 2009-08-24 13:16:29
hi
i have used your code to convert <!----> into html entities..
but it does not work neither it return what i need.
i have used your code as it descripted in examples
like this
function htmlentities (string) {
// Convert all applicable characters to HTML entities
//
// version: 907.503
// discuss at: http://phpjs.org/functions/htmlentities
// + original by: Kevin van Zonneveld (http://kevin.vanzonneveld.net)
// + revised by: Kevin van Zonneveld (http://kevin.vanzonneveld.net)
// + improved by: nobbler
// + tweaked by: Jack
// + bugfixed by: Onno Marsman
// + revised by: Kevin van Zonneveld (http://kevin.vanzonneveld.net)
// + bugfixed by: Brett Zamir (http://brett-zamir.me)
// + input by: Ratheous
// - depends on: get_html_translation_table
// * example 1: htmlentities('Kevin & van Zonneveld');
// * returns 1: 'Kevin & van Zonneveld'
// * example 2: htmlentities("foo'bar","ENT_QUOTES");
// * returns 2: 'foo'bar'
var hash_map = {}, symbol = '', tmp_str = '', entity = '';
tmp_str = string.toString();
if (false === (hash_map = this.get_html_translation_table('HTML_ENTITIES', 'ENT_COMPAT'))) {
return false;
}
for (symbol in hash_map) {
entity = hash_map[symbol];
tmp_str = tmp_str.split(symbol).join(entity);
}
return tmp_str;
}
including function get_html_translation_table() as it is
so would you mind telling how does it works
waiting for your response
best regards
vikal acharya
Kevin van Zonneveld
on 2009-03-22 18:59:01
@ Bjorn Roesbeke: I've added your testcase, but it succeeds. Are you sure you're running the latest version?
Bjorn Roesbeke
on 2009-03-04 21:53:40
F.e. a single quote with entity ' isn't converted correctly.
htmlentities("foo'bar","ENT_QUOTES");
will return foo&#039;
Kevin van Zonneveld
on 2008-09-13 15:39:08
@ nobbler: Haha, ok, well still adding the var. Thank you!
nobbler
on 2008-09-11 10:15:30
using 'var i' instead of only 'i' in the for loop could prevent from overwriting global 'i', even though no one should use it. But well, i did, and found another error on that way, so it kinda helpt me :)
Nietzsche's Tears
on 2008-05-15 22:22:57
Tested on Safari 3.1.1 and Firefox <IP_ADDRESS>. Function fails to convert "copyright" and "registered" symbols to their equivalent HTML entities.
Kevin van Zonneveld
on 2008-03-15 11:54:04
@ john: A new function, great! Thanks a lot john!
john
on 2008-03-15 06:20:53
here is the reverse function
( html_entity_decode() )
function html_entity_decode(str) {
//jd-tech.net
var tarea=document.createElement('textarea');
tarea.innerHTML = str; return tarea.value;
tarea.parentNode.removeChild(tarea);
}