Register Guidelines E-Books Today's Posts Search

Go Back   MobileRead Forums > E-Book Readers > Amazon Kindle > Kindle Developer's Corner

Notices

Reply
 
Thread Tools Search this Thread
Old 07-01-2012, 01:34 PM   #1
digory
Enthusiast
digory is faster than a rolling 'o,' stronger than silent 'e,' and leaps capital 'T' in a single bound!digory is faster than a rolling 'o,' stronger than silent 'e,' and leaps capital 'T' in a single bound!digory is faster than a rolling 'o,' stronger than silent 'e,' and leaps capital 'T' in a single bound!digory is faster than a rolling 'o,' stronger than silent 'e,' and leaps capital 'T' in a single bound!digory is faster than a rolling 'o,' stronger than silent 'e,' and leaps capital 'T' in a single bound!digory is faster than a rolling 'o,' stronger than silent 'e,' and leaps capital 'T' in a single bound!digory is faster than a rolling 'o,' stronger than silent 'e,' and leaps capital 'T' in a single bound!digory is faster than a rolling 'o,' stronger than silent 'e,' and leaps capital 'T' in a single bound!digory is faster than a rolling 'o,' stronger than silent 'e,' and leaps capital 'T' in a single bound!digory is faster than a rolling 'o,' stronger than silent 'e,' and leaps capital 'T' in a single bound!digory is faster than a rolling 'o,' stronger than silent 'e,' and leaps capital 'T' in a single bound!
 
Posts: 28
Karma: 50000
Join Date: Jun 2012
Device: kindle touch
Questions concerning Java

Hi there! I used the diagnostics screen jailbreak from the Kindle_Touch_Hacking wiki to get access to my Kindle Touch. I'd like to develop some cool Java applets. I've already implemented a programmer's calculator (for a start), it runs fine on my Mac inside Firefox. How can I run this from my Kindle?

In another thread I was suggested to 'package it and sign it with a developer key'. How do I do this?

Is it okay if my applet just inherits from Applet, or do I have to implement a Kindlet? If so, how can I compile it under Mac OS X before I move the classes to the Kindle?

Is there a specific command to start the applet from the shell? Is there a good example where I can copy things?

Thanks for your replies.
digory is offline   Reply With Quote
Old 07-01-2012, 01:37 PM   #2
NiLuJe
BLAM!
NiLuJe ought to be getting tired of karma fortunes by now.NiLuJe ought to be getting tired of karma fortunes by now.NiLuJe ought to be getting tired of karma fortunes by now.NiLuJe ought to be getting tired of karma fortunes by now.NiLuJe ought to be getting tired of karma fortunes by now.NiLuJe ought to be getting tired of karma fortunes by now.NiLuJe ought to be getting tired of karma fortunes by now.NiLuJe ought to be getting tired of karma fortunes by now.NiLuJe ought to be getting tired of karma fortunes by now.NiLuJe ought to be getting tired of karma fortunes by now.NiLuJe ought to be getting tired of karma fortunes by now.
 
NiLuJe's Avatar
 
Posts: 13,478
Karma: 26012494
Join Date: Jun 2010
Location: Paris, France
Device: Kindle 2i, 3g, 4, 5w, PW, PW2, PW5; Kobo H2O, Forma, Elipsa, Sage, C2E
There are a few threads about this here (some of them might even be indexed in the wiki), in the meantime, you can also look at the jailbreak's readme, there's some pointers about this in there too.
NiLuJe is offline   Reply With Quote
Advert
Old 07-01-2012, 01:55 PM   #3
digory
Enthusiast
digory is faster than a rolling 'o,' stronger than silent 'e,' and leaps capital 'T' in a single bound!digory is faster than a rolling 'o,' stronger than silent 'e,' and leaps capital 'T' in a single bound!digory is faster than a rolling 'o,' stronger than silent 'e,' and leaps capital 'T' in a single bound!digory is faster than a rolling 'o,' stronger than silent 'e,' and leaps capital 'T' in a single bound!digory is faster than a rolling 'o,' stronger than silent 'e,' and leaps capital 'T' in a single bound!digory is faster than a rolling 'o,' stronger than silent 'e,' and leaps capital 'T' in a single bound!digory is faster than a rolling 'o,' stronger than silent 'e,' and leaps capital 'T' in a single bound!digory is faster than a rolling 'o,' stronger than silent 'e,' and leaps capital 'T' in a single bound!digory is faster than a rolling 'o,' stronger than silent 'e,' and leaps capital 'T' in a single bound!digory is faster than a rolling 'o,' stronger than silent 'e,' and leaps capital 'T' in a single bound!digory is faster than a rolling 'o,' stronger than silent 'e,' and leaps capital 'T' in a single bound!
 
