|
Bouncy Castle Cryptography Library 1.46 | ||||||||
| PREV NEXT | FRAMES NO FRAMES |
| org.bouncycastle.* |
|---|
| org.bouncycastle.asn1.ASN1Encodable | ||
|---|---|---|
public static final java.lang.String |
BER |
"BER" |
public static final java.lang.String |
DER |
"DER" |
| org.bouncycastle.asn1.DERTags | ||
|---|---|---|
public static final int |
APPLICATION |
64 |
public static final int |
BIT_STRING |
3 |
public static final int |
BMP_STRING |
30 |
public static final int |
BOOLEAN |
1 |
public static final int |
CONSTRUCTED |
32 |
public static final int |
ENUMERATED |
10 |
public static final int |
EXTERNAL |
8 |
public static final int |
GENERAL_STRING |
27 |
public static final int |
GENERALIZED_TIME |
24 |
public static final int |
GRAPHIC_STRING |
25 |
public static final int |
IA5_STRING |
22 |
public static final int |
INTEGER |
2 |
public static final int |
NULL |
5 |
public static final int |
NUMERIC_STRING |
18 |
public static final int |
OBJECT_IDENTIFIER |
6 |
public static final int |
OCTET_STRING |
4 |
public static final int |
PRINTABLE_STRING |
19 |
public static final int |
SEQUENCE |
16 |
public static final int |
SEQUENCE_OF |
16 |
public static final int |
SET |
17 |
public static final int |
SET_OF |
17 |
public static final int |
T61_STRING |
20 |
public static final int |
TAGGED |
128 |
public static final int |
UNIVERSAL_STRING |
28 |
public static final int |
UTC_TIME |
23 |
public static final int |
UTF8_STRING |
12 |
public static final int |
VIDEOTEX_STRING |
21 |
public static final int |
VISIBLE_STRING |
26 |
| org.bouncycastle.asn1.cmp.PKIBody | ||
|---|---|---|
public static final int |
TYPE_CA_KEY_UPDATE_ANN |
15 |
public static final int |
TYPE_CERT_ANN |
16 |
public static final int |
TYPE_CERT_CONFIRM |
24 |
public static final int |
TYPE_CERT_REP |
3 |
public static final int |
TYPE_CERT_REQ |
2 |
public static final int |
TYPE_CONFIRM |
19 |
public static final int |
TYPE_CRL_ANN |
18 |
public static final int |
TYPE_CROSS_CERT_REP |
14 |
public static final int |
TYPE_CROSS_CERT_REQ |
13 |
public static final int |
TYPE_ERROR |
23 |
public static final int |
TYPE_GEN_MSG |
21 |
public static final int |
TYPE_GEN_REP |
22 |
public static final int |
TYPE_INIT_REP |
1 |
public static final int |
TYPE_INIT_REQ |
0 |
public static final int |
TYPE_KEY_RECOVERY_REP |
10 |
public static final int |
TYPE_KEY_RECOVERY_REQ |
9 |
public static final int |
TYPE_KEY_UPDATE_REP |
8 |
public static final int |
TYPE_KEY_UPDATE_REQ |
7 |
public static final int |
TYPE_NESTED |
20 |
public static final int |
TYPE_P10_CERT_REQ |
4 |
public static final int |
TYPE_POLL_REP |
26 |
public static final int |
TYPE_POLL_REQ |
25 |
public static final int |
TYPE_POPO_CHALL |
5 |
public static final int |
TYPE_POPO_REP |
6 |
public static final int |
TYPE_REVOCATION_ANN |
17 |
public static final int |
TYPE_REVOCATION_REP |
12 |
public static final int |
TYPE_REVOCATION_REQ |
11 |
| org.bouncycastle.asn1.cmp.PKIFailureInfo | ||
|---|---|---|
public static final int |
ADD_INFO_NOT_AVAILABLE |
4194304 |
public static final int |
addInfoNotAvailable |
4194304 |
public static final int |
BAD_ALG |
128 |
public static final int |
BAD_CERT_ID |
8 |
public static final int |
BAD_DATA_FORMAT |
4 |
public static final int |
BAD_MESSAGE_CHECK |
64 |
public static final int |
BAD_POP |
16384 |
public static final int |
BAD_REQUEST |
32 |
public static final int |
BAD_TIME |
16 |
public static final int |
badAlg |
128 |
public static final int |
badCertId |
8 |
public static final int |
badCertTemplate |
1048576 |
public static final int |
badDataFormat |
4 |
public static final int |
badMessageCheck |
64 |
public static final int |
badPOP |
16384 |
public static final int |
badRecipientNonce |
1024 |
public static final int |
badRequest |
32 |
public static final int |
badSenderNonce |
2097152 |
public static final int |
badTime |
16 |
public static final int |
certConfirmed |
4096 |
public static final int |
certRevoked |
8192 |
public static final int |
duplicateCertReq |
536870912 |
public static final int |
INCORRECT_DATA |
1 |
public static final int |
incorrectData |
1 |
public static final int |
MISSING_TIME_STAMP |
32768 |
public static final int |
missingTimeStamp |
32768 |
public static final int |
notAuthorized |
65536 |
public static final int |
signerNotTrusted |
524288 |
public static final int |
SYSTEM_FAILURE |
1073741824 |
public static final int |
systemFailure |
1073741824 |
public static final int |
systemUnavail |
-2147483648 |
public static final int |
TIME_NOT_AVAILABLE |
512 |
public static final int |
timeNotAvailable |
512 |
public static final int |
transactionIdInUse |
262144 |
public static final int |
UNACCEPTED_EXTENSION |
8388608 |
public static final int |
UNACCEPTED_POLICY |
256 |
public static final int |
unacceptedExtension |
8388608 |
public static final int |
unacceptedPolicy |
256 |
public static final int |
unsupportedVersion |
131072 |
public static final int |
WRONG_AUTHORITY |
2 |
public static final int |
wrongAuthority |
2 |
public static final int |
wrongIntegrity |
2048 |
| org.bouncycastle.asn1.cmp.PKIHeader | ||
|---|---|---|
public static final int |
CMP_1999 |
1 |
public static final int |
CMP_2000 |
2 |
| org.bouncycastle.asn1.cmp.PKIStatus | ||
|---|---|---|
public static final int |
GRANTED |
0 |
public static final int |
GRANTED_WITH_MODS |
1 |
public static final int |
KEY_UPDATE_WARNING |
6 |
public static final int |
REJECTION |
2 |
public static final int |
REVOCATION_NOTIFICATION |
5 |
public static final int |
REVOCATION_WARNING |
4 |
public static final int |
WAITING |
3 |
| org.bouncycastle.asn1.crmf.PKIArchiveOptions | ||
|---|---|---|
public static final int |
archiveRemGenPrivKey |
2 |
public static final int |
encryptedPrivKey |
0 |
public static final int |
keyGenParameters |
1 |
| org.bouncycastle.asn1.crmf.POPOPrivKey | ||
|---|---|---|
public static final int |
agreeMAC |
3 |
public static final int |
dhMAC |
2 |
public static final int |
encryptedKey |
4 |
public static final int |
subsequentMessage |
1 |
public static final int |
thisMessage |
0 |
| org.bouncycastle.asn1.crmf.ProofOfPossession | ||
|---|---|---|
public static final int |
TYPE_KEY_AGREEMENT |
3 |
public static final int |
TYPE_KEY_ENCIPHERMENT |
2 |
public static final int |
TYPE_RA_VERIFIED |
0 |
public static final int |
TYPE_SIGNING_KEY |
1 |
| org.bouncycastle.asn1.cryptopro.CryptoProObjectIdentifiers | ||
|---|---|---|
public static final java.lang.String |
GOST_id |
"1.2.643.2.2" |
| org.bouncycastle.asn1.icao.LDSSecurityObject | ||
|---|---|---|
public static final int |
ub_DataGroups |
16 |
| org.bouncycastle.asn1.isismtt.ocsp.RequestedCertificate | ||
|---|---|---|
public static final int |
attributeCertificate |
1 |
public static final int |
certificate |
-1 |
public static final int |
publicKeyCertificate |
0 |
| org.bouncycastle.asn1.isismtt.x509.DeclarationOfMajority | ||
|---|---|---|
public static final int |
dateOfBirth |
2 |
public static final int |
fullAgeAtCountry |
1 |
public static final int |
notYoungerThan |
0 |
| org.bouncycastle.asn1.misc.NetscapeCertType | ||
|---|---|---|
public static final int |
objectSigning |
16 |
public static final int |
objectSigningCA |
1 |
public static final int |
reserved |
8 |
public static final int |
smime |
32 |
public static final int |
smimeCA |
2 |
public static final int |
sslCA |
4 |
public static final int |
sslClient |
128 |
public static final int |
sslServer |
64 |
| org.bouncycastle.asn1.ocsp.OCSPObjectIdentifiers | ||
|---|---|---|
public static final java.lang.String |
pkix_ocsp |
"<IP_ADDRESS>.<IP_ADDRESS>.1" |
| org.bouncycastle.asn1.ocsp.OCSPResponseStatus | ||
|---|---|---|
public static final int |
INTERNAL_ERROR |
2 |
public static final int |
MALFORMED_REQUEST |
1 |
public static final int |
SIG_REQUIRED |
5 |
public static final int |
SUCCESSFUL |
0 |
public static final int |
TRY_LATER |
3 |
public static final int |
UNAUTHORIZED |
6 |
| org.bouncycastle.asn1.pkcs.PKCSObjectIdentifiers | ||
|---|---|---|
public static final java.lang.String |
id_spq |
"1.2.840.1135<IP_ADDRESS>.5" |
public static final java.lang.String |
pkcs_7 |
"1.2.840.113549.1.7" |
| org.bouncycastle.asn1.tsp.Accuracy | ||
|---|---|---|
protected static final int |
MAX_MICROS |
999 |
protected static final int |
MAX_MILLIS |
999 |
protected static final int |
MIN_MICROS |
1 |
protected static final int |
MIN_MILLIS |
1 |
| org.bouncycastle.asn1.x509.CRLReason | ||
|---|---|---|
public static final int |
AA_COMPROMISE |
10 |
public static final int |
aACompromise |
10 |
public static final int |
AFFILIATION_CHANGED |
3 |
public static final int |
affiliationChanged |
3 |
public static final int |
CA_COMPROMISE |
2 |
public static final int |
cACompromise |
2 |
public static final int |
CERTIFICATE_HOLD |
6 |
public static final int |
certificateHold |
6 |
public static final int |
CESSATION_OF_OPERATION |
5 |
public static final int |
cessationOfOperation |
5 |
public static final int |
KEY_COMPROMISE |
1 |
public static final int |
keyCompromise |
1 |
public static final int |
PRIVILEGE_WITHDRAWN |
9 |
public static final int |
privilegeWithdrawn |
9 |
public static final int |
REMOVE_FROM_CRL |
8 |
public static final int |
removeFromCRL |
8 |
public static final int |
superseded |
4 |
public static final int |
SUPERSEDED |
4 |
public static final int |
unspecified |
0 |
public static final int |
UNSPECIFIED |
0 |
| org.bouncycastle.asn1.x509.DisplayText | ||
|---|---|---|
public static final int |
CONTENT_TYPE_BMPSTRING |
1 |
public static final int |
CONTENT_TYPE_IA5STRING |
0 |
public static final int |
CONTENT_TYPE_UTF8STRING |
2 |
public static final int |
CONTENT_TYPE_VISIBLESTRING |
3 |
public static final int |
DISPLAY_TEXT_MAXIMUM_SIZE |
200 |
| org.bouncycastle.asn1.x509.DistributionPointName | ||
|---|---|---|
public static final int |
FULL_NAME |
0 |
public static final int |
NAME_RELATIVE_TO_CRL_ISSUER |
1 |
| org.bouncycastle.asn1.x509.GeneralName | ||
|---|---|---|
public static final int |
directoryName |
4 |
public static final int |
dNSName |
2 |
public static final int |
ediPartyName |
5 |
public static final int |
iPAddress |
7 |
public static final int |
otherName |
0 |
public static final int |
registeredID |
8 |
public static final int |
rfc822Name |
1 |
public static final int |
uniformResourceIdentifier |
6 |
public static final int |
x400Address |
3 |
| org.bouncycastle.asn1.x509.IetfAttrSyntax | ||
|---|---|---|
public static final int |
VALUE_OCTETS |
1 |
public static final int |
VALUE_OID |
2 |
public static final int |
VALUE_UTF8 |
3 |
| org.bouncycastle.asn1.x509.KeyUsage | ||
|---|---|---|
public static final int |
cRLSign |
2 |
public static final int |
dataEncipherment |
16 |
public static final int |
decipherOnly |
32768 |
public static final int |
digitalSignature |
128 |
public static final int |
encipherOnly |
1 |
public static final int |
keyAgreement |
8 |
public static final int |
keyCertSign |
4 |
public static final int |
keyEncipherment |
32 |
public static final int |
nonRepudiation |
64 |
| org.bouncycastle.asn1.x509.ObjectDigestInfo | ||
|---|---|---|
public static final int |
otherObjectDigest |
2 |
public static final int |
publicKey |
0 |
public static final int |
publicKeyCert |
1 |
| org.bouncycastle.asn1.x509.ReasonFlags | ||
|---|---|---|
public static final int |
AA_COMPROMISE |
32768 |
public static final int |
aACompromise |
32768 |
public static final int |
AFFILIATION_CHANGED |
16 |
public static final int |
affiliationChanged |
16 |
public static final int |
CA_COMPROMISE |
32 |
public static final int |
cACompromise |
32 |
public static final int |
CERTIFICATE_HOLD |
2 |
public static final int |
certificateHold |
2 |
public static final int |
CESSATION_OF_OPERATION |
4 |
public static final int |
cessationOfOperation |
4 |
public static final int |
KEY_COMPROMISE |
64 |
public static final int |
keyCompromise |
64 |
public static final int |
PRIVILEGE_WITHDRAWN |
1 |
public static final int |
privilegeWithdrawn |
1 |
public static final int |
superseded |
8 |
public static final int |
SUPERSEDED |
8 |
public static final int |
unused |
128 |
public static final int |
UNUSED |
128 |
| org.bouncycastle.asn1.x509.Target | ||
|---|---|---|
public static final int |
targetGroup |
1 |
public static final int |
targetName |
0 |
| org.bouncycastle.asn1.x509.X509ObjectIdentifiers | ||
|---|---|---|
public static final java.lang.String |
id |
"2.5.4" |
| org.bouncycastle.asn1.x509.qualified.TypeOfBiometricData | ||
|---|---|---|
public static final int |
HANDWRITTEN_SIGNATURE |
1 |
public static final int |
PICTURE |
0 |
| org.bouncycastle.crypto.encodings.PKCS1Encoding | ||
|---|---|---|
public static final java.lang.String |
STRICT_LENGTH_ENABLED_PROPERTY |
"org.bouncycastle.pkcs1.strict" |
| org.bouncycastle.crypto.engines.CAST5Engine | ||
|---|---|---|
protected static final int |
BLOCK_SIZE |
8 |
protected static final int |
M32 |
-1 |
protected static final int |
MAX_ROUNDS |
16 |
protected static final int |
RED_ROUNDS |
12 |
| org.bouncycastle.crypto.engines.CAST6Engine | ||
|---|---|---|
protected static final int |
BLOCK_SIZE |
16 |
protected static final int |
ROUNDS |
12 |
| org.bouncycastle.crypto.engines.DESedeEngine | ||
|---|---|---|
protected static final int |
BLOCK_SIZE |
8 |
| org.bouncycastle.crypto.engines.DESEngine | ||
|---|---|---|
protected static final int |
BLOCK_SIZE |
8 |
| org.bouncycastle.crypto.engines.GOST28147Engine | ||
|---|---|---|
protected static final int |
BLOCK_SIZE |
8 |
| org.bouncycastle.crypto.engines.IDEAEngine | ||
|---|---|---|
protected static final int |
BLOCK_SIZE |
8 |
| org.bouncycastle.crypto.engines.NullEngine | ||
|---|---|---|
protected static final int |
BLOCK_SIZE |
1 |
| org.bouncycastle.crypto.generators.PKCS12ParametersGenerator | ||
|---|---|---|
public static final int |
IV_MATERIAL |
2 |
public static final int |
KEY_MATERIAL |
1 |
public static final int |
MAC_MATERIAL |
3 |
| org.bouncycastle.crypto.params.DESedeParameters | ||
|---|---|---|
public static final int |
DES_EDE_KEY_LENGTH |
24 |
| org.bouncycastle.crypto.params.DESParameters | ||
|---|---|---|
public static final int |
DES_KEY_LENGTH |
8 |
| org.bouncycastle.crypto.signers.ISO9796d2PSSSigner | ||
|---|---|---|
public static final int |
TRAILER_IMPLICIT |
188 |
public static final int |
TRAILER_RIPEMD128 |
13004 |
public static final int |
TRAILER_RIPEMD160 |
12748 |
public static final int |
TRAILER_SHA1 |
13260 |
| org.bouncycastle.crypto.signers.ISO9796d2Signer | ||
|---|---|---|
public static final int |
TRAILER_IMPLICIT |
188 |
public static final int |
TRAILER_RIPEMD128 |
13004 |
public static final int |
TRAILER_RIPEMD160 |
12748 |
public static final int |
TRAILER_SHA1 |
13260 |
public static final int |
TRAILER_SHA256 |
13516 |
public static final int |
TRAILER_SHA384 |
14028 |
public static final int |
TRAILER_SHA512 |
13772 |
public static final int |
TRAILER_WHIRLPOOL |
14284 |
| org.bouncycastle.crypto.signers.PSSSigner | ||
|---|---|---|
public static final byte |
TRAILER_IMPLICIT |
-68 |
| org.bouncycastle.crypto.tls.AlertDescription | ||
|---|---|---|
public static final short |
access_denied |
49 |
public static final short |
bad_certificate |
42 |
public static final short |
bad_certificate_hash_value |
114 |
public static final short |
bad_certificate_status_response |
113 |
public static final short |
bad_record_mac |
20 |
public static final short |
certificate_expired |
45 |
public static final short |
certificate_revoked |
44 |
public static final short |
certificate_unknown |
46 |
public static final short |
certificate_unobtainable |
111 |
public static final short |
close_notify |
0 |
public static final short |
decode_error |
50 |
public static final short |
decompression_failure |
30 |
public static final short |
decrypt_error |
51 |
public static final short |
decryption_failed |
21 |
public static final short |
export_restriction |
60 |
public static final short |
handshake_failure |
40 |
public static final short |
illegal_parameter |
47 |
public static final short |
insufficient_security |
71 |
public static final short |
internal_error |
80 |
public static final short |
no_renegotiation |
100 |
public static final short |
protocol_version |
70 |
public static final short |
record_overflow |
22 |
public static final short |
unexpected_message |
10 |
public static final short |
unknown_ca |
48 |
public static final short |
unknown_psk_identity |
115 |
public static final short |
unrecognized_name |
112 |
public static final short |
unsupported_certificate |
43 |
public static final short |
unsupported_extension |
110 |
public static final short |
user_canceled |
90 |
| org.bouncycastle.crypto.tls.AlertLevel | ||
|---|---|---|
public static final short |
fatal |
2 |
public static final short |
warning |
1 |
| org.bouncycastle.crypto.tls.ClientCertificateType | ||
|---|---|---|
public static final short |
dss_fixed_dh |
4 |
public static final short |
dss_sign |
2 |
public static final short |
ecdsa_fixed_ecdh |
66 |
public static final short |
ecdsa_sign |
64 |
public static final short |
rsa_fixed_dh |
3 |
public static final short |
rsa_fixed_ecdh |
65 |
public static final short |
rsa_sign |
1 |
| org.bouncycastle.crypto.tls.CompressionMethod | ||
|---|---|---|
public static final short |
DEFLATE |
1 |
public static final short |
NULL |
0 |
| org.bouncycastle.crypto.tls.ContentType | ||
|---|---|---|
public static final short |
alert |
21 |
public static final short |
application_data |
23 |
public static final short |
change_cipher_spec |
20 |
public static final short |
handshake |
22 |
| org.bouncycastle.crypto.tls.DigestAlgorithm | ||
|---|---|---|
public static final int |
MD5 |
1 |
public static final int |
NULL |
0 |
public static final int |
SHA |
2 |
public static final int |
SHA256 |
3 |
public static final int |
SHA384 |
4 |
| org.bouncycastle.crypto.tls.ECCurveType | ||
|---|---|---|
public static final short |
explicit_char2 |
2 |
public static final short |
explicit_prime |
1 |
public static final short |
named_curve |
3 |
| org.bouncycastle.crypto.tls.ECPointFormat | ||
|---|---|---|
public static final short |
ansiX962_compressed_char2 |
2 |
public static final short |
ansiX962_compressed_prime |
1 |
public static final short |
uncompressed |
0 |
| org.bouncycastle.crypto.tls.EncryptionAlgorithm | ||
|---|---|---|
public static final int |
_3DES_EDE_CBC |
7 |
public static final int |
AES_128_CBC |
8 |
public static final int |
AES_128_GCM |
10 |
public static final int |
AES_256_CBC |
9 |
public static final int |
AES_256_GCM |
11 |
public static final int |
DES_CBC |
6 |
public static final int |
DES40_CBC |
5 |
public static final int |
IDEA_CBC |
4 |
public static final int |
NULL |
0 |
public static final int |
RC2_CBC_40 |
3 |
public static final int |
RC4_128 |
2 |
public static final int |
RC4_40 |
1 |
| org.bouncycastle.crypto.tls.ExtensionType | ||
|---|---|---|
public static final int |
client_certificate_url |
2 |
public static final int |
ec_point_formats |
11 |
public static final int |
elliptic_curves |
10 |
public static final int |
max_fragment_length |
1 |
public static final int |
renegotiation_info |
65281 |
public static final int |
server_name |
0 |
public static final int |
srp |
12 |
public static final int |
status_request |
5 |
public static final int |
truncated_hmac |
4 |
public static final int |
trusted_ca_keys |
3 |
| org.bouncycastle.crypto.tls.HandshakeType | ||
|---|---|---|
public static final short |
certificate |
11 |
public static final short |
certificate_request |
13 |
public static final short |
certificate_verify |
15 |
public static final short |
client_hello |
1 |
public static final short |
client_key_exchange |
16 |
public static final short |
finished |
20 |
public static final short |
hello_request |
0 |
public static final short |
server_hello |
2 |
public static final short |
server_hello_done |
14 |
public static final short |
server_key_exchange |
12 |
| org.bouncycastle.crypto.tls.KeyExchangeAlgorithm | ||
|---|---|---|
public static final int |
DH_anon |
11 |
public static final int |
DH_anon_EXPORT |
12 |
public static final int |
DH_DSS |
7 |
public static final int |
DH_DSS_EXPORT |
8 |
public static final int |
DH_RSA |
9 |
public static final int |
DH_RSA_EXPORT |
10 |
public static final int |
DHE_DSS |
3 |
public static final int |
DHE_DSS_EXPORT |
4 |
public static final int |
DHE_PSK |
14 |
public static final int |
DHE_RSA |
5 |
public static final int |
DHE_RSA_EXPORT |
6 |
public static final int |
ECDH_anon |
20 |
public static final int |
ECDH_ECDSA |
16 |
public static final int |
ECDH_RSA |
18 |
public static final int |
ECDHE_ECDSA |
17 |
public static final int |
ECDHE_RSA |
19 |
public static final int |
NULL |
0 |
public static final int |
PSK |
13 |
public static final int |
RSA |
1 |
public static final int |
RSA_EXPORT |
2 |
public static final int |
RSA_PSK |
15 |
public static final int |
SRP |
21 |
public static final int |
SRP_DSS |
22 |
public static final int |
SRP_RSA |
23 |
| org.bouncycastle.crypto.tls.NamedCurve | ||
|---|---|---|
public static final int |
arbitrary_explicit_char2_curves |
65282 |
public static final int |
arbitrary_explicit_prime_curves |
65281 |
public static final int |
secp160k1 |
15 |
public static final int |
secp160r1 |
16 |
public static final int |
secp160r2 |
17 |
public static final int |
secp192k1 |
18 |
public static final int |
secp192r1 |
19 |
public static final int |
secp224k1 |
20 |
public static final int |
secp224r1 |
21 |
public static final int |
secp256k1 |
22 |
public static final int |
secp256r1 |
23 |
public static final int |
secp384r1 |
24 |
public static final int |
secp521r1 |
25 |
public static final int |
sect163k1 |
1 |
public static final int |
sect163r1 |
2 |
public static final int |
sect163r2 |
3 |
public static final int |
sect193r1 |
4 |
public static final int |
sect193r2 |
5 |
public static final int |
sect233k1 |
6 |
public static final int |
sect233r1 |
7 |
public static final int |
sect239k1 |
8 |
public static final int |
sect283k1 |
9 |
public static final int |
sect283r1 |
10 |
public static final int |
sect409k1 |
11 |
public static final int |
sect409r1 |
12 |
public static final int |
sect571k1 |
13 |
public static final int |
sect571r1 |
14 |
| org.bouncycastle.math.ec.ECFieldElement.F2m | ||
|---|---|---|
public static final int |
GNB |
1 |
public static final int |
PPB |
3 |
public static final int |
TPB |
2 |
| org.bouncycastle.math.ec.test.ECPointPerformanceTest | ||
|---|---|---|
public static final int |
NUM_ROUNDS |
100 |
| org.bouncycastle.util.encoders.test.EncoderTest | ||
|---|---|---|
public static final boolean |
DEBUG |
true |
|
Bouncy Castle Cryptography Library 1.46 | ||||||||
| PREV NEXT | FRAMES NO FRAMES |