Posts: 28
Karma: 50000
Join Date: Jun 2012
Device: kindle touch
OK, then I should've searched a little more before posting. I'm always a quick poster.
digory is offline   Reply With Quote
Old 07-01-2012, 01:58 PM   #4
geekmaster
Carpe diem, c'est la vie.
geekmaster ought to be getting tired of karma fortunes by now.geekmaster ought to be getting tired of karma fortunes by now.geekmaster ought to be getting tired of karma fortunes by now.geekmaster ought to be getting tired of karma fortunes by now.geekmaster ought to be getting tired of karma fortunes by now.geekmaster ought to be getting tired of karma fortunes by now.geekmaster ought to be getting tired of karma fortunes by now.geekmaster ought to be getting tired of karma fortunes by now.geekmaster ought to be getting tired of karma fortunes by now.geekmaster ought to be getting tired of karma fortunes by now.geekmaster ought to be getting tired of karma fortunes by now.
 
geekmaster's Avatar
 
Posts: 6,433
Karma: 10773668
Join Date: Nov 2011
Location: Multiverse 6627A
Device: K1 to PW3
@NiLuJe: Where he asked this in the other thread (and I answered with "package and sign it" quoted above), I also said where else to look (including the hacking wikis, and the kindlet index, found in the master index sticky thread). Perhaps he wants an "exact recipe"?

@digory: A couple of hints:

1) A kindlet is a packaged and signed java applet.

2) You just put your kindlets (.azw files) into your documents folder, and open them like a book to run them.

You really should read the wikis (and threads) as I suggested instead of starting another thread asking the same question(s). We cannot force-feed this stuff into your brain while you sleep.

There really IS enough information posted to get you started. If you have trouble with certain steps in the documentation, feel free to ask, but do your "homework" first. Please...

EDIT: I see you posted while I was typing this. Please "search" in the locations that I suggested in your "Mac OSX" thread.

EDIT 2: Did you read the "How to Write Kindlets Guide"? It is where I said to look: Master Index sticky thread / Kindlet Index / "Guide: How to Write Kindlets". If that was too difficult, here is the link that you could have looked up yourself with the information that I posted when you asked this in your other thread: https://www.mobileread.com/forums/sho...d.php?t=102386

Rather than starting a new thread, you should ask questions there or in other kindlet specific threads (after reading the threads first). Otherwise you may get RTFM answers.

Last edited by geekmaster; 07-01-2012 at 02:33 PM.
geekmaster is offline   Reply With Quote
Old 07-01-2012, 02:27 PM   #5
NiLuJe
BLAM!
NiLuJe ought to be getting tired of karma fortunes by now.NiLuJe ought to be getting tired of karma fortunes by now.NiLuJe ought to be getting tired of karma fortunes by now.NiLuJe ought to be getting tired of karma fortunes by now.NiLuJe ought to be getting tired of karma fortunes by now.NiLuJe ought to be getting tired of karma fortunes by now.NiLuJe ought to be getting tired of karma fortunes by now.NiLuJe ought to be getting tired of karma fortunes by now.NiLuJe ought to be getting tired of karma fortunes by now.NiLuJe ought to be getting tired of karma fortunes by now.NiLuJe ought to be getting tired of karma fortunes by now.
 
NiLuJe's Avatar
 