England squad have moved on from Sterling and Gomez spat – Maguire
The Manchester United defender does not believe there are any cliques in the squad.
Harry Maguire insists there are no cliques in the England camp as the squad look to move on from Monday’s spat between Raheem Sterling and Joe Gomez.
Three Lions boss Gareth Southgate has prided himself on removing any lingering issues between players from rival clubs when they meet up for international duty.
But a fracas in the week leading up to England’s 1000th fixture – a Euro 2020 qualifier at home to Montenegro where a draw would be enough to secure progression to the finals – saw questions asked as to whether those divides had returned.
Sterling’s exchange with Liverpool defender Gomez less than 24 hours after the pair clashed towards the end of Manchester City’s 3-1 loss to the Premier League leaders has dominated the build up to the landmark fixture.
With club rivalry spilling out into international week, suggestions that splits in the camp may exist were extinguished by Maguire on the eve of the game.
“No, everybody mixes,” the Manchester United defender replied when asked if there were any cliques in the current squad.
“I think you’ve seen how good the unity in the squad is over the last couple of years.
He's apologised and like I've said and like Gareth has said, we've moved on from it now, we're not looking at thatHarry Maguire
“It’s been a good two years and the group has grown together. We continue to keep on growing and that’s really important.
“No, definitely no cliques, we all share tables and share jokes and laughs together.
“I think you’ve seen in Raheem’s statement (issued after the clash with Gomez) that he’s brought out, that the emotion probably got the better of him.
“He’s apologised and like I’ve said and like Gareth has said, we’ve moved on from it now, we’re not looking at that.
“We’ve moved on since Monday and we’ve trained hard; fully focused on the game because it’s a big game. We want to qualify for the Euros. And that’s what we’re aiming to do now.”
“It would be really special to play in a major tournament and walking out at Wembley would be something that you dream of,” he added.
“People say it would give us a little advantage as well. We know that the crowd get right behind us at Wembley and the support over the last few years – especially since I’ve been playing – has been unbelievable.
“It’s a big game tomorrow night and one that we’re all looking forward to and we feel prepared for.”


So, in creating a new, online "Student Counsel," I think that we can enforce the ideas of the VT-Shaped Student better than press releases and speeches. This is a way for students to interact and build each other up, directly.
This is the point of our class; digital media. Something that is spreading its influence over the world rapidly, and learning how to use it to our advantage is in everyone's best interest. So let's build better students at the same time.


(extensions in package net.corda.v5.base.util)
Base58 is a way to encode Bitcoin addresses (or arbitrary data) as alphanumeric strings.
(extensions in package net.corda.v5.base.types)
(extensions in package net.corda.v5.base.util)
An abstraction of a byte array, with offset and size that does no copying of bytes unless asked to.
These methods and annotations are not part of Corda's API compatibility guarantee and applications should not use them.
This annotation is a marker to indicate that a class is permitted and intended to be serialized as part of Node messaging.
A Cursor is a stream that emits elements of type T, providing poll as the mechanism to retrieve elements.
This annotation is for interfaces and abstract classes that provide Corda functionality
to user applications. Future versions of Corda may add new methods to such interfaces and
classes, but will not remove or modify existing methods.
A DurableCursor is a stream that emits elements of type T and provides management functions to maintain durability across application
restarts.
Responsible for building DurableCursor, allowing to assign values to mutable properties before method
build is called.
Extension of DurableCursor which hints that returned stream will be finite, i.e. it will have an end.
Also finite cursors indicate that a full result set is available on the server side and the client can consume the whole result at their
convenience.
Responsible for building FiniteDurableCursor, allowing to assign values to mutable properties before method
build is called.
(extensions in package net.corda.v5.base.concurrent)
(extensions in package net.corda.v5.base.util)
(extensions in package net.corda.v5.base.util)
(extensions in package net.corda.v5.base.util)
(extensions in package net.corda.v5.base.stream)
Tuple of host and port. Use NetworkHostAndPort.parse on untrusted data.
A simple class that wraps a byte array and makes the equals/hashCode/toString methods work as you actually expect.
In an ideal JVM this would be a value type and be completely overhead free. Project Valhalla is adding such
functionality to Java, but it won't arrive for a few years yet!
Class is public for serialization purposes.
Responsible for storage and retrieval of the current position used by DurableCursor
By current position we mean position that has been already consumed and entities associated with this position
processed.
Simple interface encapsulating the implicit Kotlin contract for immutable property delegates.
Used to annotate methods which expose calculated values that we want to be serialized for use by the class carpenter.
(extensions in package net.corda.v5.base.types)
(extensions in package net.corda.v5.base.util)
Marks a method as suspendable.
Representation of an operation that has either succeeded with a result (represented by Success) or failed with an
exception (represented by Failure).
Simple interface encapsulating the implicit Kotlin contract for mutable property delegates.
The annotated object would have a more restricted visibility were it not needed in tests.