Posts: 13,478
Karma: 26012494
Join Date: Jun 2010
Location: Paris, France
Device: Kindle 2i, 3g, 4, 5w, PW, PW2, PW5; Kobo H2O, Forma, Elipsa, Sage, C2E
I didn't necessarily mean it in a bad way, mind you; I was just in a bit of a hurry, I'd probably have linked the latest thread/wiki page about this otherwise .
NiLuJe is offline   Reply With Quote
Advert
Old 07-01-2012, 02:32 PM   #6
geekmaster
Carpe diem, c'est la vie.
geekmaster ought to be getting tired of karma fortunes by now.geekmaster ought to be getting tired of karma fortunes by now.geekmaster ought to be getting tired of karma fortunes by now.geekmaster ought to be getting tired of karma fortunes by now.geekmaster ought to be getting tired of karma fortunes by now.geekmaster ought to be getting tired of karma fortunes by now.geekmaster ought to be getting tired of karma fortunes by now.geekmaster ought to be getting tired of karma fortunes by now.geekmaster ought to be getting tired of karma fortunes by now.geekmaster ought to be getting tired of karma fortunes by now.geekmaster ought to be getting tired of karma fortunes by now.
 
geekmaster's Avatar
 
Posts: 6,433
Karma: 10773668
Join Date: Nov 2011
Location: Multiverse 6627A
Device: K1 to PW3
Quote:
Originally Posted by NiLuJe View Post
I didn't necessarily mean it in a bad way, mind you; I was just in a bit of a hurry, I'd probably have linked the latest thread/wiki page about this otherwise .
The hints were for HIM, not you. I realize now that I reread my post that it STARTED addressed to you and switched to him. I will clear that post up a little to distinguish just whom I am addressing. EDIT: Done! I added embedded recipient indicators (or whatever you want to call them). Communicating with humans can generate almost as many error messages as communicating with a gcc compiler.

Last edited by geekmaster; 07-01-2012 at 02:36 PM.
geekmaster is offline   Reply With Quote
Old 07-01-2012, 02:38 PM   #7
NiLuJe
BLAM!
NiLuJe ought to be getting tired of karma fortunes by now.NiLuJe ought to be getting tired of karma fortunes by now.NiLuJe ought to be getting tired of karma fortunes by now.NiLuJe ought to be getting tired of karma fortunes by now.NiLuJe ought to be getting tired of karma fortunes by now.NiLuJe ought to be getting tired of karma fortunes by now.NiLuJe ought to be getting tired of karma fortunes by now.NiLuJe ought to be getting tired of karma fortunes by now.NiLuJe ought to be getting tired of karma fortunes by now.NiLuJe ought to be getting tired of karma fortunes by now.NiLuJe ought to be getting tired of karma fortunes by now.
 
NiLuJe's Avatar
 
Posts: 13,478
Karma: 26012494
Join Date: Jun 2010
Location: Paris, France
Device: Kindle 2i, 3g, 4, 5w, PW, PW2, PW5; Kobo H2O, Forma, Elipsa, Sage, C2E
Yeah, I wasn't really clear either, but I meant it more as a kind of general comment about my first answer, not particularly aimed at someone .