Cornelia: Comes from the Latin "cornu", "horn". Might also be from "Cornelius", which means "strong" or "wise". (Thanks to Damian Maxwell.)
Elfheim: From Michael Robinson: This refers to the Realm of the Elven race in Norse mythology. Jason Maurer mentions that it "was actually two places, there was Alfheim, the land of the light elves, and Svartalfheim, land of the dark elves both of Nordic Mythology. Though due to the name, it was probably based on Alfheim."
Gaia: The town in the northeast in this game; it can be reached only with the airship. "Gaia" means Earth; she was the earth goddess who married Uranus, god of the heavens. The word is best known from James Lovelock's Gaia Hypothesis, which treats the Earth as a self-sustaining organism. In the latest FF vocal CD, the main theme of FF1 is called "Gaia" (and mentions Lovelock in the liner notes!). Also, FF6 features Gaea Gear (an alternate spelling).
Mt. Duergar (1): Cain Highwind quotes the following from a Dungeons and Dragons trading card: "The duergar, or grey dwarves, are a malevolent breed that dwells in the extreme depths of the ground... They detest other races of dwarves, whom they consider weak."
Mark Scrudder says the Duergar are "originally from Gotho-German mythology, being a type of subterranean earth spirit. Duergar are short with short legs, but very long arms which almost reach to the ground even when they're standing straight. They are expert craftsmen, but are very vulgar and base in nature and personality."
Altair: From Yama dev/null: Brightest star of Aquila, means "the Bird" or "the Eagle" in Arabic.
Arubboth (GBA): From Moggy: "Comes from the Hebrew 'Araboth', meaning 'deserts' or 'plains'. It is, appropriately enough, the highest Heaven, just as Arubboth is said to be the palace of Heaven in the game." "Arubboth" is also Hebrew for "windows" and is referenced e.g. in the account of Noah's flood, where the "windows of heaven opened".
Leviathan: See Summons.
Machanon (GBA): From Moggy: "Likely comes from the Hebrew 'Makon' which can be translated either as 'city' or 'established place', and is the second highest level of Heaven." It may also come from "Machaneh", Hebrew for "camp".
Mysidia: See Mysidia (FF4).
Pandaemonium is the last castle. The name "Pandemonium" originates with Milton's Paradise Lost; it's the city built by Lucifer and his followers after the Fall.
Raqia (GBA): From Moggy: This is Hebrew for "firmament" or "expanse". It is also the name of the second lowest level of Heaven in Kabbalistic tradition and though I can't find the source for it anymore, I heard once it is the level where fallen angels are punished and imprisoned, similar to the Light Emperor's description of Raqia when the party meets him.
Salamand is probably taken (as an opposite) from the Salamander - the Salamander is a fire creature, and Salamand is an ice-themed town. See Summons for the entry on Salamander.
Semitt Falls: Originally "Semite Falls". An interesting name. The word Semite means "son of Shem", usually referring to Jews (hence the term "anti-Semite"). However, the -ite also indicates a kind of metal (many metals end in -ite), which is a reference to the Mithril ore found inside. Also, in geological terms a rich mine is called a "seam".
Canaan was the name originally used for the country now called Israel; it's used in the bible.
Eureka: A Greek word meaning "I have found it!" Ostensibly uttered by Archimedes in his bath after discovering the principle of fluid displacement.
Ur: The name of the town Abraham was born in was Ur Kasdim. Since this is the town where the Legendary Heroes hail from, the name is appropriate.
Agart: According to dragonsbrethren, Agart may come from Agartha. A legendary subterranean city in some legends that support the Hollow Earth theory. Quite fitting in that Agart is underground as well.
Baron: A baron was a person of high status and a leader during the Dark Ages. Usually a baron had many people under his rule; thus the castle of Baron is the basis for Golbez's iron fist.
Fabul: Probably from the word "fabulous", indicating the monks' skills.
Mysidia: Hroþgar writes that Mysidia may be a mistransliteration of Mythidia, city of myths.
Troia "Troia" is the Latin word for the city of Troy. The site of the Trojan War, subject of Homer's Iliad, Troy is the starting point for Ulysses' journeys in the Odyssey.
The Tower of Babel: Well, this could be related to the Biblical Tower of Babel. Supposedly humans were building a massive temple, so high that it could reach heaven and the humans could then be on a level with God. God then punished the humans by forcing the inhabitants of each level to speak a different language, and thus nothing could be communicated and the tower couldn't be completed. (Babel is actually a Hebrew word related to the word "balal", "to confuse", since God confused the people of the earth.) Golbez and the Four Emperors were using the Tower to reach the moon in FF4, which parallels the humans' quest to reach God.
Carwen: Javier Alvarado mentions that it could be named after Bizet's opera called "Carmen". Doesn't sound like much, but it's more appealing if you check out this point. 8-)
Karnak: See Library of Ancients (below).
Kelb Village: Joe Mirza mentions that "kelb" is Arabic for "dog", fitting for a town of wolves. 8-)
Library of Ancients: Near a town called Karnak, and the Great Pyramid. Karnak is a town in ancient Egypt, near the Pyramid of Kheops, which may have been near the Great Library of Alexandria. Sir Percival clarifies: "Karnak is indeed a a location in ancient Egypt, although it is not a town, but rather a religious sector of the ancient city of Thebes (modern Luxor), famed for a monumental temple dating from the New Kingdom. Furthermore, it is in Upper Egypt and thus not near the pyramid of Cheops at Giza, nor the library in Alexandria (both of which are in Lower Egypt)."
Mirage: An invisible town; so called because of illusions which appear in deserts, especially to weary travellers, called mirages.
The castle of Tycoon: Lenna's home. A tycoon is someone with a lot of money. In fact, the English word "tycoon" comes from the Japanese "taikun" (meaning prince), but in Japanese, that word isn't spelled the same way as FF5's "Tycoon".
The Veldt: A grassy plain with a few shrubs, usually found in Africa, is called a veld or veldt. It's derived from the Dutch for "field", and came into English by way of Afrikaans. For example, former president Roosevelt's name means "rose-field".
The Lete River, also spelled "Lethe", is the river of oblivion in Greek mythology. It's said that anyone who drinks from its waters will forget their past.
Doma means "home" in Russian (accent on the "ma") which would be nice for a city, but Doma's a castle. However, Doma (accent on "do") is Latin for house, so this may be more relevant. Probably where the English word "domicile" comes from.
Thamasa: comes from a Sanskrit word meanig "to one in the mode of darkness". Thanks to mercelloziliotto for this info.
Vector: A vector is a term in algebra/geometry denoting something which has both a value (like 8 units) and a direction. It's usually denoted as an arrow. In biology, however, a vector is a creature that transmits a virus. And in astronomy, it's an imaginary line joining the center of a source of gravity to the center of its satellite (like the Sun to the Earth). Make of it what you will. I like the second meaning. 8-)
Wayne sez: "Vector, as stated, is a dual quantity giving both a direction and a magnitude. Thus, the airman's vector gives him both the height to be at, or the speed to be flying at, and the direction he should be travelling. An astronomical vector is identical. The heavy use of airships and nautical themes in FF give this one away."
Costa del Sol is Spanish for 'sun coast'. Joey Martin says there actually is a place in southern Spain called this. 8-)
The main city is named Midgar, just like Midgard in Norse mythology. It means 'middle earth', and was the name of the world of humans.
 Jesse Stewart has an intriguing tidbit: in ancient Norse, its meaning was "home of the clouds".
The crashed Shinra plane, Gelnika, is probably a misspelling of Guernica, the title of a painting by Picasso, depicting the bombing of the Spanish town Guernica by the Nazis, pre- WW2. The bombing was allegedly ordered by the Spanish government. Thanks to neonbaby for clarifying this.
Wutai: From Regann: Wutai is a real mountain in China's Shanxi Province and is sacred to Manjusri, the Bodhisattva of wisdom (Mahayana Buddhism). The mountain is actually a cluster of five terrace-like peaks, which is where it got the name Wutai (it means Five Terraces). It's home to the oldest Buddhist temple in China.
Another place is the Zango Valley, in the north. In the original Japanese version, this was called 'sango' which simply means 'coral'.
Esthar: Possibly farfetched, but the name "Esther" is Hebrew for "hidden", which is exactly what the city of Esthar is. 8-)
Great Salt Lake: There's an actual lake called this in the state of Utah; it's what gives the name to Utah's capital, Salt Lake City.
Lunatic Pandora: Lunatic not only means crazy, the "luna" is Latin for moon (used with the same pun in the old cartoon "Thundercats"); it's called this because it causes a Lunar Cry in the game. In Greek mythology, Pandora was part of a legend; she was given a box by the gods and told not to open it. She couldn't help herself, though, and she opened the box which released all the evils inside it out into the world. (Yet one good thing remained: hope. Recognize this from FF6, anyone?) So the second word would have something to do with chaos. But the basic meaning of this place is two words meaning crazy. (Thanks to Kaleb Fenoir for clarifying this.)
A.L. adds that at one point the moon was said to cause insanity, which is where "lunatic" comes from in the first place.
Shumi Village: Javier Alvarado tells me Shumi means "hobby". Since all the Shumis are denoted by their jobs, it kinda makes sense.
Timber: Well, the word basically means chopped wood, but it's also used to denote the land/forest where the wood comes from. Possibly something to do with pulp-and-paper mills and industry (Timber's the main industrial town in FF8): Remember Timber Maniacs, the magazine?
Trabia: From Regann: "There's an actutal city in Italy called Trabia and derives its name from "al tarbíah" the Arabic word for "the square" which refers to its quadrangular town-planning." Matt Reiss says that the Trebia of ancient Rome was destroyed during the sacking by Hannibal during the Punic Wars. This may be a nod to Trabia Garden's utter destruction.
Burmecia and Cleyra: From Lisa Tsay: "I was reading about Arthurian legend on Wikipedia and stumbled across the names of two cities said to have merged together during the 6th century in Northern England. The two cities are also noted for having been split apart again and then later reuniting. What were the names of these cities? They were called Burnicia and Deira. I think it's easy to conclude this is where the inspiration for the cities Burmecia and Cleyra came from. The similarities between the townspeople of both cities in the game come from the fact that the two cities do have a shared history. Also,the fact that Burmecia lies to the north of Cleyra in the game may be another reference to the two cities as this was the case with them as well."
Conde Petie: From Atma: "Conde" may be similar to "conté", which means "county/country" in French, and "petie" is similar to "petite" - small. Hence "place of the small people", or dwarves. Backing this up is the fact that "The Shire" from Lord of the Rings (populated by diminutive hobbits) translates in French as "la conté". Mangartist expands on this: "The more accurate translation would be "small country/place", not "place of the small people". "Place of the small people" would be like this: "cont´ des peuples petits".
Daguerreo: From Csport66: "A French man named Louis Daguerre was one of the earliest inventors of the modern camera. Perhaps the name "Daguerreo" comes from this. This would make sense, because the Daguerreo town is one full of inventors." Wayne adds: "Definitely named for Luis Louis Daguerre. His method produced what were known as 'daguerreotypes', highly detailed silver iodide based images that took great skill and quite a long exposure time to produce. In FF IX, Daguerro is a place of knowledge and water, but I'm not at all sure what the water theme is representing. Daguerreotyping was a very wet process, so perhaps this is it."
Dali reminds Nora Stevens of Salvador Dali, a well-known painter. The Squaresoft Repository notes that there's a large city in the province of Yunnan in China, called Ta-Li; in one spelling in Mandarin, it's spelt "Dali". Ta-Li means "to rule with orders".
Esto Gaza: "Esto" is Spanish for "this". I think Gaza is based on the English for "gaze", since you can see the Shimmering Island from it. Rose Pseudonym says: "The prefix 'est-' or 'ast-' usually means the word has something to do with stars (from the latin "aster", the Spanish for star is estrella, the French is êtoile [where the ^ sign above a letter means the letter S used to be used]), and Esto Gaza is the place with the religion that concentrates on astronomy and where they worship the stars."
Gaia: See Gaia (FF1).
Gargan/Fossil Roo: Psi Omega notes that Roo is probably a corruption of "rue", French for "road". The Gargan is self-explanatory (the animal is called that), and Fossil is probably because of the fact that the cave is ancient. Wayne hypothesizes that it's probably a reference to Quintana Roo in Mexico, which has a very famous cave system.
Ipsen's Castle: 'Ipsen' is how the Japanese pronounce 'Ibsen', as in the Norwegian playwright Henrik Ibsen. He wrote "A Doll's House" and is "generally acknowledged as the founder of modern prose drama" (http://www.kirjasto.sci.fi/ibsen.htm). (From Nora Stevens.)
Lindblum: Moogle Fan writes: "Lindblum is alternately spelt 'linde blume' and means 'little-leaf flower' in German."
Madain Sari: Red Coral says this may come from the Gaelic word "madain", meaning "morning". However, check In-Series Crossovers for another theory. From vigthetreasurehunter: Madai Salih is a religously and historically important Saudi Arabian city for it being a pilgramage point for many on their way to Mecca.
Oeilvert: French for "Green Eye". Thanks to Sinistral for that info.
Pinnacle Rocks: Pinnacle means "highest point".
Terra: See Characters.
Uaho: From A.L.: I find it interesting that the name of the island where the entrance to Chocobo's Paradise is located is named Uaho. Yes, that IS an anagram for Oahu, and given the Hawaiian theme of the chocobos in the game (Aloha de Chocobo, Ukulele de Chocobo, etc.) I don't think it would be too farfetched to state that it's probably a direct reference.
Baaj Temple: Moogle Fan mentions that it means "to remove" in the Urdu language.
Besaid: Exec thinks it may come from "Betsaida", a village in Galilee where the apostle Peter was born. Jemma Kupo adds: Just as Peter, the follower of God was born, so too Yuna, the follower of Yevon was born. Both were religious figures and both journied from their home towns.
Djose: From Chozo: The temple by Luca is called Djose after the Egyptian city of Djoser.
Kilika: From Thom Yorke: The town of Kilika most likely takes its name from the Latin word for Sicily, which was Cicilia. Since in Latin, all C's are pronounced hard, as K's, it would be logical to change the C's to K's, making Kilikia, and then just drop the i to Kilika. Makes sense as an Island nation!
Luca: Alexander Megius-Keyho says that there's a town in Italy called this. Also, Damian Maxwell says that Lucca is Italian for "light". Uriko_Nonomura tells of an Italian name Luca meaning "born from light". Somewhat of an interesting expansion of the other origins.
Macalania: Moogle Fan says it may come from the Macalani palm tree (doubtful).
Mi'ihen Highroad: From timothy: Mi'ihen may come from Mehen, the Egyptian god of serpents. Possibly in reference to Mi'ihen's long, windy path?
Sanubia Desert: According to thesnake5374, Sanubia may be derived from the Nubian Desert which lies between the Nile and the Red Sea in Egypt.
Spira: Probably from the word "spiral"; Auron has a scene in the game wherein he describes the "spiral of death" taking place in Spira.
Via Purifico: Latin for "road to purification". Similarly Via Infinito (road to infinity). Thanks to Will Weaver.
Zanarkand: From Sir Percival: "This probably takes its name from Samarkand, an ancient (2,500 years old) and still inhabited city in Uzbekistan."
Dynamis: Corwynn says that Dynamis, an high level area, comes from the Greek word for 'power'.
San d'Oria fenrir_the_great_wolf_demon says San d'Oria may come from Italian for 'saint of air'.
Libra Temple: Libra, the scales, is one of the twelve Zodiac signs.
The execution site where Ramza and Gaffgarionduel is called Golgorand... this may have come from Golgotha, the 'killing field' where Christ was crucified.
The Deep Dungeon itself comes from a previous Square game of the same name. It was one of their first releases back in the 1980s, before Final Fantasy even existed. You can check out a shrine here. As for the levels in Deep Dungeon, Sam Volo has this extremely interesting tidbit: "The names of Midlight's Deep levels in FFT appear to be inspired directly by the film, 'Apocalypse Now', and provide basically a summary of the movie's plot in ten words:
Araguay Woods: Probably a mix of two South American countries, Uruguay and Paraguay.
Lionel Castle: Besides for the nod to "lion", Lionel (probably in an unrelated incident) was one of the enemies in the original Legend of Zelda game.
Magic City Gariland: Possibly a nod to Garland of FF1? Moogle Fan sez: "Gariland is an English name meaning 'from the spear-filled land', meaning a place of war, battles, or a community in which training of using spears take place. Magic City Gariland would take form as 'Magic City of Spears'." Kaleb Fenoir adds that Garland can also mean "battlefield".
Cyril: Barnaby Yeh says that the town's name refers to St. Cyril; the saint who introduced the Eastern Orthodox Christian faith to the Slavic people of Eastern Europe. Not about the town itself, but Cain Highwind notes that the name of the pub is The Prancing Chocobo, probably a reference to The Prancing Pony from JRR Tolkien's Lord of the Rings.
Giza Plains: orsquall writes that Giza is the Hebrew word for 'to cut wool' or 'to shear sheep'. This may relate in that a grassy plain is an ideal environment for sheep to dwell.
Gaudium: From Ai's Kareshi: This is Latin for "gladness" or "joy".
Rabena Te Na: fenrir_the_great_wolf_demon tells that Rabena Te Na may come from the 5th layer of the underworld in Polynesian myth. This layer of the underworld is a hellish place of darkness and fire which is appropriate for its game counterpart in that this stage is relatively dark and has fire related puzzles.


'I'll Be Your Father, Friend, Girlfriend... Whatever you Want' - Mourinho To Players
by Peace FM OnlineJose Mourinho gave a passionate opening address to his new players after taking over as Tottenham manager.
The 56-year-old was appointed on Wednesday on a deal until the end of the 2022-23 season and he is looking to hit the ground running at West Ham on Saturday with the club slumped 14th in the Premier League.
Portuguese outlet Record provided insight into Mourinho's speech to his players, where he vowed to 'be your father, friend, girlfriend, whatever you want,' in a bid to turn their poor form around.
Featured Video


Docker Hub Quickstart
Estimated reading time: 2 minutesDocker Hub is a service provided by Docker for finding and sharing container images with your team. It provides the following major features:
- Repositories: Push and pull container images.
- Teams & Organizations: Manage access to private repositories of container images.
- Official Images: Pull and use high-quality container images provided by Docker.
- Publisher Images: Pull and use high- quality container images provided by external vendors. Certified images also include support and guarantee compatibility with Docker Enterprise.
- Builds: Automatically build container images from GitHub and Bitbucket and push them to Docker Hub.
- Webhooks: Trigger actions after a successful push to a repository to integrate Docker Hub with other services.
Step 1: Sign up for Docker Hub
Start by creating an account.
Step 2: Create your first repository
To create a repo:
-
Sign in to Docker Hub.
-
Click on Create a Repository on the Docker Hub welcome page:
-
Name it <your-username>/my-first-repo as shown below. Select Private:
You’ve created your first repo. You should see:
Step 3: Download and install Docker Desktop
We’ll need to download Docker Desktop to build and push a container image to Docker Hub.
-
Download and install Docker Desktop. If on Linux, download Docker Engine - Community.
-
Open the terminal and sign in to Docker Hub on your computer by running
docker login
.
Step 4: Build and push a container image to Docker Hub from your computer
- Start by creating a Dockerfile
to specify your application as shown below:
cat > Dockerfile <<EOF FROM busybox CMD echo "Hello world! This is my first Docker image." EOF
-
Run
docker build -t <your_username>/my-first-repo .
to build your Docker image. -
Test your docker image locally by running
docker run <your_username>/my-first-repo
. -
Run
docker push <your_username>/my-first-repo
to push your Docker image to Docker Hub.You should see output similar to:
And in Docker Hub, your repository should have a new
latest
tag available under Tags:
Congratulations! You’ve successfully:
- Signed up for Docker Hub
- Created your first repository
- Built a Docker container image on your computer
- Pushed it to Docker Hub
Next steps
- Create an organization to use Docker Hub with your team.
- Automatically build container images from code through builds.
- Explore official & publisher images.
- Upgrade your plan to push additional private Docker images to Docker Hub.


Luxury cars - once and now!
Nowadays, there are super cars and the degree of adaptation and personalization that can fulfill all your wishes. The most famous brands of luxury cars are Mercedes-Benz, Lamborghini, Infinity, BMW and Aston Martin, each of which has its own unique personality and features, with one common factor - luxury. Car enthusiasts have always been divided into two main classes - there are those who like older cars, and those who love everything new and modern. The perennial dilemma of all car lovers is the choice between classic, oldschool models and new futuristic, elegant and primarily luxury cars.
One very awkward question is: Which of these models are better, which are more important,
which are more luxurious? The answer is very difficult to come by. Older cars are a part of history and will always remain one's pets, and can be attributed some of the credit for the existence of these new, ultra-modern models. Modern cars are in progress with technology and look into the future, providing us with a more comfortable and safe ride. In the end, we must accept that the "victory" of the first or second class depends only on the personal taste of the individual you ask for an opinion. Enjoy our gallery and compare old and new luxury cars.
Back to home page