That's why I usually do the @someone: thing in my answers, though, it helps avoiding some arguments . (But I'm currently on an OS X box, and the azerty mac kb layout is just plain braindead [seriously, I need *3* fingers to type a bracket or a pipe... >_<"], so I tend to avoid looking away from the 26 letters block ;D).
NiLuJe is offline   Reply With Quote
Old 07-01-2012, 02:48 PM   #8
digory
Enthusiast
digory is faster than a rolling 'o,' stronger than silent 'e,' and leaps capital 'T' in a single bound!digory is faster than a rolling 'o,' stronger than silent 'e,' and leaps capital 'T' in a single bound!digory is faster than a rolling 'o,' stronger than silent 'e,' and leaps capital 'T' in a single bound!digory is faster than a rolling 'o,' stronger than silent 'e,' and leaps capital 'T' in a single bound!digory is faster than a rolling 'o,' stronger than silent 'e,' and leaps capital 'T' in a single bound!digory is faster than a rolling 'o,' stronger than silent 'e,' and leaps capital 'T' in a single bound!digory is faster than a rolling 'o,' stronger than silent 'e,' and leaps capital 'T' in a single bound!digory is faster than a rolling 'o,' stronger than silent 'e,' and leaps capital 'T' in a single bound!digory is faster than a rolling 'o,' stronger than silent 'e,' and leaps capital 'T' in a single bound!digory is faster than a rolling 'o,' stronger than silent 'e,' and leaps capital 'T' in a single bound!digory is faster than a rolling 'o,' stronger than silent 'e,' and leaps capital 'T' in a single bound!
 
Posts: 28
Karma: 50000
Join Date: Jun 2012
Device: kindle touch
Thanks for you answers. I thought a Kindlet was something different to an Applet (not just signed, but another superclass), because of this:
https://kdk-javadocs.s3.amazonaws.com/2.0/index.html
Do I need to implement this interface?
I've downloaded the merged keystore, put it at /var/local/java/keystore/developer.keystore, then downloaded Endless Book of Sudoku, Kalculator, and KindletChineseChess. They appear on the main menu when I put them into the documents folder (aha), however I can't run them, all of them produce an error saying 'The item you attempted to open is incompatible with this Kindle. blahblah' -> Is this because they don't support Kindle Touch, or did I do something wrong?
OK, now I'm off doing my homework meaning reading the How to write Kindlets guide. Cheers
digory is offline   Reply With Quote
Old 07-01-2012, 03:02 PM   #9
geekmaster
Carpe diem, c'est la vie.
geekmaster ought to be getting tired of karma fortunes by now.geekmaster ought to be getting tired of karma fortunes by now.geekmaster ought to be getting tired of karma fortunes by now.geekmaster ought to be getting tired of karma fortunes by now.geekmaster ought to be getting tired of karma fortunes by now.geekmaster ought to be getting tired of karma fortunes by now.geekmaster ought to be getting tired of karma fortunes by now.geekmaster ought to be getting tired of karma fortunes by now.geekmaster ought to be getting tired of karma fortunes by now.geekmaster ought to be getting tired of karma fortunes by now.geekmaster ought to be getting tired of karma fortunes by now.
 
geekmaster's Avatar
 
Posts: 6,433
Karma: 10773668
Join Date: Nov 2011
Location: Multiverse 6627A
Device: K1 to PW3
Quote:
Originally Posted by digory View Post
Thanks for you answers. I thought a Kindlet was something different to an Applet (not just signed, but another superclass), because of this:
https://kdk-javadocs.s3.amazonaws.com/2.0/index.html
Do I need to implement this interface?
I've downloaded the merged keystore, put it at /var/local/java/keystore/developer.keystore, then downloaded Endless Book of Sudoku, Kalculator, and KindletChineseChess. They appear on the main menu when I put them into the documents folder (aha), however I can't run them, all of them produce an error saying 'The item you attempted to open is incompatible with this Kindle. blahblah' -> Is this because they don't support Kindle Touch, or did I do something wrong?
OK, now I'm off doing my homework meaning reading the How to write Kindlets guide. Cheers
Some kindlets only work on certain kindle models (even those you buy from the kindle store). Look at the kindlet documentation to see which kindle models it supports. Look for kindlets that support your kindle model. Non-amazon kindlets need the combined developer keystore too.
geekmaster is offline   Reply With Quote
Old 07-04-2012, 12:54 AM   #10
digory
Enthusiast
digory is faster than a rolling 'o,' stronger than silent 'e,' and leaps capital 'T' in a single bound!digory is faster than a rolling 'o,' stronger than silent 'e,' and leaps capital 'T' in a single bound!digory is faster than a rolling 'o,' stronger than silent 'e,' and leaps capital 'T' in a single bound!digory is faster than a rolling 'o,' stronger than silent 'e,' and leaps capital 'T' in a single bound!digory is faster than a rolling 'o,' stronger than silent 'e,' and leaps capital 'T' in a single bound!digory is faster than a rolling 'o,' stronger than silent 'e,' and leaps capital 'T' in a single bound!digory is faster than a rolling 'o,' stronger than silent 'e,' and leaps capital 'T' in a single bound!digory is faster than a rolling 'o,' stronger than silent 'e,' and leaps capital 'T' in a single bound!digory is faster than a rolling 'o,' stronger than silent 'e,' and leaps capital 'T' in a single bound!digory is faster than a rolling 'o,' stronger than silent 'e,' and leaps capital 'T' in a single bound!digory is faster than a rolling 'o,' stronger than silent 'e,' and leaps capital 'T' in a single bound!
 
Posts: 28
Karma: 50000
Join Date: Jun 2012
Device: kindle touch
How does the Kindle determine that a certain kindlet is not supported?
digory is offline   Reply With Quote
Old 07-04-2012, 03:28 AM   #11
MaPePeR
Connoisseur
MaPePeR can shake the floor when laughingMaPePeR can shake the floor when laughingMaPePeR can shake the floor when laughingMaPePeR can shake the floor when laughingMaPePeR can shake the floor when laughingMaPePeR can shake the floor when laughingMaPePeR can shake the floor when laughingMaPePeR can shake the floor when laughingMaPePeR can shake the floor when laughingMaPePeR can shake the floor when laughingMaPePeR can shake the floor when laughing
 
Posts: 58
Karma: 63518
Join Date: Apr 2012
Device: KT
I think we should answer those question in this thread, so that others, who look for the same answers to the same questions dont have to dig through a chain of "look there"-posts.
The topic is well choosen, so everyone who is looking for exactly that question should find it here. Then the Master Index could link here and everything would be fine.

(I also could not really find that information. The "how to write a Kindlet" thread has a lot of potential to get improved.)
MaPePeR is offline   Reply With Quote
Old 07-04-2012, 02:01 PM   #12
digory
Enthusiast
digory is faster than a rolling 'o,' stronger than silent 'e,' and leaps capital 'T' in a single bound!digory is faster than a rolling 'o,' stronger than silent 'e,' and leaps capital 'T' in a single bound!digory is faster than a rolling 'o,' stronger than silent 'e,' and leaps capital 'T' in a single bound!digory is faster than a rolling 'o,' stronger than silent 'e,' and leaps capital 'T' in a single bound!digory is faster than a rolling 'o,' stronger than silent 'e,' and leaps capital 'T' in a single bound!digory is faster than a rolling 'o,' stronger than silent 'e,' and leaps capital 'T' in a single bound!digory is faster than a rolling 'o,' stronger than silent 'e,' and leaps capital 'T' in a single bound!digory is faster than a rolling 'o,' stronger than silent 'e,' and leaps capital 'T' in a single bound!digory is faster than a rolling 'o,' stronger than silent 'e,' and leaps capital 'T' in a single bound!digory is faster than a rolling 'o,' stronger than silent 'e,' and leaps capital 'T' in a single bound!digory is faster than a rolling 'o,' stronger than silent 'e,' and leaps capital 'T' in a single bound!
 
Posts: 28
Karma: 50000
Join Date: Jun 2012
Device: kindle touch
Oh, I've searched quite a lot by now. I've managed to create a keystore that holds three keys of mine, with prefixes di, dn, dk. I've created the manifest file, signed the jar file with my three keys, renamed it as azw2. Unzipping it reveals the META information as well as my classes, which appear in folders com/digory/helloworld. The manifest file sets the Main-Class to com.digory.helloworld.Main. Main.java starts with package com.digory.helloworld. I've put the azw2 file into the documents folder of the kindle. I've merged my keystore into the keystore from the jailbreak and put it back at the right place. My HelloWorld program appears on the main screen.

However, when I try to start the program, those error messages appear. The same happens when I try to install and open any other kindlet I've downloaded from here, if it's written in Java. (The json stuff seems to work.) Of course, I merged their keys into the keystore.

EDIT: To clarify things: The keystore is at /var/local/java/keystore/developer.keystore. The following is an extract from keytool, using -list with that keystore:
Code:
didigory, Jul 2, 2012, PrivateKeyEntry, 
Certificate fingerprint (MD5): 23:3B:4C:23:2C:4A:8E:FD:93:FA:27:88:A1:B6:12:06
dkdigory, Jul 2, 2012, PrivateKeyEntry, 
Certificate fingerprint (MD5): 2E:14:FC:66:DB:1F:EC:5B:22:33:BE:09:EB:37:04:BF
dndigory, Jul 2, 2012, PrivateKeyEntry, 
Certificate fingerprint (MD5): 12:9D:08:A6:A7:AA:8D:29:80:D1:BE:E5:1D:48:30:57
kindletinteractionsupport, Jan 28, 2012, PrivateKeyEntry, 
Certificate fingerprint (MD5): 35:BF:DB:E3:9C:95:71:48:AF:1A:16:AA:DD:8B:75:06
kindletnetworksupport, Jan 28, 2012, PrivateKeyEntry, 
Certificate fingerprint (MD5): 96:7C:DF:AE:2A:ED:72:EF:7E:19:FF:28:52:FC:67:56
kindlet, Jan 28, 2012, PrivateKeyEntry, 
Certificate fingerprint (MD5): 2D:FD:88:43:0F:11:AA:7E:3C:48:11:13:3D:D6:9E:ED
Although it was never mentioned, I also tried signing my jar file with the keys kindlet, kindletnetworksupport and kindletinteractionsupport, too. This didn't help, but it revealed that the signer certificate of those keys has expired. So, I created a new keystore holding the dn, di, dk for me, as well as new kindlet, kindletnetworksupport and kindletinteractionsupport. Uploaded the keystore to /var/local/java/keystore, shutdown -r 0, then created a new azw2 that's signed with the new keys, uploaded to /mnt/us/documents, clicked on it -> same error >

Last edited by digory; 07-04-2012 at 02:52 PM.
digory is offline   Reply With Quote
Old 07-05-2012, 11:05 AM   #13
ixtab
(offline)
ixtab ought to be getting tired of karma fortunes by now.ixtab ought to be getting tired of karma fortunes by now.ixtab ought to be getting tired of karma fortunes by now.ixtab ought to be getting tired of karma fortunes by now.ixtab ought to be getting tired of karma fortunes by now.ixtab ought to be getting tired of karma fortunes by now.ixtab ought to be getting tired of karma fortunes by now.ixtab ought to be getting tired of karma fortunes by now.ixtab ought to be getting tired of karma fortunes by now.ixtab ought to be getting tired of karma fortunes by now.ixtab ought to be getting tired of karma fortunes by now.
 
ixtab's Avatar
 
Posts: 2,907
Karma: 6736092
Join Date: Dec 2011
Device: K3, K4, K5, KPW, KPW2
You can check out the font hack sources for a working kindlet. If you don't need the Kindlet Jailbreak stuff, you can just ignore it (you probably don't need it for simple Kindlets; you probably will need it for more "complex" stuff, such as accessing files etc.)