THE DEER HUNTER A film review by David Landers Copyright 1997 David Landers
RATING: **** out of **** - 9.5 out of 10.0 CAST: Robert De Niro (Michael), Christopher Walken (Nick), Meryl Streep (Linda), John Cazale (Stan), John Savage (Steven), George Dzundza (John), Chuck Aspegren (Axel) DIRECTOR: Michael Cimino CERTIFICATION: R (USA) for violence, language, brief nudity, and horrific war scenes YEAR OF PRODUCTION: 1978 ACADEMY AWARDS: Best Picture, Best Director (Cimino), Best Supporting Actor (Walken), Film Editing (Peter Zinner II)
THE DEER HUNTER, directed by Michael Cimino, is truly one of the greatest movies ever made. A captivating drama about the lives of a group of friends from a small Russian-American Pennsylvania community, THE DEER HUNTER promises to be one of those movies that you will never forget. In this Academy Award winner for Best Picture of 1978, outstanding performances are turned in by all actors, and Cimino's brilliant directing provides the perfect vision into the character's lives.
The first act of the film provides us with an inside look into the lives of a group of men from a small community who work and hang out together. Michael, portrayed perfectly by Robert De Niro, is shown early on as the natural leader of the group. After a days work, the men leave their jobs at a factory to head down to the local bar, where John (George Dzundza) works. Three of the men, Michael, Steven (John Savage), and Nick (Christopher Walken) will be leaving shortly for Vietnam, but not before Steven gets married. After the marriage, the group, including Axel (Chuck Aspegren), spend one last day on a hunting trip, one of their favorite past-times.
This sequence of events enables us to view the lifestyle of a normal group of men, who will be suddenly and permanently affected by the ravages and separations of war. The wedding scenes, although criticized by many as being quite long, actually enhance even more the purpose of the first act. The outstanding performances by De Niro, Walken, Streep, Savage, and Cazale, who died very shortly after the filming of the movie was completed, really begin to shine through and promise not to halt in the near future.
The second act of the movie begins with the trio of men on the front lines in Vietnam, stationed in a South Vietnamese village being attacked by the Viet Cong. The men are eventually captured and held in a floating prison on a river. This prison, run by the V.C., initiates the horrifying scenes in the movie, where the prisoners are forced to play Russian roulette against each other. Steven, who is emotionally marred by this turn of events, is secluded in a tiger cage with water up to his face when he refuses to participate. Michael shows his leadership again by convincing Nick that the only way that Steven will survive is if the two friends play against each other, and moreover, they must play with 3 bullets in the gun. Personally, I felt that De Niro's absolutely gripping portrayal really was displayed in a brilliant way in these and the following scenes.
The men are eventually able to escape, but are separated. Michael is able to get Steven, who ends up losing his legs, to medical care, while Nick finds his way to Saigon and a U.S. Army hospital. Michael returns home and does not feel at all like a hero. He wants to avoid the celebrations and recognition that his friends would like to bestow upon him. He assumes that Nick is still lost in Vietnam.
The third act concentrates more on Walken's character, who eventually stumbles upon a small gambling operation where the game is, again, Russian roulette. Only in this game, you play for money. Michael has learned that Nick is possibly still alive and returns to Saigon to attempt to find him. The two narrowly find each other at the Russian roulette games, but do not link up until Michael discovers Nick participating in the games and tries to bring him home.
A very emotional, and, for many, a very disturbing movie, THE DEER HUNTER is a truly magnificent movie that should not be missed. The greatest performances possible are turned in by all actors, and Cimino's directing, which is considered to be at his all-time best in this film, is equally dazzling. Do not miss this film, it will captivate and astound you.
The review above was posted to the
rec.arts.movies.reviews newsgroup (de.rec.film.kritiken for German reviews).
The Internet Movie Database accepts no responsibility for the contents of the
review and has no editorial control. Unless stated otherwise, the copyright
belongs to the author.
Please direct comments/criticisms of the review to relevant newsgroups.
Broken URLs inthe reviews are the responsibility of the author.
The formatting of the review is likely to differ from the original due
to ASCII to HTML conversion.
Related links: index of all rec.arts.movies.reviews reviews


1 Cross-Validation
Prerequisites
library("tidyverse")
library("broom")
library("modelr")
library("purrr")
library("stringr")
1.1 Example: Predicting Bordeaux Wine
The bordeaux
dataset contains the prices of vintages of Bordeaux wines sold at auction in
New York, as well as the the weather and rainfall for the years of the wine.
AshenfelterAshemoreLalonde1995a uses this data was used to show that the quality of a wine vintage, as measured by its price, can largely be predicted by a small number of variables.
At the time, these prediction were not taken kindly by wine connoisseurs.[^wine]
bordeaux <- datums::bordeaux %>%
mutate(lprice = log(price / 100)) %>%
filter(!is.na(price))
The data contains 27 prices of Bordeaux wines sold at auction in New York in 1993 for vintages from 1952 to 1980; the years 1952 and 1954 were excluded because they were rarely sold. Prices are measured as an index where 100 is the price of the 1961.
The dataset also includes three predictors of the price of each vintage:
time_sv
: Time since the vintage, where 0 is 1983.wrain
: Winter (October–March) rainhrain
: Harvest (August–September) raindegrees
: Average temperature in degrees centigrade from April to September in the vintage year.
The first variable to consider is the age of the vintage and the price:
ggplot(filter(bordeaux, !is.na(price), !is.na(vint)),
aes(y = log(price), x = vint)) +
geom_point() +
geom_rug() +
geom_smooth(method = "lm")
Ashenfelter, Ashmore, and Lalonde (1995) run two models. All models were estimated using OLS with log-price as the outcome variable. The predictors in the models were:
- vintage age
- vintage age, winter rain, harvest rain
We’ll start by considering these models. Since we are running several models, we’ll define the model formulas in a list
mods_f <- list(lprice ~ time_sv,
lprice ~ time_sv + wrain + hrain + degrees)
Run each model and store the results in a data frame as list column of lm
objects:
mods_res <- tibble(
model = seq_along(mods_f),
formula = map_chr(mods_f, deparse),
mod = map(mods_f, ~ lm(.x, data = bordeaux))
)
mods_res
## # A tibble: 2 x 3
## model formula mod
## <int> <chr> <list>
## 1 1 lprice ~ time_sv <S3: lm>
## 2 2 lprice ~ time_sv + wrain + hrain + degrees <S3: lm>
Now that we have these models, extract the coefficients into a data frame with the broom function tidy
:
mods_coefs <- mods_res %>%
# Add column with the results of tidy for each model
# conf.int = TRUE adds confidence intervals to the data
mutate(tidy = map(mod, tidy, conf.int = TRUE)) %>%
# use unnest() to expand the data frame to one row for each row in the tidy
# elements
unnest(tidy, .drop = TRUE)
glimpse(mods_coefs)
## Observations: 7
## Variables: 9
## $ model <int> 1, 1, 2, 2, 2, 2, 2
## $ formula <chr> "lprice ~ time_sv", "lprice ~ time_sv", "lprice ~ ti...
## $ term <chr> "(Intercept)", "time_sv", "(Intercept)", "time_sv", ...
## $ estimate <dbl> -2.025199170, 0.035429560, -12.145333577, 0.02384741...
## $ std.error <dbl> 0.2472286519, 0.0136624941, 1.6881026571, 0.00716671...
## $ statistic <dbl> -8.191604, 2.593199, -7.194665, 3.327521, 2.420525, ...
## $ p.value <dbl> 1.522111e-08, 1.566635e-02, 3.278791e-07, 3.055739e-...
## $ conf.low <dbl> -2.534376e+00, 7.291126e-03, -1.564624e+01, 8.984546...
## $ conf.high <dbl> -1.516022230, 0.063567993, -8.644422940, 0.038710280...
walk(mods_res$mod, ~ print(summary(.x)))
##
## Call:
## lm(formula = .x, data = bordeaux)
##
## Residuals:
## Min 1Q Median 3Q Max
## -0.8545 -0.4788 -0.0718 0.4562 1.2457
##
## Coefficients:
## Estimate Std. Error t value Pr(>|t|)
## (Intercept) -2.02520 0.24723 -8.192 1.52e-08 ***
## time_sv 0.03543 0.01366 2.593 0.0157 *
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## Residual standard error: 0.5745 on 25 degrees of freedom
## Multiple R-squared: 0.212, Adjusted R-squared: 0.1804
## F-statistic: 6.725 on 1 and 25 DF, p-value: 0.01567
##
##
## Call:
## lm(formula = .x, data = bordeaux)
##
## Residuals:
## Min 1Q Median 3Q Max
## -0.46027 -0.23864 0.01347 0.18600 0.53446
##
## Coefficients:
## Estimate Std. Error t value Pr(>|t|)
## (Intercept) -1.215e+01 1.688e+00 -7.195 3.28e-07 ***
## time_sv 2.385e-02 7.167e-03 3.328 0.00306 **
## wrain 1.167e-03 4.820e-04 2.421 0.02420 *
## hrain -3.861e-03 8.075e-04 -4.781 8.97e-05 ***
## degrees 6.164e-01 9.518e-02 6.476 1.63e-06 ***
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## Residual standard error: 0.2865 on 22 degrees of freedom
## Multiple R-squared: 0.8275, Adjusted R-squared: 0.7962
## F-statistic: 26.39 on 4 and 22 DF, p-value: 4.058e-08
Likewise, extract model statistics such as, \(R^2\), adjusted \(R^2\), and \(\hat{\sigma}\):
mods_glance <-
mutate(mods_res, .x = map(mod, glance)) %>%
unnest(.x, .drop = TRUE)
mods_glance %>%
select(formula, r.squared, adj.r.squared, sigma)
## # A tibble: 2 x 4
## formula r.squared adj.r.squared sigma
## <chr> <dbl> <dbl> <dbl>
## 1 lprice ~ time_sv 0.212 0.180 0.574
## 2 lprice ~ time_sv + wrain + hrain + degrees 0.828 0.796 0.287
1.2 Cross Validation
k <- 20
f <- map(seq_len(k),
~ as.formula(str_c("lprice ~ poly(time_sv, ", .x, ")")))
names(f) <- seq_len(k)
mods_overfit <- map(f, ~ lm(.x, data = bordeaux))
fits <- map_df(mods_overfit, glance, .id = ".id")
fits %>%
select(.id, r.squared, adj.r.squared, df.residual) %>%
gather(stat, value, -.id) %>%
mutate(.id = as.integer(.id)) %>%
ggplot(aes(x = .id, y = value)) +
geom_point() +
geom_line() +
facet_wrap(~ stat, ncol = 2, scales = "free")
The larger the polynomial, the more wiggly the line.
library("modelr")
invoke(gather_predictions, .x = c(list(data = bordeaux), mods_overfit)) %>%
ggplot(aes(x = vint)) +
geom_point(aes(y = lprice)) +
geom_line(aes(y = pred, group = model, colour = as.numeric(model)))
Intuitively it seems that as we increase the flexibility of the model by increasing the number of variables the model is overfitting the data, but what does it actually mean to overfit? If we use \(R^2\) as the “measure of fit”, more variables always leads to better fit. Adjusted \(R^2\) does not increase, because the decrease in errors is offset by the increase in the degrees of freedom. However, there is little justification for the specific formula of \(R^2\).
The problem with over-fitting is that the model starts to fit peculiarities of the sample (errors) rather than the true model. Since we never know the true model, all we can check is if the model predicts new data.
1.3 Out-of-Sample Error
To compare predictive models, we want to compare how well they predicts (duh). This means estimating how well it will work on new data. The problem with this is that new data is just that, …, new.
The trick is to reuse the sample data to get an estimate of how well the model will work on new data. This is done by fitting the model on a subset of the data, and predicting another subset of the data which was not used to fit the model; often this is done repeatedly. There are a variety of ways to do this, depending on the nature of the data and the predictive task. However, they all implicitly assume that the sample of data that was used to fit the model is representative of future data.
many_mods <- list(
lprice ~ time_sv,
lprice ~ wrain,
lprice ~ hrain,
lprice ~ degrees,
lprice ~ wrain + hrain + degrees,
lprice ~ time_sv + wrain + hrain + degrees,
lprice ~ time_sv + wrain * hrain * degrees,
lprice ~ time_sv * (wrain + hrain + degrees),
lprice ~ time_sv * wrain * hrain * degrees
)
1.3.1 Held-out data
A common rule of thumb is to use 70% of the data for training, and 30% of the data for testing.
In this case, let’s partition the data to use the first 70% of the observations as training data, and the remaining 30% of the data as testing.
n_test <- round(0.3 * nrow(bordeaux))
n_train <- nrow(bordeaux) - n_test
mod_train <- lm(lprice ~ time_sv + wrain + hrain + degrees,
data = head(bordeaux, n_train))
mod_train
##
## Call:
## lm(formula = lprice ~ time_sv + wrain + hrain + degrees, data = head(bordeaux,
## n_train))
##
## Coefficients:
## (Intercept) time_sv wrain hrain degrees
## -1.080e+01 1.999e-02 9.712e-04 -4.461e-03 5.533e-01
# in-sample RMSE
sqrt(mean(mod_train$residuals ^ 2))
## [1] 0.2280059
The out-of-sample RMSE is higher than the in-sample RMSE.
outsample <- augment(mod_train, newdata = tail(bordeaux, n_test))
sqrt(mean( (outsample$lprice - outsample$.fitted) ^ 2))
## [1] 0.351573
This is common, but not necessarily the case. But note that this value is highly dependent on the subset of data used for testing. In some sense, we may choose as model that “overfits” the testing data.
1.3.2 k-fold Cross-validation
A more robust approach is to repeat this training/testing split multiple times.
The most common approach is to to partition the data into k-folds, and use each fold once as the testing subset, where the model is fit on the other \(k - 1\) folds.
A common rule of thumb is to use 5 to 10 folds.
cv <- modelr::crossv_kfold(bordeaux, k = 10)
cv_rmse <- function(f, cv) {
fits <- map(cv$train, ~ lm(f, data = .x, model = FALSE))
}
TODO: plot of observations included in testing and training folds
TODO: plot cross validation results
TODO: Do model comparison
1.3.3 Leave-one-Out Cross-Validation
Leave-one-out cross validation estimates is a \(k\)-fold cross-validation with folds equal to the number of observations. The model is fit \(n\) times, leaving training the model on \(n - 1\) observations and predicted the remaining observation.
cv <- modelr::crossv_kfold(bordeaux, k = nrow(bordeaux))
1.4 Approximations
For some models, notably linear regression, analytical approximations to the expected out of sample error can be made. Each of these approximations will make some slightly different assumptions to plug in some unknown values.
In linear regression, the LOO-CV MSE can be calculated analytically, and without simulation. It is (ISLR, p. 180): \[ \text{LOO-CV} = \frac{1}{n} \sum_{i = 1}^n {\left(\frac{y_i - \hat{y}_i}{1 - h_i} \right)}^2 = \frac{1}{n} \sum_{i = 1}^n {\left(\frac{\hat{\epsilon}_i}{1 - h_i} \right)}^2 = \frac{1}{n} \times \text{PRESS} \] where PRESS is the predictive residual sum of squares, and \(h_i\) is the hat-value of observation \(i\) [@Fox2016a, p. 270, 289], \[ h_i = \Mat{X}(\Mat{X}' \Mat{X})^{-1} \Mat{X}' \]
loocv <- function(x) {
mean( (residuals(x) / (1 - hatvalues(x))) ^ 2)
}
An alternative approximation of the expected out-of-sample error is the generalized cross-validation criterion (GCV) is [@Fox2016a], \[ \text{GCV} = \frac{n \times RSS}{df_{res}^2} = \frac{n \sum \hat{\epsilon}^2}{(n - k - 1)^2} \]
gcv <- function(x) {
err <- residuals(x)
rss <- sum(err ^ 2)
length(err) * rss / (x[["df.residual"]] ^ 2)
}
Other measures that are also equivalent to some form of an estimate of the out-of-sample error are the AIC and BIC.


$projectname
$projectnumber
$projectbrief
Related Links:
Project Home
Project Doc Home
All Projects Home
Home Site


This test-case is intended for Issue #3703 - Single node can't be accessed from an array returned by $$. Jan Odvarko<EMAIL_ADDRESS>$$("li")[1];
>>> $$("li")[1]; <li>


{% extends "layout.html" %} {% block content %} Connect with Facebook
To generate messages that you would say, please connect with Facebook. Don't worry-- we don't store any information.


Namespace Rezolver.Targets
Classes
AutoFactoryTarget
A target that builds a delegate (potentially parameterised) by wrapping another target, typically resolved from the container.
When the delegate is executed, the delegate will execute the same code as would've been executed had the dependency from the inner target been directly injected. This allows applications which use factory delegates to build components to use Rezolver containers as the mechanism for doing this directly instead of having to resort to mechanisms such as IServiceProvider etc.
ChangeTypeTarget
This target is specifically used for explicitly casting the result of one target to another type. Its use is rare, since the framework already caters for downcasting the result of targets to base types.
ConstructorTarget
A target that binds to a type's constructor with zero or more arguments supplied by other ITargets and, optionally binding to the new instance's writeable properties.
The target supports en explicitly supplied constructor, as well as just-in-time lookups for the best available constructor based on the available services and/or any named arguments which might been provided up front.
DecoratorTarget
Represents the action of implementing a common DecoratedType by decorating one instance (produced by DecoratedTarget) with another (InnerTarget).
NOTE - You shouldn't register or otherwise create instances of this target unless you absolutely know what you're doing. Rather, decorators should be registered using the extension method RegisterDecorator<TDecorator, TDecorated>(IRootTargetContainer) or its non-generic alternative because the target needs a DecoratingTargetContainer to work properly (the creation of which is automatically handled by these extension methods).
DefaultTarget
A target that simply creates a default instance of a given type. I.e. the same as doing default(type) in C#.
DelegateTarget
An ITarget which resolve objects by executing a delegate with argument injection.
EnumerableTarget
A specialised target for creating instances of IEnumerable<T>
ExpressionTarget
A generic target for all expressions not explicitly supported by a particular target.
Enables more complex behaviours to be registered and used with the more formal ITarget implementations.
GenericConstructorTarget
Equivalent of ConstructorTarget but for open generic types.
So, this will handle the open generic MyType<,>, for example, whereas ConstructorTarget would handle the closed type MyType<int, string>.
ListTarget
This target produces arrays (AsArray = true
) or lists (AsArray = false
) whose
individual items are built by ITarget instances.
ObjectTarget
Implements ITarget by wrapping a single instance that's already been constructed by application code.
OptionalParameterTarget
Used specifically when binding arguments to method parameters when a parameter is optional and its default value is to be used when binding to it.
It is highly unlikely you'll ever create one of these directly.
ProjectionTarget
Target that represents the projection of an individual object of type InputType into an object of type OutputType.
Created automatically by the ProjectionTargetContainer.
ResolvedTarget
Represents a target that is rezolved statically at compile time via the ICompileContext, or dynamically (at 'resolve time') from the IContainer that is attached to the current IResolveContext when Resolve(IResolveContext) is called.
This is the most common way that we bind constructor parameters, for example - i.e. 'I want an
IService
instance - go get it'.
ScopedTarget
A target that produces or fetches a single instance of an object within a lifetime scope.
SingletonTarget
A target which applies the singleton pattern to any ITarget.
The inner target is available from the InnerTarget property.
TargetBase
Abstract base class, suggested as a starting point for implementations of ITarget.
UnscopedTarget
Wraps another target to force scoping to be ignored for the object that it produces, regardless of whether that object is IDisposable or otherwise has its own scoping behaviour.
VariantMatchTarget
Target used to wrap another when matched against a service type contravariantly or covariantly.


{% extends "../../layout.html" %} {% block sectionClasses %}plugins hasBreadCrumb plugins-spincast-session{% endblock %} {% block meta_title %}Plugins - Spincast Session{% endblock %} {% block meta_description %}Spincast Session plugin - manage sessions for the application users{% endblock %} {% block scripts %} {% endblock %} {% block body %}
This plugin provides the logic required to manage sessions associated to the users of your application.
In summary, a session
is an object containing informations about a particular user.
Those informations can be saved in the application and later associated back to the user when
he performs a new request. The default mechanism used to be able to bind such informations
to a specific user is to save a "session id"
in a cookie, on the user.
This plugin is mostly useful for your application specific needs, but it can
also be used by other plugins that need to keep informations about users.
For example, the Spincast Forms Protection plugin
uses the sessions provided by this plugin to store "CSRF
" tokens required to
protect forms, in your application.
Once the plugin and its associated filters have been properly installed, you simply need to use the SpincastSessionManager to manage sessions.
The most important method provided by this manager is getCurrentSession()
, which gives you access
to the session of the current visitor:
{% verbatim %}
public class MyClass { private final SpincastSessionManager spincastSessionManager; @Inject public MyClass(SpincastSessionManager spincastSessionManager) { this.spincastSessionManager = spincastSessionManager; } protected SpincastSessionManager getSpincastSessionManager() { return this.spincastSessionManager; } public void myRouteHandler(AppRequestContext context) { SpincastSession currentSession = getSpincastSessionManager().getCurrentSession(); Long userId = currentSession.getAttributes().getLong("userId"); if(userId != null) { User user = getUserService().getUser(userId); } // .... } }{% endverbatim %}
Explanation :
user id
").
The informations saved in the session are
named "attributes
" and they are implemented using a
JsonObject.
Note that once the plugin has been installed properly, a session returned by
SpincastSessionManager#getCurrentSession()
is never null
! If no session already exists for the current visitor, a new one is automatically created.
Since the attributes of a session are accessible on a JsonObject object, getting them in a typed way is really easy. Adding new ones too. You simply call getAttributes() on the session to have access to them.
Note that an after
filter will
take care of saving a session that has been modified during a request, you don't have to do it
manually!
If you use sessions a lot in your application, we suggest you add a
"session()
" add-on
to your custom Request Context!
By adding a new "session()
" method pointing to
SpincastSessionManager#getCurrentSession(),
you get easy access to the current session in your routes handlers:
{% verbatim %}
public void myRouteHandler(AppRequestContext context) { Long userId = context.session().getAttributes().getLong("userId"); if(userId != null) { User user = getUserService().getUser(userId); } // .... }{% endverbatim %}
The Spincast Session plugin depends on the Spincast Scheduled Tasks plugin, a plugin which is not
provided by default by the spincast-default
artifact. This dependency plugin will be automatically installed,
you don't need to install it by yourself in your application (but you can).
Just don't be surprised if you see transitive dependencies being added to your application!
It is always a good idea to read the documentation of the plugins that are automatically added. You may want to modify some of their default configurations!
This plugin work out-of-the-box, but we recommend some of the parts to be tweaked! For example, the default SpincastSessionRepository implementation, used to store the sessions, is based on cookies, and you may want a more robust solution.
But let's start with step one...
1. Add this Maven artifact to your project:
<dependency> <groupId>org.spincast</groupId> <artifactId>spincast-plugins-session</artifactId> <version>{{spincast.spincastCurrrentVersion}}</version> </dependency>
2. Add an instance of the SpincastSessionPlugin plugin to your Spincast Bootstrapper: {% verbatim %}
Spincast.configure() .plugin(new SpincastSessionPlugin()) // ...
Two filters are required for this plugin to work properly.
By default, those filters are automatically added by the plugin! You can disable this by
setting isAutoAddSessionFilters()
to false
.
The default positions used to add those filters are -100
and 100
respectively. If you let the plugin bind the filters, you can still modify those positions
by using the getAutoAddedFilterBeforePosition()
and getAutoAddedFilterAfterPosition()
configurations.
To bind the filters by yourself (if you need full control), disable isAutoAddSessionFilters() and then: {% verbatim %}
@Inject SpincastSessionFilter spincastSessionFilter; // "Before" filter router.ALL() .id(SpincastSessionFilter.ROUTE_ID_BEFORE_FILTER) .pos(-1000) .skipResourcesRequests() .handle(spincastSessionFilter::before); // "After" filter router.ALL() .id(SpincastSessionFilter.ROUTE_ID_AFTER_FILTER) .pos(200) .skipResourcesRequests() .handle(spincastSessionFilter::after);
By using the provided ids ("SpincastSessionFilter.ROUTE_ID_BEFORE_FILTER
" and
"SpincastSessionFilter.ROUTE_ID_AFTER_FILTER
") you make sure the filters will
only be added by you, since the same id can only be used once (otherwise an exception
is thrown when the application starts).
In a typical application, a custom filter that is often created and added is one to retrieve a logged in
User
from the database and add it to the request's variables,
so the user is easily accessible to the application's code.
Such UserFilter
would probably need to be added at a position after the
spincastSessionFilter::before
filter! Indeed,
the UserFilter
would use the session of the current visitor to determine
if he is a logged in user or not and, if so, what is his "userId
" (an attribute
saved in the session!). This is an example of why being able to modify the positions of
filters may be important.
This plugin is totally agnostic on how the sessions are actually persisted. It is the implementation of SpincastSessionRepository that controls how the sessions are actually saved. The default implementation is SpincastSessionRepositoryDefault which saved the sessions in a cookie on the users.
Even if a default repository is provided, we recommend that you do bind a custom repository using a real database! The default repository, that uses cookies, is somewhat limited. The number of characters that can be stored in a cookie is indeed limited...
There are four methods to implement in a custom repository:
void saveSession(SpincastSession session)
This method will be called by the plugin when a current session needs to be saved to the database.
Note that the modification date
of the session to save is
already updated when this method is called! You don't have to update it by yourself,
manually or using a database trigger.
SpincastSession getSession(String sessionId)
This method will be called by the plugin to retrieve a session saved in the database.
It must return a SpincastSession
instance, or null
if it's not found.
void deleteSession(String sessionId)
This method will be called by the plugin to delete a session.
If no session with this sessionId
exists, nothing is done.
void deleteOldInactiveSession(int sessionMaxInactiveMinutes)
This method will be called by the plugin to delete sessions that have been inactive
for more than sessionMaxInactiveMinutes
minutes.
Your query/code must use the modification date
of the saved sessions to
determine which sessions to delete.
Here's an example of an SQL script (targeting PostgreSQL
) to create a
"sessions
" table. You will probably have to adjust this query
for your own database! Or even to use something totally different if you
are not using a relational database.
{% verbatim %}
CREATE TABLE sessions ( session_id VARCHAR(36) PRIMARY KEY, attributes_serialized TEXT, creation_date TIMESTAMPTZ NOT NULL DEFAULT NOW(), modification_date TIMESTAMPTZ NOT NULL DEFAULT NOW() )
To serialize and deserialize the session's attributes
, you can
simply use the JsonObject's
toJsonString()
and JsonManager's fromString():
{% verbatim %}
InsertStatement stm = jdbc().statements().createInsertStatement(connection); stm.sql("INSERT INTO sessions( // ... stm.setString("attributes_serialized", session.getAttributes().toJsonString());
SelectStatement stm = jdbc().statements().createSelectStatement(connection); stm.sql("SELECT session_id, // ... JsonObject attributes = getJsonManager().fromString(rs.getString("attributes_serialized")); SpincastSession session = getSpincastSessionManager().createSession(rs.getString("session_id"), rs.getInstant("creation_date"), rs.getInstant("modification_date"), attributes);
The configuration interface for this plugin is SpincastSessionConfig. To change the default configurations, you can bind an implementation of that interface, extending the default SpincastSessionConfigDefault implementation if you don't want to start from scratch.
int getSessionMaxInactiveMinutes()
The number of minutes an existing session can stay inactive (not being used) before it is garbage collected by the cleanup scheduled task.
If a user with a saved session doesn't visit your application for this long, his session will be lost.
Defaults to 10080
minutes (7 days).
int getDeleteOldSessionsScheduledTaskRunEveryNbrMinutes()
How often should the scheduled task to delete the old sessions (by calling the deleteOldInactiveSession() method that you implemented) run? This configuration returns the number of minutes between two launches of the cleanup scheduled task.
Defaults to 30
minutes.
int getUpdateNotDirtySessionPeriodInSeconds()
The after
filter provided by the plugin (and that you added to your router!)
doesn't save a session that is not dirty on each and every request, simply to update its modification date
...
This wouldn't be very efficient. The filter rather saves a session that is not dirty only once during the period
specified by this configuration.
Important! This period must be shorter than the period specified by getSessionMaxInactiveMinutes() or otherwise some active sessions may be deleted!
Defaults to 300
seconds (5 minutes).
String getSessionIdCookieName()
The name of the cookie that is used to store the session id, on the user.
Defaults to "spincast_sid
".
String getDefaultCookieRepositoryCookieName()
When the default repository is used, this will be the name of the cookie used to store a session, on the user.
Defaults to "spincast_session
".
boolean isAutoAddSessionFilters()
Should the required before and after
filters be added automatically? If false
, you will have to add them by
yourself.
Defaults to true
.
int getAutoAddedFilterBeforePosition()
When the session filters are added automatically,
this will be the position of the before
filter.
Defaults to -100
.
int getAutoAddedFilterAfterPosition()
When the session filters are added automatically,
this will be the position of the after
filter.
Defaults to 100
.


Home
Projects
Contact
Get online with Startline Design!
What we are about
We are currently adding content to this site


Inside span 1
Inside span 2
Inside span 3
Inside div and outside span
Outside div and Immediately after
Outside div and Not Immediately after
Nested inside span
Not an immediate sibling
Its not even a sibling


Prototypes
These are unfinished, technical prototypes that serve to expand on an idea or to refine knowledge on a specific topic. For more in-depth, tested and unlikely to break programs, head over to Applications.
Reuse of all of these prototypes is governed under the MIT License, which states that any and all modification, even for commercial purposes is allowed, as long as attribution is present.


@madeline.m.zhang
Hi, Maddy here! Check out my links :)
Youtube (under construction)
Portfolio Website
Resume
SHEIN | extra 15% off code: "madelinem"


interface RoleInterface
RoleInterface represents a role granted to a user.
A role must either have a string representation or it needs to be explicitly supported by at least one AccessDecisionManager.
Methods
| string|null |
getRole()
Returns the role. |
Details
at line 34
public string|null
getRole()
Returns the role.
This method returns a string representation whenever possible.
When the role cannot be represented with sufficient precision by a string, it should return null.


--- layout: page permalink: contact.html title: Contact Me header-img: last-updated: 2020-10-30 5:55 PM --- {% assign theme = site.data.themes[site.ui_theme] %}
{{ content | markdownify }}


ekosustav
The Internet is the first thing that humanity has built that humanity doesn't understand, the largest experiment in anarchy that we have ever had.
- Eric Schmidt
HTML5
New open standards created in the mobile era, such as HTML5, will win.
- Steve Jobs
CSS3
The master has failed more times than the beginner has even tried.
- Stephen McCranie
JavaScript
Programming is easy like riding a bike.
- DevOps Borat


Two killed, four hurt in a collision near Hunsur
by Gayathri V RajTwo people from Chennai, were killed and four others sustained injuries in an early morning mishap near Hunsur, Mysuru district, on Sunday.
The mishap occurred near Chilkunda village when a tipper rammed into the car they were travelling.
The four passengers who were seriously injured have been admitted to a private hospital in Mysuru.
More details are awaited...


Listen: Weekend Best Bets podcast covering racing, football, golf and snooker
by Sporting LifeOur Weekend Best Bets podcast returns with selections and analysis covering horse racing, football, golf and snooker.
First up it's a weekend of head-to-heads in racing, as Altior and Cyrname clash at Ascot while Bristol De Mai takes on Lostintranslation at Haydock.
Ben Linfoot and Matt Brocklebank sit on opposite sides of both fences, but it's reputations rather than readies on the line with both advising listeners to sit back and watch a pair of mouthwatering races.
Worry not, however, as LinBank do expand the search to reveal their best racing bets before George Pitts takes you through the pick of Saturday's action in the Premier League.
Finally, Ben Coley finds one golfer hard to overlook in Dubai, while Richard Mann can barely hide his excitement ahead of snooker's UK Championship.


{% extends "admin_layout.html" %} {% block content %} {% for book in books %} Update Delete {{ book.title }} {{ book.author }} ₹{{ book.price }} {% endfor %} {% endblock %}
₹{{ book.price }}