The fonthack sources also include a build.xml that takes care of the signing etc. You're probably better off by using one of the existing dev keys (dktest etc.), because there are packages to install a set of known dev keys on Kindles.
ixtab is offline   Reply With Quote
Old 07-06-2012, 02:00 AM   #14
digory
Enthusiast
digory is faster than a rolling 'o,' stronger than silent 'e,' and leaps capital 'T' in a single bound!digory is faster than a rolling 'o,' stronger than silent 'e,' and leaps capital 'T' in a single bound!digory is faster than a rolling 'o,' stronger than silent 'e,' and leaps capital 'T' in a single bound!digory is faster than a rolling 'o,' stronger than silent 'e,' and leaps capital 'T' in a single bound!digory is faster than a rolling 'o,' stronger than silent 'e,' and leaps capital 'T' in a single bound!digory is faster than a rolling 'o,' stronger than silent 'e,' and leaps capital 'T' in a single bound!digory is faster than a rolling 'o,' stronger than silent 'e,' and leaps capital 'T' in a single bound!digory is faster than a rolling 'o,' stronger than silent 'e,' and leaps capital 'T' in a single bound!digory is faster than a rolling 'o,' stronger than silent 'e,' and leaps capital 'T' in a single bound!digory is faster than a rolling 'o,' stronger than silent 'e,' and leaps capital 'T' in a single bound!digory is faster than a rolling 'o,' stronger than silent 'e,' and leaps capital 'T' in a single bound!
 
Posts: 28
Karma: 50000
Join Date: Jun 2012
Device: kindle touch
Thanks. Your azw2 does run. The reason why mine did not is that some lines in the manifest file were missing. See https://www.mobileread.com/forums/sho...2386&page=5#64

Last edited by digory; 07-06-2012 at 04:43 AM.
digory is offline   Reply With Quote
Reply


Forum Jump

Similar Threads
Thread Thread Starter Forum Replies Last Post
iLiad Java Browser? Gogolo iRex Developer's Corner 3 06-10-2008 07:04 AM
iLiad language ? java ? kran iRex Developer's Corner 12 06-10-2008 06:45 AM
FBReaderJ for Java wallcraft Reading and Management 0 12-11-2007 03:11 AM
iLiad Java on the iLiad Gavrahil iRex Developer's Corner 20 07-22-2006 03:08 AM
[Apple]Java Embedding Plugin 0.9.2: Force java to run in browsers other than Safari Zire Lounge 4 05-24-2005 09:12 PM


All times are GMT -4. The time now is 12:30 AM.


MobileRead.com is a privately owned, operated and funded community.